[gtk] gl renderer: Clip nodes: offset



commit e1feb1b712a226d6beaf41c1a62f5579348111de
Author: Timm Bäder <mail baedert org>
Date:   Mon Dec 3 18:11:09 2018 +0100

    gl renderer: Clip nodes: offset

 gsk/gl/gskglrenderer.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
---
diff --git a/gsk/gl/gskglrenderer.c b/gsk/gl/gskglrenderer.c
index 753073e97b..f9fba2d12d 100644
--- a/gsk/gl/gskglrenderer.c
+++ b/gsk/gl/gskglrenderer.c
@@ -782,6 +782,8 @@ render_offset_node (GskGLRenderer   *self,
     case GSK_BORDER_NODE:
     case GSK_OUTSET_SHADOW_NODE:
     case GSK_LINEAR_GRADIENT_NODE:
+    case GSK_CLIP_NODE:
+    case GSK_ROUNDED_CLIP_NODE:
       {
         ops_offset (builder, dx, dy);
         gsk_gl_renderer_add_render_ops (self, child, builder);
@@ -940,10 +942,6 @@ render_rounded_clip_node (GskGLRenderer       *self,
                           RenderOpBuilder     *builder)
 {
   const float scale = ops_get_scale (builder);
-  const float min_x = node->bounds.origin.x;
-  const float min_y = node->bounds.origin.y;
-  const float max_x = min_x + node->bounds.size.width;
-  const float max_y = min_y + node->bounds.size.height;
   GskRoundedRect child_clip = *gsk_rounded_clip_node_peek_clip (node);
   GskRoundedRect transformed_clip;
   GskRoundedRect prev_clip;
@@ -972,6 +970,10 @@ render_rounded_clip_node (GskGLRenderer       *self,
   else if (graphene_rect_intersection (&builder->current_clip.bounds,
                                        &transformed_clip.bounds, NULL))
     {
+      const float min_x = builder->dx + node->bounds.origin.x;
+      const float min_y = builder->dy + node->bounds.origin.y;
+      const float max_x = min_x + node->bounds.size.width;
+      const float max_y = min_y + node->bounds.size.height;
       graphene_matrix_t scale_matrix;
       gboolean is_offscreen;
       int texture_id;


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