diff options
author | Tor Lillqvist <tml@iki.fi> | 2002-11-07 22:58:42 +0000 |
---|---|---|
committer | Tor Lillqvist <tml@src.gnome.org> | 2002-11-07 22:58:42 +0000 |
commit | 4b5ca53b3272795141bbe743975ebf15b72fae42 (patch) | |
tree | 7d8f12ea8abc035155d4de276a9d049329d75b47 | |
parent | b407d73073527d3ffe5fe2dbe715c480ef9a2ca7 (diff) | |
download | gdk-pixbuf-4b5ca53b3272795141bbe743975ebf15b72fae42.tar.gz |
Call UpdateWindow() after scrolling or moving/resizing the window. This
2002-11-07 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkgeometry-win32.c (gdk_window_copy_area_scroll,
_gdk_window_move_resize_child): Call UpdateWindow() after
scrolling or moving/resizing the window. This causes a WM_PAINT
message to be sent to the window procedure. Improves scrolling a
lot, for instance in testgtk's "scrolled windows" dialog or
gtk-demo's "Text Widget".
Without calling UpdateWindow(), Windows generates a WM_PAINT only
when there is no other message in the queue. Thus, while you keep
moving the scrollbar slider and generating mouse messages, no
WM_PAINT messages are sent.
-rw-r--r-- | ChangeLog | 14 | ||||
-rw-r--r-- | ChangeLog.pre-2-10 | 14 | ||||
-rw-r--r-- | ChangeLog.pre-2-2 | 14 | ||||
-rw-r--r-- | ChangeLog.pre-2-4 | 14 | ||||
-rw-r--r-- | ChangeLog.pre-2-6 | 14 | ||||
-rw-r--r-- | ChangeLog.pre-2-8 | 14 | ||||
-rw-r--r-- | gdk/win32/gdkgeometry-win32.c | 16 |
7 files changed, 96 insertions, 4 deletions
@@ -1,3 +1,17 @@ +2002-11-07 Tor Lillqvist <tml@iki.fi> + + * gdk/win32/gdkgeometry-win32.c (gdk_window_copy_area_scroll, + _gdk_window_move_resize_child): Call UpdateWindow() after + scrolling or moving/resizing the window. This causes a WM_PAINT + message to be sent to the window procedure. Improves scrolling a + lot, for instance in testgtk's "scrolled windows" dialog or + gtk-demo's "Text Widget". + + Without calling UpdateWindow(), Windows generates a WM_PAINT only + when there is no other message in the queue. Thus, while you keep + moving the scrollbar slider and generating mouse messages, no + WM_PAINT messages are sent. + Thu Nov 7 17:18:06 2002 Owen Taylor <otaylor@redhat.com> * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_pixbuf): diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 21bfbc6eb..c4cabcd2a 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,17 @@ +2002-11-07 Tor Lillqvist <tml@iki.fi> + + * gdk/win32/gdkgeometry-win32.c (gdk_window_copy_area_scroll, + _gdk_window_move_resize_child): Call UpdateWindow() after + scrolling or moving/resizing the window. This causes a WM_PAINT + message to be sent to the window procedure. Improves scrolling a + lot, for instance in testgtk's "scrolled windows" dialog or + gtk-demo's "Text Widget". + + Without calling UpdateWindow(), Windows generates a WM_PAINT only + when there is no other message in the queue. Thus, while you keep + moving the scrollbar slider and generating mouse messages, no + WM_PAINT messages are sent. + Thu Nov 7 17:18:06 2002 Owen Taylor <otaylor@redhat.com> * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_pixbuf): diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 21bfbc6eb..c4cabcd2a 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,17 @@ +2002-11-07 Tor Lillqvist <tml@iki.fi> + + * gdk/win32/gdkgeometry-win32.c (gdk_window_copy_area_scroll, + _gdk_window_move_resize_child): Call UpdateWindow() after + scrolling or moving/resizing the window. This causes a WM_PAINT + message to be sent to the window procedure. Improves scrolling a + lot, for instance in testgtk's "scrolled windows" dialog or + gtk-demo's "Text Widget". + + Without calling UpdateWindow(), Windows generates a WM_PAINT only + when there is no other message in the queue. Thus, while you keep + moving the scrollbar slider and generating mouse messages, no + WM_PAINT messages are sent. + Thu Nov 7 17:18:06 2002 Owen Taylor <otaylor@redhat.com> * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_pixbuf): diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 21bfbc6eb..c4cabcd2a 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,17 @@ +2002-11-07 Tor Lillqvist <tml@iki.fi> + + * gdk/win32/gdkgeometry-win32.c (gdk_window_copy_area_scroll, + _gdk_window_move_resize_child): Call UpdateWindow() after + scrolling or moving/resizing the window. This causes a WM_PAINT + message to be sent to the window procedure. Improves scrolling a + lot, for instance in testgtk's "scrolled windows" dialog or + gtk-demo's "Text Widget". + + Without calling UpdateWindow(), Windows generates a WM_PAINT only + when there is no other message in the queue. Thus, while you keep + moving the scrollbar slider and generating mouse messages, no + WM_PAINT messages are sent. + Thu Nov 7 17:18:06 2002 Owen Taylor <otaylor@redhat.com> * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_pixbuf): diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 21bfbc6eb..c4cabcd2a 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,17 @@ +2002-11-07 Tor Lillqvist <tml@iki.fi> + + * gdk/win32/gdkgeometry-win32.c (gdk_window_copy_area_scroll, + _gdk_window_move_resize_child): Call UpdateWindow() after + scrolling or moving/resizing the window. This causes a WM_PAINT + message to be sent to the window procedure. Improves scrolling a + lot, for instance in testgtk's "scrolled windows" dialog or + gtk-demo's "Text Widget". + + Without calling UpdateWindow(), Windows generates a WM_PAINT only + when there is no other message in the queue. Thus, while you keep + moving the scrollbar slider and generating mouse messages, no + WM_PAINT messages are sent. + Thu Nov 7 17:18:06 2002 Owen Taylor <otaylor@redhat.com> * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_pixbuf): diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 21bfbc6eb..c4cabcd2a 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,17 @@ +2002-11-07 Tor Lillqvist <tml@iki.fi> + + * gdk/win32/gdkgeometry-win32.c (gdk_window_copy_area_scroll, + _gdk_window_move_resize_child): Call UpdateWindow() after + scrolling or moving/resizing the window. This causes a WM_PAINT + message to be sent to the window procedure. Improves scrolling a + lot, for instance in testgtk's "scrolled windows" dialog or + gtk-demo's "Text Widget". + + Without calling UpdateWindow(), Windows generates a WM_PAINT only + when there is no other message in the queue. Thus, while you keep + moving the scrollbar slider and generating mouse messages, no + WM_PAINT messages are sent. + Thu Nov 7 17:18:06 2002 Owen Taylor <otaylor@redhat.com> * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_pixbuf): diff --git a/gdk/win32/gdkgeometry-win32.c b/gdk/win32/gdkgeometry-win32.c index 8946a29ee..765a8dfa2 100644 --- a/gdk/win32/gdkgeometry-win32.c +++ b/gdk/win32/gdkgeometry-win32.c @@ -148,6 +148,7 @@ gdk_window_copy_area_scroll (GdkWindow *window, NULL, /* out: update rect */ SW_INVALIDATE | SW_SCROLLCHILDREN)) WIN32_API_FAILED ("ScrollWindowEx"); + UpdateWindow (GDK_WINDOW_HWND (window)); } #if 0 /* Not needed, ScrollWindowEx also scrolls the children. */ @@ -402,12 +403,14 @@ _gdk_window_move_resize_child (GdkWindow *window, g_return_if_fail (window != NULL); g_return_if_fail (GDK_IS_WINDOW (window)); - GDK_NOTE (MISC, g_print ("_gdk_window_move_resize_child: %p %dx%d@+%d+%d\n", - GDK_WINDOW_HWND (window), width, height, x, y)); - impl = GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (window)->impl); obj = GDK_WINDOW_OBJECT (window); + GDK_NOTE (MISC, g_print ("_gdk_window_move_resize_child: %s@+%d+%d %dx%d@+%d+%d\n", + gdk_win32_drawable_description (window), + obj->x, obj->y, + width, height, x, y)); + dx = x - obj->x; dy = y - obj->y; @@ -539,9 +542,12 @@ _gdk_window_move_resize_child (GdkWindow *window, new_info.x, new_info.y, new_info.width, new_info.height, SWP_NOACTIVATE | SWP_NOZORDER | + (is_move ? 0 : SWP_NOMOVE) | (is_resize ? 0 : SWP_NOSIZE))) WIN32_API_FAILED ("SetWindowPos"); + UpdateWindow (GDK_WINDOW_HWND (window)); + tmp_list = obj->children; while (tmp_list) { @@ -1016,7 +1022,9 @@ gdk_window_tmp_reset_bg (GdkWindow *window) } static void -gdk_window_clip_changed (GdkWindow *window, GdkRectangle *old_clip, GdkRectangle *new_clip) +gdk_window_clip_changed (GdkWindow *window, + GdkRectangle *old_clip, + GdkRectangle *new_clip) { GdkWindowImplWin32 *impl; GdkWindowObject *obj; |