summaryrefslogtreecommitdiff
path: root/alf/alf.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'alf/alf.cpp')
-rw-r--r--alf/alf.cpp34
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);
-}
-