WM_WINDOWPOSCHANGED): Add _gdk_offset_{x,y} to top-level window

2004-08-07  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkevents-win32.c (handle_configure_event,
	gdk_event_translate:WM_WINDOWPOSCHANGED): Add _gdk_offset_{x,y} to
	top-level window coordinates, not just in generated
	events. (#148526, Robert Ögren)
This commit is contained in:
Tor Lillqvist 2004-08-07 21:46:28 +00:00 committed by Tor Lillqvist
parent 6c021548e4
commit 5f7fbb27c2
5 changed files with 41 additions and 17 deletions

View File

@ -1,3 +1,10 @@
2004-08-07 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkevents-win32.c (handle_configure_event,
gdk_event_translate:WM_WINDOWPOSCHANGED): Add _gdk_offset_{x,y} to
top-level window coordinates, not just in generated
events. (#148526, Robert Ögren)
Sat Aug 7 01:26:08 2004 Matthias Clasen <maclas@gmx.de>
Make the column drag code a bit more robust (still scary,

View File

@ -1,3 +1,10 @@
2004-08-07 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkevents-win32.c (handle_configure_event,
gdk_event_translate:WM_WINDOWPOSCHANGED): Add _gdk_offset_{x,y} to
top-level window coordinates, not just in generated
events. (#148526, Robert Ögren)
Sat Aug 7 01:26:08 2004 Matthias Clasen <maclas@gmx.de>
Make the column drag code a bit more robust (still scary,

View File

@ -1,3 +1,10 @@
2004-08-07 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkevents-win32.c (handle_configure_event,
gdk_event_translate:WM_WINDOWPOSCHANGED): Add _gdk_offset_{x,y} to
top-level window coordinates, not just in generated
events. (#148526, Robert Ögren)
Sat Aug 7 01:26:08 2004 Matthias Clasen <maclas@gmx.de>
Make the column drag code a bit more robust (still scary,

View File

@ -1,3 +1,10 @@
2004-08-07 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkevents-win32.c (handle_configure_event,
gdk_event_translate:WM_WINDOWPOSCHANGED): Add _gdk_offset_{x,y} to
top-level window coordinates, not just in generated
events. (#148526, Robert Ögren)
Sat Aug 7 01:26:08 2004 Matthias Clasen <maclas@gmx.de>
Make the column drag code a bit more robust (still scary,

View File

@ -1723,8 +1723,12 @@ handle_configure_event (MSG *msg,
point.x = client_rect.left; /* always 0 */
point.y = client_rect.top;
/* top level windows need screen coords */
if (GDK_WINDOW_TYPE (window) == GDK_WINDOW_TOPLEVEL)
ClientToScreen (msg->hwnd, &point);
if (gdk_window_get_parent (window) == _gdk_parent_root)
{
ClientToScreen (msg->hwnd, &point);
point.x += _gdk_offset_x;
point.y += _gdk_offset_y;
}
GDK_WINDOW_IMPL_WIN32 (((GdkWindowObject *) window)->impl)->width = client_rect.right - client_rect.left;
GDK_WINDOW_IMPL_WIN32 (((GdkWindowObject *) window)->impl)->height = client_rect.bottom - client_rect.top;
@ -1744,12 +1748,6 @@ handle_configure_event (MSG *msg,
event->configure.x = point.x;
event->configure.y = point.y;
if (gdk_window_get_parent (window) == _gdk_parent_root)
{
event->configure.x += _gdk_offset_x;
event->configure.y += _gdk_offset_y;
}
append_event (gdk_drawable_get_display (window), event);
}
}
@ -2994,15 +2992,19 @@ gdk_event_translate (GdkDisplay *display,
point.x = client_rect.left; /* always 0 */
point.y = client_rect.top;
/* top level windows need screen coords */
if (GDK_WINDOW_TYPE (window) == GDK_WINDOW_TOPLEVEL)
ClientToScreen (msg->hwnd, &point);
if (gdk_window_get_parent (window) == _gdk_parent_root)
{
ClientToScreen (msg->hwnd, &point);
point.x += _gdk_offset_x;
point.y += _gdk_offset_y;
}
GDK_WINDOW_IMPL_WIN32 (((GdkWindowObject *) window)->impl)->width = client_rect.right - client_rect.left;
GDK_WINDOW_IMPL_WIN32 (((GdkWindowObject *) window)->impl)->height = client_rect.bottom - client_rect.top;
((GdkWindowObject *) window)->x = point.x;
((GdkWindowObject *) window)->y = point.y;
if (((GdkWindowObject *) window)->event_mask & GDK_STRUCTURE_MASK)
{
GdkEvent *event = gdk_event_new (GDK_CONFIGURE);
@ -3015,12 +3017,6 @@ gdk_event_translate (GdkDisplay *display,
event->configure.x = point.x;
event->configure.y = point.y;
if (gdk_window_get_parent (window) == _gdk_parent_root)
{
event->configure.x += _gdk_offset_x;
event->configure.y += _gdk_offset_y;
}
if (((GdkWindowObject *) window)->resize_count > 1)
((GdkWindowObject *) window)->resize_count -= 1;