diff options
Diffstat (limited to 'alf/alf.cpp')
| -rw-r--r-- | alf/alf.cpp | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/alf/alf.cpp b/alf/alf.cpp index 5ee591d..f36dda3 100644 --- a/alf/alf.cpp +++ b/alf/alf.cpp @@ -43,6 +43,16 @@ ALF_UpdateFonts(HWND win) } void +ALF_ApplyFontsPriv(HWND win, ALFWindowPriv *priv) +{ + ALF_Layout_ApplyFonts(&priv->layout, win, &priv->fonts); + + if (priv->vtbl->applyfonts) { + priv->vtbl->applyfonts(priv->closure, win, &priv->fonts); + } +} + +void ALF_UpdateFontsPriv(HWND win, ALFWindowPriv *priv) { priv->fonts.dpi = priv->app->compatFn->GetDpiForWindow(win); @@ -74,11 +84,13 @@ ALF_UpdateFontsPriv(HWND win, ALFWindowPriv *priv) priv->fonts.hMessageFont = CreateFontIndirect(&priv->fonts.lfMessageFont); } - ALF_Layout_UpdateFonts(&priv->layout, win, &priv->fonts); + ALF_ApplyFontsPriv(win, priv); +} - if (priv->vtbl->updatefonts) { - priv->vtbl->updatefonts(priv->closure, win, &priv->fonts); - } +void +ALF_ApplyFonts(HWND win) +{ + SendMessage(win, ALF_WM_APPLYFONTS, 0, 0); } void @@ -167,9 +179,9 @@ ALF_DefWindowProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) return 0; } - if (msg == ALF_WM_GETWINDOWFONTS) { - *((ALFWindowFonts *)lparam) = priv->fonts; - return TRUE; + if (msg == ALF_WM_APPLYFONTS) { + ALF_ApplyFontsPriv(hwnd, priv); + return 0; } if (msg == WM_COMMAND) { @@ -709,11 +721,3 @@ ALF_WidgetAtLayoutPosition(HWND parent, UINT x, UINT y) return (HWND)SendMessage(parent, ALF_WM_GETWIDGETATPOS, 0, (LPARAM)&xy); } - - -BOOL -ALF_WindowFonts(HWND window, ALFWindowFonts *fonts) -{ - return (BOOL)SendMessage(window, ALF_WM_GETWINDOWFONTS, 0, (LPARAM)fonts); -} - |
