[gtk+/wip/window-scales] x11: Also move child windows when scale changes



commit 67b7595eed1dc97dbd6ac18907e44733176a2cb7
Author: Alexander Larsson <alexl redhat com>
Date:   Fri Jun 28 10:39:23 2013 +0200

    x11: Also move child windows when scale changes

 gdk/x11/gdkwindow-x11.c |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)
---
diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
index cd9556d..9fc99e9 100644
--- a/gdk/x11/gdkwindow-x11.c
+++ b/gdk/x11/gdkwindow-x11.c
@@ -1934,10 +1934,18 @@ _gdk_x11_window_set_window_scale (GdkWindow *window,
                                        geom_mask);
     }
 
-  XResizeWindow (GDK_WINDOW_XDISPLAY (window),
-                 GDK_WINDOW_XID (window),
-                 window->width * impl->window_scale,
-                 window->height * impl->window_scale);
+  if (WINDOW_IS_TOPLEVEL(window))
+    XResizeWindow (GDK_WINDOW_XDISPLAY (window),
+                   GDK_WINDOW_XID (window),
+                   window->width * impl->window_scale,
+                   window->height * impl->window_scale);
+  else
+    XMoveResizeWindow (GDK_WINDOW_XDISPLAY (window),
+                       GDK_WINDOW_XID (window),
+                       (window->x + window->parent->abs_x) * impl->window_scale,
+                       (window->y + window->parent->abs_y) * impl->window_scale,
+                       window->width * impl->window_scale,
+                       window->height * impl->window_scale);
 
   gdk_window_invalidate_rect (window, NULL, TRUE);
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]