From 58bedf9610ac7a388d5951b2d57612a0d4e03ef7 Mon Sep 17 00:00:00 2001 From: trustable-code Date: Thu, 5 Sep 2019 22:23:58 +0200 Subject: Fix #56 window.onResize was not triggered --- src/nigui.nim | 10 ++-------- src/nigui/private/gtk3/platform_impl.nim | 3 +++ src/nigui/private/windows/platform_impl.nim | 3 +++ 3 files changed, 8 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/nigui.nim b/src/nigui.nim index d9c4650..e8b4e8f 100755 --- a/src/nigui.nim +++ b/src/nigui.nim @@ -1355,17 +1355,11 @@ method height(window: Window): int = window.fHeight method `width=`(window: Window, width: int) = window.fWidth = width - window.triggerRelayout() - var event = new ResizeEvent - event.window = window - window.handleResizeEvent(event) + # has to be extended by WindowImpl method `height=`(window: Window, height: int) = window.fHeight = height - window.triggerRelayout() - var event = new ResizeEvent - event.window = window - window.handleResizeEvent(event) + # has to be extended by WindowImpl method clientWidth(window: Window): int = window.fClientWidth diff --git a/src/nigui/private/gtk3/platform_impl.nim b/src/nigui/private/gtk3/platform_impl.nim index 148a7b2..4aeb4ea 100755 --- a/src/nigui/private/gtk3/platform_impl.nim +++ b/src/nigui/private/gtk3/platform_impl.nim @@ -59,6 +59,9 @@ proc pWindowConfigureSignal(windowHandle, event, data: pointer): bool {.cdecl.} window.fHeight = height window.fClientWidth = width window.fClientHeight = height + var event = new ResizeEvent + event.window = window + window.handleResizeEvent(event) window.triggerRelayout() proc pKeyvalToKey(keyval: cint): Key = diff --git a/src/nigui/private/windows/platform_impl.nim b/src/nigui/private/windows/platform_impl.nim index 8569d79..ff8b48a 100755 --- a/src/nigui/private/windows/platform_impl.nim +++ b/src/nigui/private/windows/platform_impl.nim @@ -306,6 +306,9 @@ proc pWindowWndProc(hWnd: pointer, uMsg: int32, wParam, lParam: pointer): pointe rect = pGetClientRect(window.fHandle) window.fClientWidth = rect.right - rect.left window.fClientHeight = rect.bottom - rect.top + var event = new ResizeEvent + event.window = window + window.handleResizeEvent(event) window.triggerRelayout() of WM_MOVE: let window = cast[WindowImpl](pGetWindowLongPtr(hWnd, GWLP_USERDATA)) -- cgit v1.2.3