summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2002-11-07 22:58:42 +0000
committerTor Lillqvist <tml@src.gnome.org>2002-11-07 22:58:42 +0000
commit4b5ca53b3272795141bbe743975ebf15b72fae42 (patch)
tree7d8f12ea8abc035155d4de276a9d049329d75b47
parentb407d73073527d3ffe5fe2dbe715c480ef9a2ca7 (diff)
downloadgdk-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--ChangeLog14
-rw-r--r--ChangeLog.pre-2-1014
-rw-r--r--ChangeLog.pre-2-214
-rw-r--r--ChangeLog.pre-2-414
-rw-r--r--ChangeLog.pre-2-614
-rw-r--r--ChangeLog.pre-2-814
-rw-r--r--gdk/win32/gdkgeometry-win32.c16
7 files changed, 96 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 21bfbc6eb..c4cabcd2a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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;