Implement java bindings for custom baseline function

Summary: Implement java bindings for custom baseline function

Differential Revision: D4392516

fbshipit-source-id: 39cf6066f8e5982268becd87e54c9ab51fbf7a90
This commit is contained in:
Emil Sjolander
2017-01-10 07:03:56 -08:00
committed by Facebook Github Bot
parent 1782646723
commit c04604dbc0
5 changed files with 78 additions and 0 deletions

View File

@@ -52,6 +52,7 @@ public class YogaNode implements YogaNodeAPI<YogaNode> {
private YogaNode mParent;
private List<YogaNode> mChildren;
private YogaMeasureFunction mMeasureFunction;
private YogaBaselineFunction mBaselineFunction;
private long mNativePointer;
private Object mData;
@@ -623,6 +624,18 @@ public class YogaNode implements YogaNodeAPI<YogaNode> {
YogaMeasureMode.values()[heightMode]);
}
private native void jni_YGNodeSetHasBaselineFunc(long nativePointer, boolean hasMeasureFunc);
@Override
public void setBaselineFunction(YogaBaselineFunction baselineFunction) {
mBaselineFunction = baselineFunction;
jni_YGNodeSetHasBaselineFunc(mNativePointer, baselineFunction != null);
}
@DoNotStrip
public final float baseline(float width, float height) {
return mBaselineFunction.baseline(this, width, height);
}
@Override
public boolean isMeasureDefined() {
return mMeasureFunction != null;