feat(editor): instance TextInput from a library, bundled into the edi⦠(#13345) 289d353ac5 * feat(editor): instance TextInput from a library, bundled into the editor for now Co-authored-by: hernan <hernan@rive.app>
diff --git a/.rive_head b/.rive_head index 37b556f..348efd1 100644 --- a/.rive_head +++ b/.rive_head
@@ -1 +1 @@ -0c254772d2eedb180ca5d0d740d58dfb52942ad8 +289d353ac57d5bd7b7264b258745abc3d9c8a8b6
diff --git a/dev/defs/artboard.json b/dev/defs/artboard.json index b703708..6dd68e3 100644 --- a/dev/defs/artboard.json +++ b/dev/defs/artboard.json
@@ -58,7 +58,8 @@ }, "description": "List of expanded components", "runtime": false, - "coop": false + "coop": false, + "journal": false }, "expandedFolders": { "type": "List<Id>", @@ -69,7 +70,8 @@ }, "description": "List of expanded folders", "runtime": false, - "coop": false + "coop": false, + "journal": false }, "selectedAnimations": { "type": "List<Id>", @@ -134,6 +136,28 @@ "runtime": false, "coop": false, "journal": false + }, + "previewAnimationId": { + "type": "Id", + "initialValue": "Core.missingId", + "key": { + "int": 1039, + "string": "previewanimationid" + }, + "description": "The open animation (timeline or state machine) that is a preview tab, if any.", + "runtime": false, + "coop": false, + "journal": false + }, + "artboardKind": { + "type": "uint", + "initialValue": "0", + "key": { + "int": 1072, + "string": "artboardkind" + }, + "description": "The kind of artboard that is being rendered. 0 is regular, 1 is textInput.", + "runtime": false } } } \ No newline at end of file
diff --git a/src/text/text_input.cpp b/src/text/text_input.cpp index 23fc48c..887132a 100644 --- a/src/text/text_input.cpp +++ b/src/text/text_input.cpp
@@ -114,9 +114,11 @@ { Super::update(value); #ifdef WITH_RIVE_TEXT - if (hasDirt(value, ComponentDirt::Paint | ComponentDirt::TextShape)) + if (m_textStyle != nullptr && + hasDirt(value, ComponentDirt::Paint | ComponentDirt::TextShape)) { Factory* factory = artboard()->factory(); + m_rawTextInput.font(m_textStyle->font()); m_rawTextInput.fontSize(m_textStyle->fontSize()); RawTextInput::Flags changed = m_rawTextInput.update(factory); if (enums::is_flag_set(changed, RawTextInput::Flags::shapeDirty))