[mutter] window-actor: Use surface coordinates for the fast path in get_image()



commit b5775e3d85235418fc12c2024a54863d49acf02d
Author: Robert Mader <robert mader posteo de>
Date:   Sat Sep 14 19:21:41 2019 +0200

    window-actor: Use surface coordinates for the fast path in get_image()
    
    shaped_texture requires the clip to be in surface coordinates. Scale
    it accordingly.
    
    https://gitlab.gnome.org/GNOME/mutter/merge_requests/758

 src/compositor/meta-window-actor.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)
---
diff --git a/src/compositor/meta-window-actor.c b/src/compositor/meta-window-actor.c
index a80407ae7..0f80cfaf4 100644
--- a/src/compositor/meta-window-actor.c
+++ b/src/compositor/meta-window-actor.c
@@ -2182,9 +2182,21 @@ meta_window_actor_get_image (MetaWindowActor *self,
   if (clutter_actor_get_n_children (actor) == 1)
     {
       MetaShapedTexture *stex;
+      MetaRectangle surface_clip;
+      int geometry_scale;
+
+      geometry_scale =
+        meta_window_actor_get_geometry_scale (self);
+
+      surface_clip = (MetaRectangle) {
+        .x = clip->x / geometry_scale,
+        .y = clip->y / geometry_scale,
+        .width = clip->width / geometry_scale,
+        .height = clip->height / geometry_scale,
+      };
 
       stex = meta_surface_actor_get_texture (priv->surface);
-      return meta_shaped_texture_get_image (stex, clip);
+      return meta_shaped_texture_get_image (stex, &surface_clip);
     }
 
   clutter_actor_get_size (actor, &width, &height);


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