Skip to content

feat: IDefaultUiValues — sistema centralizado de defaults de UI (#36) - #37

Merged
cl2raul66 merged 1 commit into
developfrom
36-feat-idefaultuivalues-sistema-centralizado-de-defaults-de-ui
Aug 30, 2026
Merged

cl2raul66 merged 1 commit into
developfrom
36-feat-idefaultuivalues-sistema-centralizado-de-defaults-de-ui

Conversation

@cl2raul66

Copy link
Copy Markdown
Owner

Implementa contrato IDefaultUiValues en Core (internal) con WindowUiDefaults, ControlUiDefaults y FontSpec como records. CoreUiDefaults lee colores via GetSysColor y aporta diccionario IReadOnlyDictionary<Type,ControlUiDefaults>. Win32UiDefaults expone defaults tematicos (IButton 30px, ILabel 23px) y FontSpec.SystemTheme.

Fix bug visual: ControlProcedures.GetDefaultFont ahora usa NONCLIENTMETRICS.lfMessageFont cacheado con DeleteObject y fallback CreateFontFromSpec DPI-aware, corrige leak de HFONT. ControlBase.MeasureText* reemplaza GetStockObject(17) por fallback tematico y soporte pre-HWND. Button.MeasureContent usa PreferredHeight del provider con escalado DPI.

Provider registrado primero en Application.Initialize y MasterRouter maneja WM_SETTINGCHANGE/WM_DPICHANGED con InvalidateDefaultFont + broadcast WM_SETFONT.

Closes #36

Versioning

ver(core): 1.4.0-preview

Implementa contrato IDefaultUiValues en Core (internal) con
WindowUiDefaults, ControlUiDefaults y FontSpec como records.
CoreUiDefaults lee colores via GetSysColor y aporta diccionario
IReadOnlyDictionary<Type,ControlUiDefaults>. Win32UiDefaults
expone defaults tematicos (IButton 30px, ILabel 23px) y
FontSpec.SystemTheme.

Fix bug visual: ControlProcedures.GetDefaultFont ahora usa
NONCLIENTMETRICS.lfMessageFont cacheado con DeleteObject y
fallback CreateFontFromSpec DPI-aware, corrige leak de HFONT.
ControlBase.MeasureText* reemplaza GetStockObject(17) por
fallback tematico y soporte pre-HWND. Button.MeasureContent
usa PreferredHeight del provider con escalado DPI.

Provider registrado primero en Application.Initialize y
MasterRouter maneja WM_SETTINGCHANGE/WM_DPICHANGED con
InvalidateDefaultFont + broadcast WM_SETFONT.

Closes #36
@cl2raul66
cl2raul66 merged commit e944bfa into develop Aug 30, 2026
@cl2raul66
cl2raul66 deleted the 36-feat-idefaultuivalues-sistema-centralizado-de-defaults-de-ui branch August 30, 2026 06:54

This branch was successfully deployed

1 active deployment
dev — 993c3464 Deployed Aug 30, 2026 by cl2raul66 via publish-preview #10
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