From 415503d067477304fa67a116aa819f011ae8350b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateo=20Guzm=C3=A1n?= Date: Fri, 8 Aug 2025 01:02:03 +0200 Subject: [PATCH 1/2] Migrate YogaProps to Kotlin --- java/com/facebook/yoga/YogaProps.java | 197 -------------------------- java/com/facebook/yoga/YogaProps.kt | 197 ++++++++++++++++++++++++++ 2 files changed, 197 insertions(+), 197 deletions(-) delete mode 100644 java/com/facebook/yoga/YogaProps.java create mode 100644 java/com/facebook/yoga/YogaProps.kt diff --git a/java/com/facebook/yoga/YogaProps.java b/java/com/facebook/yoga/YogaProps.java deleted file mode 100644 index 0cad45fa..00000000 --- a/java/com/facebook/yoga/YogaProps.java +++ /dev/null @@ -1,197 +0,0 @@ -/* - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -package com.facebook.yoga; - -public interface YogaProps { - - /* Width properties */ - - void setWidth(float width); - - void setWidthPercent(float percent); - - void setWidthAuto(); - - void setWidthMaxContent(); - - void setWidthFitContent(); - - void setWidthStretch(); - - void setMinWidth(float minWidth); - - void setMinWidthPercent(float percent); - - void setMinWidthMaxContent(); - - void setMinWidthFitContent(); - - void setMinWidthStretch(); - - void setMaxWidth(float maxWidth); - - void setMaxWidthPercent(float percent); - - void setMaxWidthMaxContent(); - - void setMaxWidthFitContent(); - - void setMaxWidthStretch(); - - /* Height properties */ - - void setHeight(float height); - - void setHeightPercent(float percent); - - void setHeightAuto(); - - void setHeightMaxContent(); - - void setHeightFitContent(); - - void setHeightStretch(); - - void setMinHeight(float minHeight); - - void setMinHeightPercent(float percent); - - void setMinHeightMaxContent(); - - void setMinHeightFitContent(); - - void setMinHeightStretch(); - - void setMaxHeight(float maxHeight); - - void setMaxHeightPercent(float percent); - - void setMaxHeightMaxContent(); - - void setMaxHeightFitContent(); - - void setMaxHeightStretch(); - - /* Margin properties */ - - void setMargin(YogaEdge edge, float margin); - - void setMarginPercent(YogaEdge edge, float percent); - - void setMarginAuto(YogaEdge edge); - - /* Padding properties */ - - void setPadding(YogaEdge edge, float padding); - - void setPaddingPercent(YogaEdge edge, float percent); - - /* Position properties */ - - void setPositionType(YogaPositionType positionType); - - void setPosition(YogaEdge edge, float position); - - void setPositionPercent(YogaEdge edge, float percent); - - /* Alignment properties */ - - void setAlignContent(YogaAlign alignContent); - - void setAlignItems(YogaAlign alignItems); - - void setAlignSelf(YogaAlign alignSelf); - - /* Flex properties */ - - void setFlex(float flex); - - void setFlexBasisAuto(); - - void setFlexBasisPercent(float percent); - - void setFlexBasis(float flexBasis); - - void setFlexBasisMaxContent(); - - void setFlexBasisFitContent(); - - void setFlexBasisStretch(); - - void setFlexDirection(YogaFlexDirection direction); - - void setFlexGrow(float flexGrow); - - void setFlexShrink(float flexShrink); - - /* Other properties */ - - void setJustifyContent(YogaJustify justifyContent); - - void setDirection(YogaDirection direction); - - void setBorder(YogaEdge edge, float value); - - void setWrap(YogaWrap wrap); - - void setAspectRatio(float aspectRatio); - - void setIsReferenceBaseline(boolean isReferenceBaseline); - - void setMeasureFunction(YogaMeasureFunction measureFunction); - - void setBaselineFunction(YogaBaselineFunction yogaBaselineFunction); - - void setBoxSizing(YogaBoxSizing boxSizing); - - /* Getters */ - - YogaValue getWidth(); - - YogaValue getMinWidth(); - - YogaValue getMaxWidth(); - - YogaValue getHeight(); - - YogaValue getMinHeight(); - - YogaValue getMaxHeight(); - - YogaDirection getStyleDirection(); - - YogaFlexDirection getFlexDirection(); - - YogaJustify getJustifyContent(); - - YogaAlign getAlignItems(); - - YogaAlign getAlignSelf(); - - YogaAlign getAlignContent(); - - YogaPositionType getPositionType(); - - float getFlexGrow(); - - float getFlexShrink(); - - YogaValue getFlexBasis(); - - float getAspectRatio(); - - YogaValue getMargin(YogaEdge edge); - - YogaValue getPadding(YogaEdge edge); - - YogaValue getPosition(YogaEdge edge); - - float getBorder(YogaEdge edge); - - YogaBoxSizing getBoxSizing(); -} diff --git a/java/com/facebook/yoga/YogaProps.kt b/java/com/facebook/yoga/YogaProps.kt new file mode 100644 index 00000000..10b4dace --- /dev/null +++ b/java/com/facebook/yoga/YogaProps.kt @@ -0,0 +1,197 @@ +/* + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +package com.facebook.yoga + +public interface YogaProps { + + /* Width properties */ + + public fun setWidth(width: Float) + + public fun setWidthPercent(percent: Float) + + public fun setWidthAuto() + + public fun setWidthMaxContent() + + public fun setWidthFitContent() + + public fun setWidthStretch() + + public fun setMinWidth(minWidth: Float) + + public fun setMinWidthPercent(percent: Float) + + public fun setMinWidthMaxContent() + + public fun setMinWidthFitContent() + + public fun setMinWidthStretch() + + public fun setMaxWidth(maxWidth: Float) + + public fun setMaxWidthPercent(percent: Float) + + public fun setMaxWidthMaxContent() + + public fun setMaxWidthFitContent() + + public fun setMaxWidthStretch() + + /* Height properties */ + + public fun setHeight(height: Float) + + public fun setHeightPercent(percent: Float) + + public fun setHeightAuto() + + public fun setHeightMaxContent() + + public fun setHeightFitContent() + + public fun setHeightStretch() + + public fun setMinHeight(minHeight: Float) + + public fun setMinHeightPercent(percent: Float) + + public fun setMinHeightMaxContent() + + public fun setMinHeightFitContent() + + public fun setMinHeightStretch() + + public fun setMaxHeight(maxHeight: Float) + + public fun setMaxHeightPercent(percent: Float) + + public fun setMaxHeightMaxContent() + + public fun setMaxHeightFitContent() + + public fun setMaxHeightStretch() + + /* Margin properties */ + + public fun setMargin(edge: YogaEdge, margin: Float) + + public fun setMarginPercent(edge: YogaEdge, percent: Float) + + public fun setMarginAuto(edge: YogaEdge) + + /* Padding properties */ + + public fun setPadding(edge: YogaEdge, padding: Float) + + public fun setPaddingPercent(edge: YogaEdge, percent: Float) + + /* Position properties */ + + public fun setPositionType(positionType: YogaPositionType) + + public fun setPosition(edge: YogaEdge, position: Float) + + public fun setPositionPercent(edge: YogaEdge, percent: Float) + + /* Alignment properties */ + + public fun setAlignContent(alignContent: YogaAlign) + + public fun setAlignItems(alignItems: YogaAlign) + + public fun setAlignSelf(alignSelf: YogaAlign) + + /* Flex properties */ + + public fun setFlex(flex: Float) + + public fun setFlexBasisAuto() + + public fun setFlexBasisPercent(percent: Float) + + public fun setFlexBasis(flexBasis: Float) + + public fun setFlexBasisMaxContent() + + public fun setFlexBasisFitContent() + + public fun setFlexBasisStretch() + + public fun setFlexDirection(direction: YogaFlexDirection) + + public fun setFlexGrow(flexGrow: Float) + + public fun setFlexShrink(flexShrink: Float) + + /* Other properties */ + + public fun setJustifyContent(justifyContent: YogaJustify) + + public fun setDirection(direction: YogaDirection) + + public fun setBorder(edge: YogaEdge, value: Float) + + public fun setWrap(wrap: YogaWrap) + + public fun setAspectRatio(aspectRatio: Float) + + public fun setIsReferenceBaseline(isReferenceBaseline: Boolean) + + public fun setMeasureFunction(measureFunction: YogaMeasureFunction) + + public fun setBaselineFunction(yogaBaselineFunction: YogaBaselineFunction) + + public fun setBoxSizing(boxSizing: YogaBoxSizing) + + /* Getters */ + + public fun getWidth(): YogaValue + + public fun getMinWidth(): YogaValue + + public fun getMaxWidth(): YogaValue + + public fun getHeight(): YogaValue + + public fun getMinHeight(): YogaValue + + public fun getMaxHeight(): YogaValue + + public fun getStyleDirection(): YogaDirection + + public fun getFlexDirection(): YogaFlexDirection + + public fun getJustifyContent(): YogaJustify + + public fun getAlignItems(): YogaAlign + + public fun getAlignSelf(): YogaAlign + + public fun getAlignContent(): YogaAlign + + public fun getPositionType(): YogaPositionType + + public fun getFlexGrow(): Float + + public fun getFlexShrink(): Float + + public fun getFlexBasis(): YogaValue + + public fun getAspectRatio(): Float + + public fun getMargin(edge: YogaEdge): YogaValue + + public fun getPadding(edge: YogaEdge): YogaValue + + public fun getPosition(edge: YogaEdge): YogaValue + + public fun getBorder(edge: YogaEdge): Float + + public fun getBoxSizing(): YogaBoxSizing +} -- 2.50.1.windows.1 From 19b96f586eac14ef4a81b9d95df38e3f93d7359e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateo=20Guzm=C3=A1n?= Date: Fri, 15 Aug 2025 06:52:47 +0200 Subject: [PATCH 2/2] Use vals to avoid breaking Kotlin consumers --- java/com/facebook/yoga/YogaProps.kt | 36 ++++++++++++++--------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/java/com/facebook/yoga/YogaProps.kt b/java/com/facebook/yoga/YogaProps.kt index 10b4dace..8d2e1863 100644 --- a/java/com/facebook/yoga/YogaProps.kt +++ b/java/com/facebook/yoga/YogaProps.kt @@ -151,39 +151,39 @@ public interface YogaProps { /* Getters */ - public fun getWidth(): YogaValue + public val width: YogaValue - public fun getMinWidth(): YogaValue + public val minWidth: YogaValue - public fun getMaxWidth(): YogaValue + public val maxWidth: YogaValue - public fun getHeight(): YogaValue + public val height: YogaValue - public fun getMinHeight(): YogaValue + public val minHeight: YogaValue - public fun getMaxHeight(): YogaValue + public val maxHeight: YogaValue - public fun getStyleDirection(): YogaDirection + public val styleDirection: YogaDirection - public fun getFlexDirection(): YogaFlexDirection + public val flexDirection: YogaFlexDirection - public fun getJustifyContent(): YogaJustify + public val justifyContent: YogaJustify - public fun getAlignItems(): YogaAlign + public val alignItems: YogaAlign - public fun getAlignSelf(): YogaAlign + public val alignSelf: YogaAlign - public fun getAlignContent(): YogaAlign + public val alignContent: YogaAlign - public fun getPositionType(): YogaPositionType + public val positionType: YogaPositionType - public fun getFlexGrow(): Float + public val flexGrow: Float - public fun getFlexShrink(): Float + public val flexShrink: Float - public fun getFlexBasis(): YogaValue + public val flexBasis: YogaValue - public fun getAspectRatio(): Float + public val aspectRatio: Float public fun getMargin(edge: YogaEdge): YogaValue @@ -193,5 +193,5 @@ public interface YogaProps { public fun getBorder(edge: YogaEdge): Float - public fun getBoxSizing(): YogaBoxSizing + public val boxSizing: YogaBoxSizing } -- 2.50.1.windows.1