From 1227675e0a8000d6f6d5e46a9863e086446435af Mon Sep 17 00:00:00 2001 From: Emil Sjolander Date: Tue, 9 Aug 2016 04:28:20 -0700 Subject: [PATCH] Expose methods to set position Start|End Differential Revision: D3669177 fbshipit-source-id: b06f382cb89546e817a2475298cf2cad17d95a2c --- .../java/com/facebook/csslayout/CSSNode.java | 28 +++++++++++++++++++ .../com/facebook/csslayout/CSSNodeAPI.java | 4 +++ .../com/facebook/csslayout/CSSNodeJNI.java | 28 +++++++++++++++++++ 3 files changed, 60 insertions(+) diff --git a/ReactAndroid/src/main/java/com/facebook/csslayout/CSSNode.java b/ReactAndroid/src/main/java/com/facebook/csslayout/CSSNode.java index 25382a79f..1d3a8b28d 100644 --- a/ReactAndroid/src/main/java/com/facebook/csslayout/CSSNode.java +++ b/ReactAndroid/src/main/java/com/facebook/csslayout/CSSNode.java @@ -20,8 +20,10 @@ import static com.facebook.csslayout.CSSLayout.DIMENSION_WIDTH; import static com.facebook.csslayout.CSSLayout.POSITION_LEFT; import static com.facebook.csslayout.CSSLayout.POSITION_TOP; import static com.facebook.csslayout.Spacing.BOTTOM; +import static com.facebook.csslayout.Spacing.END; import static com.facebook.csslayout.Spacing.LEFT; import static com.facebook.csslayout.Spacing.RIGHT; +import static com.facebook.csslayout.Spacing.START; import static com.facebook.csslayout.Spacing.TOP; /** @@ -475,6 +477,32 @@ public class CSSNode implements CSSNodeAPI { setPositionValue(RIGHT, positionRight); } + /** + * Get this node's position start, as defined by style. + */ + @Override + public float getPositionStart() { + return style.position.get(START); + } + + @Override + public void setPositionStart(float positionStart) { + setPositionValue(START, positionStart); + } + + /** + * Get this node's position end, as defined by style. + */ + @Override + public float getPositionEnd() { + return style.position.get(END); + } + + @Override + public void setPositionEnd(float positionEnd) { + setPositionValue(END, positionEnd); + } + /** * Get this node's width, as defined in the style. */ diff --git a/ReactAndroid/src/main/java/com/facebook/csslayout/CSSNodeAPI.java b/ReactAndroid/src/main/java/com/facebook/csslayout/CSSNodeAPI.java index fd8342234..ba2d82e80 100644 --- a/ReactAndroid/src/main/java/com/facebook/csslayout/CSSNodeAPI.java +++ b/ReactAndroid/src/main/java/com/facebook/csslayout/CSSNodeAPI.java @@ -68,6 +68,10 @@ public interface CSSNodeAPI { void setPositionLeft(float positionLeft); float getPositionRight(); void setPositionRight(float positionRight); + float getPositionStart(); + void setPositionStart(float positionStart); + float getPositionEnd(); + void setPositionEnd(float positionEnd); float getStyleWidth(); void setStyleWidth(float width); float getStyleHeight(); diff --git a/ReactAndroid/src/main/java/com/facebook/csslayout/CSSNodeJNI.java b/ReactAndroid/src/main/java/com/facebook/csslayout/CSSNodeJNI.java index aad1b465c..4fd97521f 100644 --- a/ReactAndroid/src/main/java/com/facebook/csslayout/CSSNodeJNI.java +++ b/ReactAndroid/src/main/java/com/facebook/csslayout/CSSNodeJNI.java @@ -572,6 +572,34 @@ public class CSSNodeJNI implements CSSNodeAPI { jni_CSSNodeStyleSetPositionRight(mNativePointer, positionRight); } + private native float jni_CSSNodeStyleGetPositionStart(int nativePointer); + @Override + public float getPositionStart() { + assertNativeInstance(); + return jni_CSSNodeStyleGetPositionStart(mNativePointer); + } + + private native void jni_CSSNodeStyleSetPositionStart(int nativePointer, float positionStart); + @Override + public void setPositionStart(float positionStart) { + assertNativeInstance(); + jni_CSSNodeStyleSetPositionStart(mNativePointer, positionStart); + } + + private native float jni_CSSNodeStyleGetPositionEnd(int nativePointer); + @Override + public float getPositionEnd() { + assertNativeInstance(); + return jni_CSSNodeStyleGetPositionEnd(mNativePointer); + } + + private native void jni_CSSNodeStyleSetPositionEnd(int nativePointer, float positionEnd); + @Override + public void setPositionEnd(float positionEnd) { + assertNativeInstance(); + jni_CSSNodeStyleSetPositionEnd(mNativePointer, positionEnd); + } + private native float jni_CSSNodeStyleGetWidth(int nativePointer); @Override public float getStyleWidth() {