Summary: @public Stricter encapsulation of baseline and measure callbacks withing `YGNode`. Instead of invoking these callbacks directly (`node->getBaseline()(...)`), they are invoked via methods on `YGNode` (`node->baseline(...)`). This change will allow us to add the concept of a *Layout Context,* where measure and baseline functions will be able to receive an additional `void *` argument if configured accordingly. This API will be used internally for Yoga’s JNI bindings, to avoid storing a weak JNI reference for each node, and avoid reference table overflows. Changed API: - `YGNodeGetMeasureFunc()` -> `YGNodeHasMeasureFunc()` - `YGNodeGetBaselineFunc()` -> `YGNodeHasBaselineFunc()` - `YGNode::getMeasure()` -> `YGNode::hasMeasureFunc()` + `YGNode::measure()` - `YGNpde::getBaseline()` -> `YGNode::hasBaselineFunc()` + `YGNode::baseline()` Reviewed By: SidharthGuglani Differential Revision: D14099550 fbshipit-source-id: 2653ab36acc252a9747986bc88d21dac22d8c91b
YogaKit
Installation
YogaKit is available to install via CocoaPods.
pod 'YogaKit', '~> 1.7'
Getting Started
Checkout the docs here.
We also have a sample project. To try it out, clone this repo and open YogaKitSample.xcodeproj
in the YogaKitSample directory.
Contributing
We welcome all pull-requests! At Facebook we sync the open source version of YogaKit
daily, so we're always testing the latest changes.
See the CONTRIBUTING.md file for how to help out.