Skip to content

Commit 80cebad

Browse files
committed
feat(text): Shape complex single-line UI text
1 parent c7272cd commit 80cebad

8 files changed

Lines changed: 411 additions & 5 deletions

File tree

Core/GameEngine/Include/GameClient/DisplayString.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ class DisplayString : public MemoryPoolObject
9191
virtual void draw( Int x, Int y, Color color, Color dropColor, Int xDrop, Int yDrop ) = 0; ///< render text with the drop shadow being at the offsets passed in
9292
virtual void getSize( Int *width, Int *height ) = 0; ///< get render size
9393
virtual Int getWidth( Int charPos = -1 ) = 0; ///< get text with up to charPos characters, 1- = all characters
94+
virtual void setComplexTextEnabled( Bool enabled ) = 0; ///< enable shaped complex text for this string
9495

9596
virtual void setUseHotkey( Bool useHotkey, Color hotKeyColor ) = 0;
9697

Core/GameEngine/Source/GameClient/GUI/GameWindowManager.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2718,6 +2718,11 @@ GameWindow *GameWindowManager::gogoGadgetTextEntry( GameWindow *parent,
27182718
data->text = TheDisplayStringManager->newDisplayString();
27192719
data->sText = TheDisplayStringManager->newDisplayString();
27202720
data->constructText = TheDisplayStringManager->newDisplayString();
2721+
// TheSuperHackers @bugfix Omar Aglan 28/08/2026 Keep editable strings on
2722+
// the legacy path until shaped caret metrics are supported.
2723+
data->text->setComplexTextEnabled(FALSE);
2724+
data->sText->setComplexTextEnabled(FALSE);
2725+
data->constructText->setComplexTextEnabled(FALSE);
27212726

27222727
// set the max for the text lengths
27232728
// data->text->allocateFixed( ENTRY_TEXT_LEN );

0 commit comments

Comments
 (0)