From e307dc22d1b34f98d8fb11961015dea797928137 Mon Sep 17 00:00:00 2001 From: Emil Sjolander Date: Fri, 12 Aug 2016 04:17:36 -0700 Subject: [PATCH] Expose alignContent to java Summary: Expose already existing alignContent property to java Reviewed By: IanChilds Differential Revision: D3709071 fbshipit-source-id: 421d75924ecc12d6d0975e342f3862cf5592f65f --- java/com/facebook/csslayout/CSSNode.java | 13 +++++++++++++ java/com/facebook/csslayout/CSSNodeAPI.java | 2 ++ java/com/facebook/csslayout/CSSNodeJNI.java | 14 ++++++++++++++ java/jni/CSSJNI.c | 1 + 4 files changed, 30 insertions(+) diff --git a/java/com/facebook/csslayout/CSSNode.java b/java/com/facebook/csslayout/CSSNode.java index 21582f3c..6ae5a472 100644 --- a/java/com/facebook/csslayout/CSSNode.java +++ b/java/com/facebook/csslayout/CSSNode.java @@ -319,6 +319,19 @@ public class CSSNode implements CSSNodeAPI { } } + @Override + public CSSAlign getAlignContent() { + return style.alignContent; + } + + @Override + public void setAlignContent(CSSAlign alignContent) { + if (style.alignContent != alignContent) { + style.alignContent = alignContent; + dirty(); + } + } + /** * Get this node's position type, as defined by style. */ diff --git a/java/com/facebook/csslayout/CSSNodeAPI.java b/java/com/facebook/csslayout/CSSNodeAPI.java index 7cd418c9..aa2dc030 100644 --- a/java/com/facebook/csslayout/CSSNodeAPI.java +++ b/java/com/facebook/csslayout/CSSNodeAPI.java @@ -47,6 +47,8 @@ public interface CSSNodeAPI { void setAlignItems(CSSAlign alignItems); CSSAlign getAlignSelf(); void setAlignSelf(CSSAlign alignSelf); + CSSAlign getAlignContent(); + void setAlignContent(CSSAlign alignContent); CSSPositionType getPositionType(); void setPositionType(CSSPositionType positionType); void setWrap(CSSWrap flexWrap); diff --git a/java/com/facebook/csslayout/CSSNodeJNI.java b/java/com/facebook/csslayout/CSSNodeJNI.java index 676729a9..90c8e982 100644 --- a/java/com/facebook/csslayout/CSSNodeJNI.java +++ b/java/com/facebook/csslayout/CSSNodeJNI.java @@ -230,6 +230,20 @@ public class CSSNodeJNI implements CSSNodeAPI { jni_CSSNodeStyleSetAlignSelf(mNativePointer, alignSelf.ordinal()); } + private native int jni_CSSNodeStyleGetAlignContent(int nativePointer); + @Override + public CSSAlign getAlignContent() { + assertNativeInstance(); + return CSSAlign.values()[jni_CSSNodeStyleGetAlignContent(mNativePointer)]; + } + + private native void jni_CSSNodeStyleSetAlignContent(int nativePointer, int alignContent); + @Override + public void setAlignContent(CSSAlign alignContent) { + assertNativeInstance(); + jni_CSSNodeStyleSetAlignContent(mNativePointer, alignContent.ordinal()); + } + private native int jni_CSSNodeStyleGetPositionType(int nativePointer); @Override public CSSPositionType getPositionType() { diff --git a/java/jni/CSSJNI.c b/java/jni/CSSJNI.c index 8f1483c3..010a93bd 100644 --- a/java/jni/CSSJNI.c +++ b/java/jni/CSSJNI.c @@ -140,6 +140,7 @@ CSS_NODE_JNI_STYLE_PROP(jint, CSSFlexDirection, FlexDirection); CSS_NODE_JNI_STYLE_PROP(jint, CSSJustify, JustifyContent); CSS_NODE_JNI_STYLE_PROP(jint, CSSAlign, AlignItems); CSS_NODE_JNI_STYLE_PROP(jint, CSSAlign, AlignSelf); +CSS_NODE_JNI_STYLE_PROP(jint, CSSAlign, AlignContent); CSS_NODE_JNI_STYLE_PROP(jint, CSSPositionType, PositionType); CSS_NODE_JNI_STYLE_PROP(jint, CSSWrapType, FlexWrap); CSS_NODE_JNI_STYLE_PROP(jint, CSSOverflow, Overflow);