chore(runtime): add new core type (#12981) ac4657c21c chore(runtime): add new core type and reduce memory size of layout properties Co-authored-by: hernan <hernan@rive.app>
diff --git a/.rive_head b/.rive_head index d460901..609cb37 100644 --- a/.rive_head +++ b/.rive_head
@@ -1 +1 @@ -eb0c54ee20880b2529a7c86253a32991cacb7b9a +ac4657c21c27ec4b99b415d54ca45a8b135fea63
diff --git a/dev/core_generator/lib/src/definition.dart b/dev/core_generator/lib/src/definition.dart index c5212df..597967b 100644 --- a/dev/core_generator/lib/src/definition.dart +++ b/dev/core_generator/lib/src/definition.dart
@@ -683,11 +683,15 @@ var getSetFieldTypes = <FieldType, List<Property>>{}; for (final definition in runtimeDefinitions) { for (final property in definition.properties) { - usedFieldTypes[property.type] ??= []; - usedFieldTypes[property.type]!.add(property); + // Group by registryType so narrow aliases (e.g. uint8) fold into their + // wider type (uint): set/get dispatch and the property field-type id + // stay shared, keeping existing keyframes and files compatible. + final registryType = property.type.registryType; + usedFieldTypes[registryType] ??= []; + usedFieldTypes[registryType]!.add(property); if (!property.isEncoded) { - getSetFieldTypes[property.type] ??= []; - getSetFieldTypes[property.type]!.add(property); + getSetFieldTypes[registryType] ??= []; + getSetFieldTypes[registryType]!.add(property); } } }
diff --git a/dev/core_generator/lib/src/field_type.dart b/dev/core_generator/lib/src/field_type.dart index 49edcd0..d8d4ae4 100644 --- a/dev/core_generator/lib/src/field_type.dart +++ b/dev/core_generator/lib/src/field_type.dart
@@ -16,6 +16,12 @@ final String _runtimeCoreType; String get runtimeCoreType => _runtimeCoreType; + /// The field type that owns registry dispatch and the property field-type id + /// for this type. Defaults to the type itself; narrow aliases (e.g. uint8) + /// override this to fold into a wider type (uint) so dispatch and the wire + /// format stay shared. + FieldType get registryType => this; + final bool storesData; FieldType(
diff --git a/dev/core_generator/lib/src/field_types/initialize.dart b/dev/core_generator/lib/src/field_types/initialize.dart index 4c94698..976fc5f 100644 --- a/dev/core_generator/lib/src/field_types/initialize.dart +++ b/dev/core_generator/lib/src/field_types/initialize.dart
@@ -3,6 +3,7 @@ import 'package:core_generator/src/field_type.dart'; import 'package:core_generator/src/field_types/bytes_field_type.dart'; import 'package:core_generator/src/field_types/callback_field_type.dart'; +import 'package:core_generator/src/field_types/uint8_field_type.dart'; late List<FieldType> fields; @@ -11,6 +12,8 @@ StringFieldType(), BytesFieldType(), UintFieldType(), + // Must come after UintFieldType: its registryType resolves `uint`. + Uint8FieldType(), DoubleFieldType(), BoolFieldType(), ColorFieldType(),
diff --git a/dev/core_generator/lib/src/field_types/uint8_field_type.dart b/dev/core_generator/lib/src/field_types/uint8_field_type.dart new file mode 100644 index 0000000..616c8fc --- /dev/null +++ b/dev/core_generator/lib/src/field_types/uint8_field_type.dart
@@ -0,0 +1,28 @@ +import '../field_type.dart'; + +/// A uint that is stored in memory as a uint8_t to save space. +/// +/// On the wire it is identical to [UintFieldType]: the same varuint encoding +/// and the same core field-type id. Only the generated C++ member type differs +/// (uint8_t instead of uint32_t). [registryType] folds it back into `uint` for +/// registry dispatch (so existing KeyFrameUint keyframes still apply) and for +/// the property field-type id (so existing files remain compatible). +class Uint8FieldType extends FieldType { + Uint8FieldType() + : super( + 'uint8', + 'CoreUintType', + cppName: 'uint8_t', + ); + + @override + String get defaultValue => '0'; + + // We do this to fix up CoreContext.invalidPropertyKey + @override + String? convertCpp(String value) => + value.replaceAll('CoreContext.', 'Core::'); + + @override + FieldType get registryType => FieldType.find('uint')!; +}
diff --git a/dev/defs/layout/layout_component_style.json b/dev/defs/layout/layout_component_style.json index b4c5fba..80e160b 100644 --- a/dev/defs/layout/layout_component_style.json +++ b/dev/defs/layout/layout_component_style.json
@@ -314,16 +314,6 @@ "description": "Flex basis value.", "bindable": true }, - "flexBasisUnitsValue": { - "type": "uint", - "initialValue": "3", - "group": "flexbasis", - "key": { - "int": 705, - "string": "flexbasisunitsvalue" - }, - "description": "Flex basis unit value" - }, "aspectRatio": { "type": "double", "initialValue": "0", @@ -335,63 +325,6 @@ "description": "Aspect ratio value.", "bindable": true }, - "edgeConstraints": { - "type": "uint", - "initialValue": "0", - "key": { - "int": 545, - "string": "edgeconstraints" - }, - "runtime": false - }, - "layoutWidthScaleType": { - "type": "uint", - "initialValue": "0", - "animates": true, - "key": { - "int": 655, - "string": "layoutwidthscaletype" - }, - "bindable": true - }, - "layoutHeightScaleType": { - "type": "uint", - "initialValue": "0", - "animates": true, - "key": { - "int": 656, - "string": "layoutheightscaletype" - }, - "bindable": true - }, - "layoutAlignmentType": { - "type": "uint", - "initialValue": "0", - "animates": true, - "key": { - "int": 632, - "string": "layoutalignmenttype" - }, - "bindable": true - }, - "animationStyleType": { - "type": "uint", - "initialValue": "0", - "key": { - "int": 589, - "string": "animationstyletype" - }, - "description": "The type of animation none|custom|inherit applied to this layout." - }, - "interpolationType": { - "type": "uint", - "initialValue": "0", - "key": { - "int": 590, - "string": "interpolationtype" - }, - "description": "The type of interpolation index in KeyframeInterpolation applied to this layout." - }, "interpolatorId": { "type": "Id", "typeRuntime": "uint", @@ -414,8 +347,75 @@ "description": "The time over which the interpolator applies.", "bindable": true }, + "flexBasisUnitsValue": { + "type": "uint8", + "initialValue": "3", + "group": "flexbasis", + "key": { + "int": 705, + "string": "flexbasisunitsvalue" + }, + "description": "Flex basis unit value" + }, + "edgeConstraints": { + "type": "uint8", + "initialValue": "0", + "key": { + "int": 545, + "string": "edgeconstraints" + }, + "runtime": false + }, + "layoutWidthScaleType": { + "type": "uint8", + "initialValue": "0", + "animates": true, + "key": { + "int": 655, + "string": "layoutwidthscaletype" + }, + "bindable": true + }, + "layoutHeightScaleType": { + "type": "uint8", + "initialValue": "0", + "animates": true, + "key": { + "int": 656, + "string": "layoutheightscaletype" + }, + "bindable": true + }, + "layoutAlignmentType": { + "type": "uint8", + "initialValue": "0", + "animates": true, + "key": { + "int": 632, + "string": "layoutalignmenttype" + }, + "bindable": true + }, + "animationStyleType": { + "type": "uint8", + "initialValue": "0", + "key": { + "int": 589, + "string": "animationstyletype" + }, + "description": "The type of animation none|custom|inherit applied to this layout." + }, + "interpolationType": { + "type": "uint8", + "initialValue": "0", + "key": { + "int": 590, + "string": "interpolationtype" + }, + "description": "The type of interpolation index in KeyframeInterpolation applied to this layout." + }, "displayValue": { - "type": "uint", + "type": "uint8", "initialValue": "0", "animates": true, "key": { @@ -426,7 +426,7 @@ "bindable": true }, "positionTypeValue": { - "type": "uint", + "type": "uint8", "initialValue": "1", "animates": true, "key": { @@ -437,7 +437,7 @@ "bindable": true }, "flexDirectionValue": { - "type": "uint", + "type": "uint8", "initialValue": "2", "animates": true, "key": { @@ -448,7 +448,7 @@ "bindable": true }, "directionValue": { - "type": "uint", + "type": "uint8", "initialValue": "0", "animates": true, "key": { @@ -459,7 +459,7 @@ "bindable": true }, "alignContentValue": { - "type": "uint", + "type": "uint8", "initialValue": "0", "animates": true, "key": { @@ -469,7 +469,7 @@ "description": "" }, "alignItemsValue": { - "type": "uint", + "type": "uint8", "initialValue": "1", "animates": true, "key": { @@ -479,7 +479,7 @@ "description": "" }, "alignSelfValue": { - "type": "uint", + "type": "uint8", "initialValue": "0", "animates": true, "key": { @@ -489,7 +489,7 @@ "description": "" }, "justifyContentValue": { - "type": "uint", + "type": "uint8", "initialValue": "0", "animates": true, "key": { @@ -499,7 +499,7 @@ "description": "" }, "flexWrapValue": { - "type": "uint", + "type": "uint8", "initialValue": "0", "animates": true, "key": { @@ -510,7 +510,7 @@ "bindable": true }, "overflowValue": { - "type": "uint", + "type": "uint8", "initialValue": "0", "animates": true, "key": { @@ -531,7 +531,7 @@ "bindable": true }, "widthUnitsValue": { - "type": "uint", + "type": "uint8", "initialValue": "1", "key": { "int": 607, @@ -540,7 +540,7 @@ "description": "" }, "heightUnitsValue": { - "type": "uint", + "type": "uint8", "initialValue": "1", "key": { "int": 608, @@ -549,7 +549,7 @@ "description": "" }, "borderLeftUnitsValue": { - "type": "uint", + "type": "uint8", "initialValue": "0", "group": "layoutborder", "key": { @@ -559,7 +559,7 @@ "description": "" }, "borderRightUnitsValue": { - "type": "uint", + "type": "uint8", "initialValue": "0", "group": "layoutborder", "key": { @@ -569,7 +569,7 @@ "description": "" }, "borderTopUnitsValue": { - "type": "uint", + "type": "uint8", "initialValue": "0", "group": "layoutborder", "key": { @@ -579,7 +579,7 @@ "description": "" }, "borderBottomUnitsValue": { - "type": "uint", + "type": "uint8", "initialValue": "0", "group": "layoutborder", "key": { @@ -589,7 +589,7 @@ "description": "" }, "marginLeftUnitsValue": { - "type": "uint", + "type": "uint8", "initialValue": "0", "group": "layoutmargin", "key": { @@ -599,7 +599,7 @@ "description": "" }, "marginRightUnitsValue": { - "type": "uint", + "type": "uint8", "initialValue": "0", "group": "layoutmargin", "key": { @@ -609,7 +609,7 @@ "description": "" }, "marginTopUnitsValue": { - "type": "uint", + "type": "uint8", "initialValue": "0", "group": "layoutmargin", "key": { @@ -619,7 +619,7 @@ "description": "" }, "marginBottomUnitsValue": { - "type": "uint", + "type": "uint8", "initialValue": "0", "group": "layoutmargin", "key": { @@ -629,7 +629,7 @@ "description": "" }, "paddingLeftUnitsValue": { - "type": "uint", + "type": "uint8", "initialValue": "0", "group": "layoutpadding", "key": { @@ -639,7 +639,7 @@ "description": "" }, "paddingRightUnitsValue": { - "type": "uint", + "type": "uint8", "initialValue": "0", "group": "layoutpadding", "key": { @@ -649,7 +649,7 @@ "description": "" }, "paddingTopUnitsValue": { - "type": "uint", + "type": "uint8", "initialValue": "0", "group": "layoutpadding", "key": { @@ -659,7 +659,7 @@ "description": "" }, "paddingBottomUnitsValue": { - "type": "uint", + "type": "uint8", "initialValue": "0", "group": "layoutpadding", "key": { @@ -669,7 +669,7 @@ "description": "" }, "positionLeftUnitsValue": { - "type": "uint", + "type": "uint8", "initialValue": "0", "group": "layoutposition", "key": { @@ -680,7 +680,7 @@ "bindable": true }, "positionRightUnitsValue": { - "type": "uint", + "type": "uint8", "initialValue": "0", "group": "layoutposition", "key": { @@ -691,7 +691,7 @@ "bindable": true }, "positionTopUnitsValue": { - "type": "uint", + "type": "uint8", "initialValue": "0", "group": "layoutposition", "key": { @@ -702,7 +702,7 @@ "bindable": true }, "positionBottomUnitsValue": { - "type": "uint", + "type": "uint8", "initialValue": "0", "group": "layoutposition", "key": { @@ -713,7 +713,7 @@ "bindable": true }, "gapHorizontalUnitsValue": { - "type": "uint", + "type": "uint8", "initialValue": "0", "group": "layoutgap", "key": { @@ -723,7 +723,7 @@ "description": "" }, "gapVerticalUnitsValue": { - "type": "uint", + "type": "uint8", "initialValue": "0", "group": "layoutgap", "key": { @@ -733,7 +733,7 @@ "description": "" }, "minWidthUnitsValue": { - "type": "uint", + "type": "uint8", "initialValue": "0", "group": "layoutmin", "key": { @@ -743,7 +743,7 @@ "description": "" }, "minHeightUnitsValue": { - "type": "uint", + "type": "uint8", "initialValue": "0", "group": "layoutmin", "key": { @@ -753,7 +753,7 @@ "description": "" }, "maxWidthUnitsValue": { - "type": "uint", + "type": "uint8", "initialValue": "0", "group": "layoutmax", "key": { @@ -763,7 +763,7 @@ "description": "" }, "maxHeightUnitsValue": { - "type": "uint", + "type": "uint8", "initialValue": "0", "group": "layoutmax", "key": {
diff --git a/include/rive/generated/constraints/scrolling/scroll_constraint_base.hpp b/include/rive/generated/constraints/scrolling/scroll_constraint_base.hpp index 91b136d..06557da 100644 --- a/include/rive/generated/constraints/scrolling/scroll_constraint_base.hpp +++ b/include/rive/generated/constraints/scrolling/scroll_constraint_base.hpp
@@ -257,6 +257,7 @@ } m_DragMultiplier = value; dragMultiplierChanged(); + notifyPropertyChanged(dragMultiplierPropertyKey); } Core* clone() const override;
diff --git a/include/rive/generated/core_registry.hpp b/include/rive/generated/core_registry.hpp index a6295d5..0a6b546 100644 --- a/include/rive/generated/core_registry.hpp +++ b/include/rive/generated/core_registry.hpp
@@ -1062,6 +1062,9 @@ case NSlicerTileModeBase::stylePropertyKey: object->as<NSlicerTileModeBase>()->style(value); break; + case LayoutComponentStyleBase::interpolatorIdPropertyKey: + object->as<LayoutComponentStyleBase>()->interpolatorId(value); + break; case LayoutComponentStyleBase::flexBasisUnitsValuePropertyKey: object->as<LayoutComponentStyleBase>()->flexBasisUnitsValue( value); @@ -1086,9 +1089,6 @@ object->as<LayoutComponentStyleBase>()->interpolationType( value); break; - case LayoutComponentStyleBase::interpolatorIdPropertyKey: - object->as<LayoutComponentStyleBase>()->interpolatorId(value); - break; case LayoutComponentStyleBase::displayValuePropertyKey: object->as<LayoutComponentStyleBase>()->displayValue(value); break; @@ -3188,6 +3188,8 @@ return object->as<NSlicerTileModeBase>()->patchIndex(); case NSlicerTileModeBase::stylePropertyKey: return object->as<NSlicerTileModeBase>()->style(); + case LayoutComponentStyleBase::interpolatorIdPropertyKey: + return object->as<LayoutComponentStyleBase>()->interpolatorId(); case LayoutComponentStyleBase::flexBasisUnitsValuePropertyKey: return object->as<LayoutComponentStyleBase>() ->flexBasisUnitsValue(); @@ -3206,8 +3208,6 @@ case LayoutComponentStyleBase::interpolationTypePropertyKey: return object->as<LayoutComponentStyleBase>() ->interpolationType(); - case LayoutComponentStyleBase::interpolatorIdPropertyKey: - return object->as<LayoutComponentStyleBase>()->interpolatorId(); case LayoutComponentStyleBase::displayValuePropertyKey: return object->as<LayoutComponentStyleBase>()->displayValue(); case LayoutComponentStyleBase::positionTypeValuePropertyKey: @@ -4376,13 +4376,13 @@ case NestedArtboardLayoutBase::instanceHeightScaleTypePropertyKey: case NSlicerTileModeBase::patchIndexPropertyKey: case NSlicerTileModeBase::stylePropertyKey: + case LayoutComponentStyleBase::interpolatorIdPropertyKey: case LayoutComponentStyleBase::flexBasisUnitsValuePropertyKey: case LayoutComponentStyleBase::layoutWidthScaleTypePropertyKey: case LayoutComponentStyleBase::layoutHeightScaleTypePropertyKey: case LayoutComponentStyleBase::layoutAlignmentTypePropertyKey: case LayoutComponentStyleBase::animationStyleTypePropertyKey: case LayoutComponentStyleBase::interpolationTypePropertyKey: - case LayoutComponentStyleBase::interpolatorIdPropertyKey: case LayoutComponentStyleBase::displayValuePropertyKey: case LayoutComponentStyleBase::positionTypeValuePropertyKey: case LayoutComponentStyleBase::flexDirectionValuePropertyKey: @@ -5021,6 +5021,8 @@ return object->is<NSlicerTileModeBase>(); case NSlicerTileModeBase::stylePropertyKey: return object->is<NSlicerTileModeBase>(); + case LayoutComponentStyleBase::interpolatorIdPropertyKey: + return object->is<LayoutComponentStyleBase>(); case LayoutComponentStyleBase::flexBasisUnitsValuePropertyKey: return object->is<LayoutComponentStyleBase>(); case LayoutComponentStyleBase::layoutWidthScaleTypePropertyKey: @@ -5033,8 +5035,6 @@ return object->is<LayoutComponentStyleBase>(); case LayoutComponentStyleBase::interpolationTypePropertyKey: return object->is<LayoutComponentStyleBase>(); - case LayoutComponentStyleBase::interpolatorIdPropertyKey: - return object->is<LayoutComponentStyleBase>(); case LayoutComponentStyleBase::displayValuePropertyKey: return object->is<LayoutComponentStyleBase>(); case LayoutComponentStyleBase::positionTypeValuePropertyKey:
diff --git a/include/rive/generated/layout/layout_component_style_base.hpp b/include/rive/generated/layout/layout_component_style_base.hpp index eda5e14..1eab78f 100644 --- a/include/rive/generated/layout/layout_component_style_base.hpp +++ b/include/rive/generated/layout/layout_component_style_base.hpp
@@ -56,15 +56,15 @@ static const uint16_t flexGrowPropertyKey = 521; static const uint16_t flexShrinkPropertyKey = 522; static const uint16_t flexBasisPropertyKey = 523; - static const uint16_t flexBasisUnitsValuePropertyKey = 705; static const uint16_t aspectRatioPropertyKey = 524; + static const uint16_t interpolatorIdPropertyKey = 591; + static const uint16_t interpolationTimePropertyKey = 592; + static const uint16_t flexBasisUnitsValuePropertyKey = 705; static const uint16_t layoutWidthScaleTypePropertyKey = 655; static const uint16_t layoutHeightScaleTypePropertyKey = 656; static const uint16_t layoutAlignmentTypePropertyKey = 632; static const uint16_t animationStyleTypePropertyKey = 589; static const uint16_t interpolationTypePropertyKey = 590; - static const uint16_t interpolatorIdPropertyKey = 591; - static const uint16_t interpolationTimePropertyKey = 592; static const uint16_t displayValuePropertyKey = 596; static const uint16_t positionTypeValuePropertyKey = 597; static const uint16_t flexDirectionValuePropertyKey = 598; @@ -133,50 +133,50 @@ float m_FlexGrow = 0.0f; float m_FlexShrink = 1.0f; float m_FlexBasis = 0.0f; - uint32_t m_FlexBasisUnitsValue = 3; float m_AspectRatio = 0.0f; - uint32_t m_LayoutWidthScaleType = 0; - uint32_t m_LayoutHeightScaleType = 0; - uint32_t m_LayoutAlignmentType = 0; - uint32_t m_AnimationStyleType = 0; - uint32_t m_InterpolationType = 0; uint32_t m_InterpolatorId = -1; float m_InterpolationTime = 0.0f; - uint32_t m_DisplayValue = 0; - uint32_t m_PositionTypeValue = 1; - uint32_t m_FlexDirectionValue = 2; - uint32_t m_DirectionValue = 0; - uint32_t m_AlignContentValue = 0; - uint32_t m_AlignItemsValue = 1; - uint32_t m_AlignSelfValue = 0; - uint32_t m_JustifyContentValue = 0; - uint32_t m_FlexWrapValue = 0; - uint32_t m_OverflowValue = 0; + uint8_t m_FlexBasisUnitsValue = 3; + uint8_t m_LayoutWidthScaleType = 0; + uint8_t m_LayoutHeightScaleType = 0; + uint8_t m_LayoutAlignmentType = 0; + uint8_t m_AnimationStyleType = 0; + uint8_t m_InterpolationType = 0; + uint8_t m_DisplayValue = 0; + uint8_t m_PositionTypeValue = 1; + uint8_t m_FlexDirectionValue = 2; + uint8_t m_DirectionValue = 0; + uint8_t m_AlignContentValue = 0; + uint8_t m_AlignItemsValue = 1; + uint8_t m_AlignSelfValue = 0; + uint8_t m_JustifyContentValue = 0; + uint8_t m_FlexWrapValue = 0; + uint8_t m_OverflowValue = 0; bool m_IntrinsicallySizedValue = false; - uint32_t m_WidthUnitsValue = 1; - uint32_t m_HeightUnitsValue = 1; - uint32_t m_BorderLeftUnitsValue = 0; - uint32_t m_BorderRightUnitsValue = 0; - uint32_t m_BorderTopUnitsValue = 0; - uint32_t m_BorderBottomUnitsValue = 0; - uint32_t m_MarginLeftUnitsValue = 0; - uint32_t m_MarginRightUnitsValue = 0; - uint32_t m_MarginTopUnitsValue = 0; - uint32_t m_MarginBottomUnitsValue = 0; - uint32_t m_PaddingLeftUnitsValue = 0; - uint32_t m_PaddingRightUnitsValue = 0; - uint32_t m_PaddingTopUnitsValue = 0; - uint32_t m_PaddingBottomUnitsValue = 0; - uint32_t m_PositionLeftUnitsValue = 0; - uint32_t m_PositionRightUnitsValue = 0; - uint32_t m_PositionTopUnitsValue = 0; - uint32_t m_PositionBottomUnitsValue = 0; - uint32_t m_GapHorizontalUnitsValue = 0; - uint32_t m_GapVerticalUnitsValue = 0; - uint32_t m_MinWidthUnitsValue = 0; - uint32_t m_MinHeightUnitsValue = 0; - uint32_t m_MaxWidthUnitsValue = 0; - uint32_t m_MaxHeightUnitsValue = 0; + uint8_t m_WidthUnitsValue = 1; + uint8_t m_HeightUnitsValue = 1; + uint8_t m_BorderLeftUnitsValue = 0; + uint8_t m_BorderRightUnitsValue = 0; + uint8_t m_BorderTopUnitsValue = 0; + uint8_t m_BorderBottomUnitsValue = 0; + uint8_t m_MarginLeftUnitsValue = 0; + uint8_t m_MarginRightUnitsValue = 0; + uint8_t m_MarginTopUnitsValue = 0; + uint8_t m_MarginBottomUnitsValue = 0; + uint8_t m_PaddingLeftUnitsValue = 0; + uint8_t m_PaddingRightUnitsValue = 0; + uint8_t m_PaddingTopUnitsValue = 0; + uint8_t m_PaddingBottomUnitsValue = 0; + uint8_t m_PositionLeftUnitsValue = 0; + uint8_t m_PositionRightUnitsValue = 0; + uint8_t m_PositionTopUnitsValue = 0; + uint8_t m_PositionBottomUnitsValue = 0; + uint8_t m_GapHorizontalUnitsValue = 0; + uint8_t m_GapVerticalUnitsValue = 0; + uint8_t m_MinWidthUnitsValue = 0; + uint8_t m_MinHeightUnitsValue = 0; + uint8_t m_MaxWidthUnitsValue = 0; + uint8_t m_MaxHeightUnitsValue = 0; bool m_LinkCornerRadius = true; float m_CornerRadiusTL = 0.0f; float m_CornerRadiusTR = 0.0f; @@ -496,21 +496,6 @@ notifyPropertyChanged(flexBasisPropertyKey); } - inline uint32_t flexBasisUnitsValue() const - { - return m_FlexBasisUnitsValue; - } - void flexBasisUnitsValue(uint32_t value) - { - if (m_FlexBasisUnitsValue == value) - { - return; - } - m_FlexBasisUnitsValue = value; - flexBasisUnitsValueChanged(); - notifyPropertyChanged(flexBasisUnitsValuePropertyKey); - } - inline float aspectRatio() const { return m_AspectRatio; } void aspectRatio(float value) { @@ -523,75 +508,6 @@ notifyPropertyChanged(aspectRatioPropertyKey); } - inline uint32_t layoutWidthScaleType() const - { - return m_LayoutWidthScaleType; - } - void layoutWidthScaleType(uint32_t value) - { - if (m_LayoutWidthScaleType == value) - { - return; - } - m_LayoutWidthScaleType = value; - layoutWidthScaleTypeChanged(); - notifyPropertyChanged(layoutWidthScaleTypePropertyKey); - } - - inline uint32_t layoutHeightScaleType() const - { - return m_LayoutHeightScaleType; - } - void layoutHeightScaleType(uint32_t value) - { - if (m_LayoutHeightScaleType == value) - { - return; - } - m_LayoutHeightScaleType = value; - layoutHeightScaleTypeChanged(); - notifyPropertyChanged(layoutHeightScaleTypePropertyKey); - } - - inline uint32_t layoutAlignmentType() const - { - return m_LayoutAlignmentType; - } - void layoutAlignmentType(uint32_t value) - { - if (m_LayoutAlignmentType == value) - { - return; - } - m_LayoutAlignmentType = value; - layoutAlignmentTypeChanged(); - notifyPropertyChanged(layoutAlignmentTypePropertyKey); - } - - inline uint32_t animationStyleType() const { return m_AnimationStyleType; } - void animationStyleType(uint32_t value) - { - if (m_AnimationStyleType == value) - { - return; - } - m_AnimationStyleType = value; - animationStyleTypeChanged(); - notifyPropertyChanged(animationStyleTypePropertyKey); - } - - inline uint32_t interpolationType() const { return m_InterpolationType; } - void interpolationType(uint32_t value) - { - if (m_InterpolationType == value) - { - return; - } - m_InterpolationType = value; - interpolationTypeChanged(); - notifyPropertyChanged(interpolationTypePropertyKey); - } - inline uint32_t interpolatorId() const { return m_InterpolatorId; } void interpolatorId(uint32_t value) { @@ -616,8 +532,86 @@ notifyPropertyChanged(interpolationTimePropertyKey); } - inline uint32_t displayValue() const { return m_DisplayValue; } - void displayValue(uint32_t value) + inline uint8_t flexBasisUnitsValue() const { return m_FlexBasisUnitsValue; } + void flexBasisUnitsValue(uint8_t value) + { + if (m_FlexBasisUnitsValue == value) + { + return; + } + m_FlexBasisUnitsValue = value; + flexBasisUnitsValueChanged(); + notifyPropertyChanged(flexBasisUnitsValuePropertyKey); + } + + inline uint8_t layoutWidthScaleType() const + { + return m_LayoutWidthScaleType; + } + void layoutWidthScaleType(uint8_t value) + { + if (m_LayoutWidthScaleType == value) + { + return; + } + m_LayoutWidthScaleType = value; + layoutWidthScaleTypeChanged(); + notifyPropertyChanged(layoutWidthScaleTypePropertyKey); + } + + inline uint8_t layoutHeightScaleType() const + { + return m_LayoutHeightScaleType; + } + void layoutHeightScaleType(uint8_t value) + { + if (m_LayoutHeightScaleType == value) + { + return; + } + m_LayoutHeightScaleType = value; + layoutHeightScaleTypeChanged(); + notifyPropertyChanged(layoutHeightScaleTypePropertyKey); + } + + inline uint8_t layoutAlignmentType() const { return m_LayoutAlignmentType; } + void layoutAlignmentType(uint8_t value) + { + if (m_LayoutAlignmentType == value) + { + return; + } + m_LayoutAlignmentType = value; + layoutAlignmentTypeChanged(); + notifyPropertyChanged(layoutAlignmentTypePropertyKey); + } + + inline uint8_t animationStyleType() const { return m_AnimationStyleType; } + void animationStyleType(uint8_t value) + { + if (m_AnimationStyleType == value) + { + return; + } + m_AnimationStyleType = value; + animationStyleTypeChanged(); + notifyPropertyChanged(animationStyleTypePropertyKey); + } + + inline uint8_t interpolationType() const { return m_InterpolationType; } + void interpolationType(uint8_t value) + { + if (m_InterpolationType == value) + { + return; + } + m_InterpolationType = value; + interpolationTypeChanged(); + notifyPropertyChanged(interpolationTypePropertyKey); + } + + inline uint8_t displayValue() const { return m_DisplayValue; } + void displayValue(uint8_t value) { if (m_DisplayValue == value) { @@ -628,8 +622,8 @@ notifyPropertyChanged(displayValuePropertyKey); } - inline uint32_t positionTypeValue() const { return m_PositionTypeValue; } - void positionTypeValue(uint32_t value) + inline uint8_t positionTypeValue() const { return m_PositionTypeValue; } + void positionTypeValue(uint8_t value) { if (m_PositionTypeValue == value) { @@ -640,8 +634,8 @@ notifyPropertyChanged(positionTypeValuePropertyKey); } - inline uint32_t flexDirectionValue() const { return m_FlexDirectionValue; } - void flexDirectionValue(uint32_t value) + inline uint8_t flexDirectionValue() const { return m_FlexDirectionValue; } + void flexDirectionValue(uint8_t value) { if (m_FlexDirectionValue == value) { @@ -652,8 +646,8 @@ notifyPropertyChanged(flexDirectionValuePropertyKey); } - inline uint32_t directionValue() const { return m_DirectionValue; } - void directionValue(uint32_t value) + inline uint8_t directionValue() const { return m_DirectionValue; } + void directionValue(uint8_t value) { if (m_DirectionValue == value) { @@ -664,8 +658,8 @@ notifyPropertyChanged(directionValuePropertyKey); } - inline uint32_t alignContentValue() const { return m_AlignContentValue; } - void alignContentValue(uint32_t value) + inline uint8_t alignContentValue() const { return m_AlignContentValue; } + void alignContentValue(uint8_t value) { if (m_AlignContentValue == value) { @@ -676,8 +670,8 @@ notifyPropertyChanged(alignContentValuePropertyKey); } - inline uint32_t alignItemsValue() const { return m_AlignItemsValue; } - void alignItemsValue(uint32_t value) + inline uint8_t alignItemsValue() const { return m_AlignItemsValue; } + void alignItemsValue(uint8_t value) { if (m_AlignItemsValue == value) { @@ -688,8 +682,8 @@ notifyPropertyChanged(alignItemsValuePropertyKey); } - inline uint32_t alignSelfValue() const { return m_AlignSelfValue; } - void alignSelfValue(uint32_t value) + inline uint8_t alignSelfValue() const { return m_AlignSelfValue; } + void alignSelfValue(uint8_t value) { if (m_AlignSelfValue == value) { @@ -700,11 +694,8 @@ notifyPropertyChanged(alignSelfValuePropertyKey); } - inline uint32_t justifyContentValue() const - { - return m_JustifyContentValue; - } - void justifyContentValue(uint32_t value) + inline uint8_t justifyContentValue() const { return m_JustifyContentValue; } + void justifyContentValue(uint8_t value) { if (m_JustifyContentValue == value) { @@ -715,8 +706,8 @@ notifyPropertyChanged(justifyContentValuePropertyKey); } - inline uint32_t flexWrapValue() const { return m_FlexWrapValue; } - void flexWrapValue(uint32_t value) + inline uint8_t flexWrapValue() const { return m_FlexWrapValue; } + void flexWrapValue(uint8_t value) { if (m_FlexWrapValue == value) { @@ -727,8 +718,8 @@ notifyPropertyChanged(flexWrapValuePropertyKey); } - inline uint32_t overflowValue() const { return m_OverflowValue; } - void overflowValue(uint32_t value) + inline uint8_t overflowValue() const { return m_OverflowValue; } + void overflowValue(uint8_t value) { if (m_OverflowValue == value) { @@ -754,8 +745,8 @@ notifyPropertyChanged(intrinsicallySizedValuePropertyKey); } - inline uint32_t widthUnitsValue() const { return m_WidthUnitsValue; } - void widthUnitsValue(uint32_t value) + inline uint8_t widthUnitsValue() const { return m_WidthUnitsValue; } + void widthUnitsValue(uint8_t value) { if (m_WidthUnitsValue == value) { @@ -766,8 +757,8 @@ notifyPropertyChanged(widthUnitsValuePropertyKey); } - inline uint32_t heightUnitsValue() const { return m_HeightUnitsValue; } - void heightUnitsValue(uint32_t value) + inline uint8_t heightUnitsValue() const { return m_HeightUnitsValue; } + void heightUnitsValue(uint8_t value) { if (m_HeightUnitsValue == value) { @@ -778,11 +769,11 @@ notifyPropertyChanged(heightUnitsValuePropertyKey); } - inline uint32_t borderLeftUnitsValue() const + inline uint8_t borderLeftUnitsValue() const { return m_BorderLeftUnitsValue; } - void borderLeftUnitsValue(uint32_t value) + void borderLeftUnitsValue(uint8_t value) { if (m_BorderLeftUnitsValue == value) { @@ -793,11 +784,11 @@ notifyPropertyChanged(borderLeftUnitsValuePropertyKey); } - inline uint32_t borderRightUnitsValue() const + inline uint8_t borderRightUnitsValue() const { return m_BorderRightUnitsValue; } - void borderRightUnitsValue(uint32_t value) + void borderRightUnitsValue(uint8_t value) { if (m_BorderRightUnitsValue == value) { @@ -808,11 +799,8 @@ notifyPropertyChanged(borderRightUnitsValuePropertyKey); } - inline uint32_t borderTopUnitsValue() const - { - return m_BorderTopUnitsValue; - } - void borderTopUnitsValue(uint32_t value) + inline uint8_t borderTopUnitsValue() const { return m_BorderTopUnitsValue; } + void borderTopUnitsValue(uint8_t value) { if (m_BorderTopUnitsValue == value) { @@ -823,11 +811,11 @@ notifyPropertyChanged(borderTopUnitsValuePropertyKey); } - inline uint32_t borderBottomUnitsValue() const + inline uint8_t borderBottomUnitsValue() const { return m_BorderBottomUnitsValue; } - void borderBottomUnitsValue(uint32_t value) + void borderBottomUnitsValue(uint8_t value) { if (m_BorderBottomUnitsValue == value) { @@ -838,11 +826,11 @@ notifyPropertyChanged(borderBottomUnitsValuePropertyKey); } - inline uint32_t marginLeftUnitsValue() const + inline uint8_t marginLeftUnitsValue() const { return m_MarginLeftUnitsValue; } - void marginLeftUnitsValue(uint32_t value) + void marginLeftUnitsValue(uint8_t value) { if (m_MarginLeftUnitsValue == value) { @@ -853,11 +841,11 @@ notifyPropertyChanged(marginLeftUnitsValuePropertyKey); } - inline uint32_t marginRightUnitsValue() const + inline uint8_t marginRightUnitsValue() const { return m_MarginRightUnitsValue; } - void marginRightUnitsValue(uint32_t value) + void marginRightUnitsValue(uint8_t value) { if (m_MarginRightUnitsValue == value) { @@ -868,11 +856,8 @@ notifyPropertyChanged(marginRightUnitsValuePropertyKey); } - inline uint32_t marginTopUnitsValue() const - { - return m_MarginTopUnitsValue; - } - void marginTopUnitsValue(uint32_t value) + inline uint8_t marginTopUnitsValue() const { return m_MarginTopUnitsValue; } + void marginTopUnitsValue(uint8_t value) { if (m_MarginTopUnitsValue == value) { @@ -883,11 +868,11 @@ notifyPropertyChanged(marginTopUnitsValuePropertyKey); } - inline uint32_t marginBottomUnitsValue() const + inline uint8_t marginBottomUnitsValue() const { return m_MarginBottomUnitsValue; } - void marginBottomUnitsValue(uint32_t value) + void marginBottomUnitsValue(uint8_t value) { if (m_MarginBottomUnitsValue == value) { @@ -898,11 +883,11 @@ notifyPropertyChanged(marginBottomUnitsValuePropertyKey); } - inline uint32_t paddingLeftUnitsValue() const + inline uint8_t paddingLeftUnitsValue() const { return m_PaddingLeftUnitsValue; } - void paddingLeftUnitsValue(uint32_t value) + void paddingLeftUnitsValue(uint8_t value) { if (m_PaddingLeftUnitsValue == value) { @@ -913,11 +898,11 @@ notifyPropertyChanged(paddingLeftUnitsValuePropertyKey); } - inline uint32_t paddingRightUnitsValue() const + inline uint8_t paddingRightUnitsValue() const { return m_PaddingRightUnitsValue; } - void paddingRightUnitsValue(uint32_t value) + void paddingRightUnitsValue(uint8_t value) { if (m_PaddingRightUnitsValue == value) { @@ -928,11 +913,11 @@ notifyPropertyChanged(paddingRightUnitsValuePropertyKey); } - inline uint32_t paddingTopUnitsValue() const + inline uint8_t paddingTopUnitsValue() const { return m_PaddingTopUnitsValue; } - void paddingTopUnitsValue(uint32_t value) + void paddingTopUnitsValue(uint8_t value) { if (m_PaddingTopUnitsValue == value) { @@ -943,11 +928,11 @@ notifyPropertyChanged(paddingTopUnitsValuePropertyKey); } - inline uint32_t paddingBottomUnitsValue() const + inline uint8_t paddingBottomUnitsValue() const { return m_PaddingBottomUnitsValue; } - void paddingBottomUnitsValue(uint32_t value) + void paddingBottomUnitsValue(uint8_t value) { if (m_PaddingBottomUnitsValue == value) { @@ -958,11 +943,11 @@ notifyPropertyChanged(paddingBottomUnitsValuePropertyKey); } - inline uint32_t positionLeftUnitsValue() const + inline uint8_t positionLeftUnitsValue() const { return m_PositionLeftUnitsValue; } - void positionLeftUnitsValue(uint32_t value) + void positionLeftUnitsValue(uint8_t value) { if (m_PositionLeftUnitsValue == value) { @@ -973,11 +958,11 @@ notifyPropertyChanged(positionLeftUnitsValuePropertyKey); } - inline uint32_t positionRightUnitsValue() const + inline uint8_t positionRightUnitsValue() const { return m_PositionRightUnitsValue; } - void positionRightUnitsValue(uint32_t value) + void positionRightUnitsValue(uint8_t value) { if (m_PositionRightUnitsValue == value) { @@ -988,11 +973,11 @@ notifyPropertyChanged(positionRightUnitsValuePropertyKey); } - inline uint32_t positionTopUnitsValue() const + inline uint8_t positionTopUnitsValue() const { return m_PositionTopUnitsValue; } - void positionTopUnitsValue(uint32_t value) + void positionTopUnitsValue(uint8_t value) { if (m_PositionTopUnitsValue == value) { @@ -1003,11 +988,11 @@ notifyPropertyChanged(positionTopUnitsValuePropertyKey); } - inline uint32_t positionBottomUnitsValue() const + inline uint8_t positionBottomUnitsValue() const { return m_PositionBottomUnitsValue; } - void positionBottomUnitsValue(uint32_t value) + void positionBottomUnitsValue(uint8_t value) { if (m_PositionBottomUnitsValue == value) { @@ -1018,11 +1003,11 @@ notifyPropertyChanged(positionBottomUnitsValuePropertyKey); } - inline uint32_t gapHorizontalUnitsValue() const + inline uint8_t gapHorizontalUnitsValue() const { return m_GapHorizontalUnitsValue; } - void gapHorizontalUnitsValue(uint32_t value) + void gapHorizontalUnitsValue(uint8_t value) { if (m_GapHorizontalUnitsValue == value) { @@ -1033,11 +1018,11 @@ notifyPropertyChanged(gapHorizontalUnitsValuePropertyKey); } - inline uint32_t gapVerticalUnitsValue() const + inline uint8_t gapVerticalUnitsValue() const { return m_GapVerticalUnitsValue; } - void gapVerticalUnitsValue(uint32_t value) + void gapVerticalUnitsValue(uint8_t value) { if (m_GapVerticalUnitsValue == value) { @@ -1048,8 +1033,8 @@ notifyPropertyChanged(gapVerticalUnitsValuePropertyKey); } - inline uint32_t minWidthUnitsValue() const { return m_MinWidthUnitsValue; } - void minWidthUnitsValue(uint32_t value) + inline uint8_t minWidthUnitsValue() const { return m_MinWidthUnitsValue; } + void minWidthUnitsValue(uint8_t value) { if (m_MinWidthUnitsValue == value) { @@ -1060,11 +1045,8 @@ notifyPropertyChanged(minWidthUnitsValuePropertyKey); } - inline uint32_t minHeightUnitsValue() const - { - return m_MinHeightUnitsValue; - } - void minHeightUnitsValue(uint32_t value) + inline uint8_t minHeightUnitsValue() const { return m_MinHeightUnitsValue; } + void minHeightUnitsValue(uint8_t value) { if (m_MinHeightUnitsValue == value) { @@ -1075,8 +1057,8 @@ notifyPropertyChanged(minHeightUnitsValuePropertyKey); } - inline uint32_t maxWidthUnitsValue() const { return m_MaxWidthUnitsValue; } - void maxWidthUnitsValue(uint32_t value) + inline uint8_t maxWidthUnitsValue() const { return m_MaxWidthUnitsValue; } + void maxWidthUnitsValue(uint8_t value) { if (m_MaxWidthUnitsValue == value) { @@ -1087,11 +1069,8 @@ notifyPropertyChanged(maxWidthUnitsValuePropertyKey); } - inline uint32_t maxHeightUnitsValue() const - { - return m_MaxHeightUnitsValue; - } - void maxHeightUnitsValue(uint32_t value) + inline uint8_t maxHeightUnitsValue() const { return m_MaxHeightUnitsValue; } + void maxHeightUnitsValue(uint8_t value) { if (m_MaxHeightUnitsValue == value) { @@ -1191,15 +1170,15 @@ m_FlexGrow = object.m_FlexGrow; m_FlexShrink = object.m_FlexShrink; m_FlexBasis = object.m_FlexBasis; - m_FlexBasisUnitsValue = object.m_FlexBasisUnitsValue; m_AspectRatio = object.m_AspectRatio; + m_InterpolatorId = object.m_InterpolatorId; + m_InterpolationTime = object.m_InterpolationTime; + m_FlexBasisUnitsValue = object.m_FlexBasisUnitsValue; m_LayoutWidthScaleType = object.m_LayoutWidthScaleType; m_LayoutHeightScaleType = object.m_LayoutHeightScaleType; m_LayoutAlignmentType = object.m_LayoutAlignmentType; m_AnimationStyleType = object.m_AnimationStyleType; m_InterpolationType = object.m_InterpolationType; - m_InterpolatorId = object.m_InterpolatorId; - m_InterpolationTime = object.m_InterpolationTime; m_DisplayValue = object.m_DisplayValue; m_PositionTypeValue = object.m_PositionTypeValue; m_FlexDirectionValue = object.m_FlexDirectionValue; @@ -1325,12 +1304,18 @@ case flexBasisPropertyKey: m_FlexBasis = CoreDoubleType::deserialize(reader); return true; - case flexBasisUnitsValuePropertyKey: - m_FlexBasisUnitsValue = CoreUintType::deserialize(reader); - return true; case aspectRatioPropertyKey: m_AspectRatio = CoreDoubleType::deserialize(reader); return true; + case interpolatorIdPropertyKey: + m_InterpolatorId = CoreUintType::deserialize(reader); + return true; + case interpolationTimePropertyKey: + m_InterpolationTime = CoreDoubleType::deserialize(reader); + return true; + case flexBasisUnitsValuePropertyKey: + m_FlexBasisUnitsValue = CoreUintType::deserialize(reader); + return true; case layoutWidthScaleTypePropertyKey: m_LayoutWidthScaleType = CoreUintType::deserialize(reader); return true; @@ -1346,12 +1331,6 @@ case interpolationTypePropertyKey: m_InterpolationType = CoreUintType::deserialize(reader); return true; - case interpolatorIdPropertyKey: - m_InterpolatorId = CoreUintType::deserialize(reader); - return true; - case interpolationTimePropertyKey: - m_InterpolationTime = CoreDoubleType::deserialize(reader); - return true; case displayValuePropertyKey: m_DisplayValue = CoreUintType::deserialize(reader); return true; @@ -1503,15 +1482,15 @@ virtual void flexGrowChanged() {} virtual void flexShrinkChanged() {} virtual void flexBasisChanged() {} - virtual void flexBasisUnitsValueChanged() {} virtual void aspectRatioChanged() {} + virtual void interpolatorIdChanged() {} + virtual void interpolationTimeChanged() {} + virtual void flexBasisUnitsValueChanged() {} virtual void layoutWidthScaleTypeChanged() {} virtual void layoutHeightScaleTypeChanged() {} virtual void layoutAlignmentTypeChanged() {} virtual void animationStyleTypeChanged() {} virtual void interpolationTypeChanged() {} - virtual void interpolatorIdChanged() {} - virtual void interpolationTimeChanged() {} virtual void displayValueChanged() {} virtual void positionTypeValueChanged() {} virtual void flexDirectionValueChanged() {}
diff --git a/include/rive/generated/text/text_base.hpp b/include/rive/generated/text/text_base.hpp index 0b60cf1..404db2a 100644 --- a/include/rive/generated/text/text_base.hpp +++ b/include/rive/generated/text/text_base.hpp
@@ -238,6 +238,7 @@ } m_VerticalTrimValue = value; verticalTrimValueChanged(); + notifyPropertyChanged(verticalTrimValuePropertyKey); } Core* clone() const override;