From 2abd9dd91b236af847db871609c8e1c95a8d7011 Mon Sep 17 00:00:00 2001 From: Sidharth Guglani Date: Thu, 28 Feb 2019 12:42:24 -0800 Subject: [PATCH] Added getters for flexWrap and flex style inputs in java bindings Summary: Added getters fro flexWrap an flex style input properties in java bindings Reviewed By: davidaurelio Differential Revision: D14207517 fbshipit-source-id: e8d2ad17b5edbdf02e69011c6d95a4de076bd366 --- java/com/facebook/yoga/YogaNode.java | 4 ++++ java/com/facebook/yoga/YogaNodeJNI.java | 10 ++++++++++ java/jni/YGJNI.cpp | 5 +++++ 3 files changed, 19 insertions(+) diff --git a/java/com/facebook/yoga/YogaNode.java b/java/com/facebook/yoga/YogaNode.java index e0744e3b..c01d0cec 100644 --- a/java/com/facebook/yoga/YogaNode.java +++ b/java/com/facebook/yoga/YogaNode.java @@ -89,6 +89,8 @@ public abstract class YogaNode { public abstract void setPositionType(YogaPositionType positionType); + public abstract YogaWrap getWrap(); + public abstract void setWrap(YogaWrap flexWrap); public abstract YogaOverflow getOverflow(); @@ -99,6 +101,8 @@ public abstract class YogaNode { public abstract void setDisplay(YogaDisplay display); + public abstract float getFlex(); + public abstract void setFlex(float flex); public abstract float getFlexGrow(); diff --git a/java/com/facebook/yoga/YogaNodeJNI.java b/java/com/facebook/yoga/YogaNodeJNI.java index c0dbccd3..790b23bf 100644 --- a/java/com/facebook/yoga/YogaNodeJNI.java +++ b/java/com/facebook/yoga/YogaNodeJNI.java @@ -351,6 +351,11 @@ public class YogaNodeJNI extends YogaNode { jni_YGNodeStyleSetPositionType(mNativePointer, positionType.intValue()); } + private static native int jni_YGNodeStyleGetFlexWrap(long nativePointer); + public YogaWrap getWrap() { + return YogaWrap.fromInt(jni_YGNodeStyleGetFlexWrap(mNativePointer)); + } + private static native void jni_YGNodeStyleSetFlexWrap(long nativePointer, int wrapType); public void setWrap(YogaWrap flexWrap) { jni_YGNodeStyleSetFlexWrap(mNativePointer, flexWrap.intValue()); @@ -376,6 +381,11 @@ public class YogaNodeJNI extends YogaNode { jni_YGNodeStyleSetDisplay(mNativePointer, display.intValue()); } + private static native float jni_YGNodeStyleGetFlex(long nativePointer); + public float getFlex() { + return jni_YGNodeStyleGetFlex(mNativePointer); + } + private static native void jni_YGNodeStyleSetFlex(long nativePointer, float flex); public void setFlex(float flex) { jni_YGNodeStyleSetFlex(mNativePointer, flex); diff --git a/java/jni/YGJNI.cpp b/java/jni/YGJNI.cpp index b8da886c..1b9726d5 100644 --- a/java/jni/YGJNI.cpp +++ b/java/jni/YGJNI.cpp @@ -584,6 +584,9 @@ YG_NODE_JNI_STYLE_PROP(jint, YGWrap, FlexWrap); YG_NODE_JNI_STYLE_PROP(jint, YGOverflow, Overflow); YG_NODE_JNI_STYLE_PROP(jint, YGDisplay, Display); +jfloat jni_YGNodeStyleGetFlex(jlong nativePointer) { + return YGNodeStyleGetFlex(_jlong2YGNodeRef(nativePointer)); +} void jni_YGNodeStyleSetFlex(jlong nativePointer, jfloat value) { YGNodeStyleSetFlex( _jlong2YGNodeRef(nativePointer), static_cast(value)); @@ -988,11 +991,13 @@ jint JNI_OnLoad(JavaVM* vm, void*) { YGMakeCriticalNativeMethod(jni_YGNodeStyleSetAlignContent), YGMakeCriticalNativeMethod(jni_YGNodeStyleGetPositionType), YGMakeCriticalNativeMethod(jni_YGNodeStyleSetPositionType), + YGMakeCriticalNativeMethod(jni_YGNodeStyleGetFlexWrap), YGMakeCriticalNativeMethod(jni_YGNodeStyleSetFlexWrap), YGMakeCriticalNativeMethod(jni_YGNodeStyleGetOverflow), YGMakeCriticalNativeMethod(jni_YGNodeStyleSetOverflow), YGMakeCriticalNativeMethod(jni_YGNodeStyleGetDisplay), YGMakeCriticalNativeMethod(jni_YGNodeStyleSetDisplay), + YGMakeCriticalNativeMethod(jni_YGNodeStyleGetFlex), YGMakeCriticalNativeMethod(jni_YGNodeStyleSetFlex), YGMakeCriticalNativeMethod(jni_YGNodeStyleGetFlexGrow), YGMakeCriticalNativeMethod(jni_YGNodeStyleSetFlexGrow),