[metacity] libmetacity: don't use get_window_scale_factor in meta-draw-op.c



commit 2f3c11ad389d6eff27de685993cc36df826e5f62
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Fri Jun 3 12:42:53 2016 +0300

    libmetacity: don't use get_window_scale_factor in meta-draw-op.c
    
    Require that all info here is always passed with correct values.

 libmetacity/meta-draw-op-private.h |    6 +++++-
 libmetacity/meta-draw-op.c         |   16 ++++++----------
 libmetacity/meta-theme-metacity.c  |   10 +++++++---
 3 files changed, 18 insertions(+), 14 deletions(-)
---
diff --git a/libmetacity/meta-draw-op-private.h b/libmetacity/meta-draw-op-private.h
index 3f77746..2175995 100644
--- a/libmetacity/meta-draw-op-private.h
+++ b/libmetacity/meta-draw-op-private.h
@@ -83,7 +83,11 @@ struct _MetaDrawInfo
   int title_layout_width;
   int title_layout_height;
 
-  MetaFrameBorders  borders;
+  gint              left_width;
+  gint              right_width;
+  gint              top_height;
+  gint              bottom_height;
+
   gint              width;
   gint              height;
 };
diff --git a/libmetacity/meta-draw-op.c b/libmetacity/meta-draw-op.c
index 03bd305..fbdd7d6 100644
--- a/libmetacity/meta-draw-op.c
+++ b/libmetacity/meta-draw-op.c
@@ -59,22 +59,18 @@ fill_env (MetaPositionExprEnv *env,
           const MetaDrawInfo  *info,
           GdkRectangle         logical_region)
 {
-  int scale;
-
-  scale = get_window_scaling_factor ();
-
   /* FIXME this stuff could be raised into draw_op_list_draw() probably
    */
   env->rect = logical_region;
   env->object_width = -1;
   env->object_height = -1;
 
-  env->left_width = info->borders.visible.left / scale;
-  env->right_width = info->borders.visible.right / scale;
-  env->top_height = info->borders.visible.top / scale;
-  env->bottom_height = info->borders.visible.bottom / scale;
-  env->frame_x_center = info->width / scale / 2 - logical_region.x;
-  env->frame_y_center = info->height / scale / 2 - logical_region.y;
+  env->left_width = info->left_width;
+  env->right_width = info->right_width;
+  env->top_height = info->top_height;
+  env->bottom_height = info->bottom_height;
+  env->frame_x_center = info->width / 2 - logical_region.x;
+  env->frame_y_center = info->height / 2 - logical_region.y;
 
   env->mini_icon_width = info->mini_icon ? gdk_pixbuf_get_width (info->mini_icon) : 0;
   env->mini_icon_height = info->mini_icon ? gdk_pixbuf_get_height (info->mini_icon) : 0;
diff --git a/libmetacity/meta-theme-metacity.c b/libmetacity/meta-theme-metacity.c
index 89a57a2..6842948 100644
--- a/libmetacity/meta-theme-metacity.c
+++ b/libmetacity/meta-theme-metacity.c
@@ -5351,9 +5351,13 @@ meta_theme_metacity_draw_frame (MetaThemeImpl           *impl,
   draw_info.title_layout_width = title_layout ? extents.width : 0;
   draw_info.title_layout_height = title_layout ? extents.height : 0;
 
-  draw_info.borders = fgeom->borders;
-  draw_info.width = fgeom->width;
-  draw_info.height = fgeom->height;
+  draw_info.left_width = borders->visible.left / scale;
+  draw_info.right_width = borders->visible.right / scale;
+  draw_info.top_height = borders->visible.top / scale;
+  draw_info.bottom_height = borders->visible.bottom / scale;
+
+  draw_info.width = fgeom->width / scale;
+  draw_info.height = fgeom->height / scale;
 
   cairo_save (cr);
   clip_to_rounded_corners (cr, visible_rect, fgeom, scale);


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