Skip to content

feat: add runtime UI font size multiplier (#1224)#1478

Open
AlsadiqH wants to merge 2 commits into
AlmasB:devfrom
AlsadiqH:feature/issue-1224-ui-font-multiplier
Open

feat: add runtime UI font size multiplier (#1224)#1478
AlsadiqH wants to merge 2 commits into
AlmasB:devfrom
AlsadiqH:feature/issue-1224-ui-font-multiplier

Conversation

@AlsadiqH
Copy link
Copy Markdown

Adds a global, runtime-mutable double property that scales the font size of dialog and notification text. Default 1.0 preserves existing visuals. Setting a different value via FXGL.setUIFontSizeMultiplier(value) updates all currently-displayed dialog and notification text live via JavaFX property listeners.

The property is exposed through three @JvmStatic accessors on the FXGL facade: uiFontSizeMultiplierProperty(), getUIFontSizeMultiplier(), setUIFontSizeMultiplier(value).

Implementation note: the property itself lives in a new UISettings object in fxgl-core, not on the FXGL facade, because fxgl-scene (where the dialog factory and notification view live) cannot reference fxgl upward without violating module direction. The facade delegates to UISettings, preserving the public API surface.

Touched: UISettings.kt (new), FXGL.kt, FXGLDialogFactoryServiceProvider.kt, XboxNotificationView.kt.

AlsadiqH added 2 commits May 19, 2026 16:03
Adds a global, runtime-mutable double property that scales the font size of dialog and notification text. Default 1.0 preserves existing visuals. Setting a different value via FXGL.setUIFontSizeMultiplier(value) updates all currently-displayed dialog and notification text live via JavaFX property listeners.

The property is exposed through three @JvmStatic accessors on the FXGL facade: uiFontSizeMultiplierProperty(), getUIFontSizeMultiplier(), setUIFontSizeMultiplier(value).

Implementation note: the property itself lives in a new UISettings object in fxgl-core, not on the FXGL facade, because fxgl-scene (where the dialog factory and notification view live) cannot reference fxgl upward without violating module direction. The facade delegates to UISettings, preserving the public API surface.

Touched: UISettings.kt (new), FXGL.kt, FXGLDialogFactoryServiceProvider.kt, XboxNotificationView.kt.

Note: prepared with AI-assisted pair programming, in keeping with my course's transparency policy on AI use.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant