From d0770596ea1e05f5a5d051cc461a2305d0f458fc Mon Sep 17 00:00:00 2001 From: StapleButter Date: Mon, 2 Oct 2017 03:34:17 +0200 Subject: re-add basic scaling --- src/libui_sdl/libui/ui.h | 3 +++ src/libui_sdl/libui/windows/area.cpp | 5 +++++ 2 files changed, 8 insertions(+) (limited to 'src/libui_sdl/libui') diff --git a/src/libui_sdl/libui/ui.h b/src/libui_sdl/libui/ui.h index f1937e2..84a71c3 100644 --- a/src/libui_sdl/libui/ui.h +++ b/src/libui_sdl/libui/ui.h @@ -288,6 +288,8 @@ typedef struct uiAreaKeyEvent uiAreaKeyEvent; typedef struct uiDrawContext uiDrawContext; +// TO CONSIDER: the uiAreaHandler param there seems useless +// (might use individual callbacks instead of handler struct?) struct uiAreaHandler { void (*Draw)(uiAreaHandler *, uiArea *, uiAreaDrawParams *); // TODO document that resizes cause a full redraw for non-scrolling areas; implementation-defined for scrolling areas @@ -297,6 +299,7 @@ struct uiAreaHandler { void (*MouseCrossed)(uiAreaHandler *, uiArea *, int left); void (*DragBroken)(uiAreaHandler *, uiArea *); int (*KeyEvent)(uiAreaHandler *, uiArea *, uiAreaKeyEvent *); + void (*Resize)(uiAreaHandler *, uiArea *, int, int); }; // TODO RTL layouts? diff --git a/src/libui_sdl/libui/windows/area.cpp b/src/libui_sdl/libui/windows/area.cpp index 74fe768..6bb8fe7 100644 --- a/src/libui_sdl/libui/windows/area.cpp +++ b/src/libui_sdl/libui/windows/area.cpp @@ -37,6 +37,11 @@ static LRESULT CALLBACK areaWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM uiWindowsEnsureGetClientRect(a->hwnd, &client); areaDrawOnResize(a, &client); areaScrollOnResize(a, &client); + { + double w, h; + loadAreaSize(a, a->rt, &w, &h); + a->ah->Resize(a->ah, a, (int)w, (int)h); + } return 0; } -- cgit v1.2.3