[metacity] theme: remove meta_gtk_widget_get_font_desc



commit a5db708f85a01d4d5fd50385a42775910aaf89cb
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Tue Feb 2 19:25:26 2016 +0200

    theme: remove meta_gtk_widget_get_font_desc

 src/ui/frames.c         |   21 ++++-----------------
 src/ui/preview-widget.c |   15 ++++++---------
 src/ui/theme-private.h  |    4 ----
 src/ui/theme-viewer.c   |   11 +++--------
 src/ui/theme.c          |   29 -----------------------------
 src/ui/ui.c             |   42 +++---------------------------------------
 6 files changed, 16 insertions(+), 106 deletions(-)
---
diff --git a/src/ui/frames.c b/src/ui/frames.c
index c51ba53..fa379c9 100644
--- a/src/ui/frames.c
+++ b/src/ui/frames.c
@@ -465,6 +465,7 @@ meta_frames_ensure_layout (MetaFrames  *frames,
     {
       gpointer key, value;
       MetaTheme *current;
+      MetaStyleInfo *style_info;
       PangoFontDescription *font_desc;
       int size;
 
@@ -475,24 +476,10 @@ meta_frames_ensure_layout (MetaFrames  *frames,
       pango_layout_set_single_paragraph_mode (frame->text_layout, TRUE);
 
       current = meta_theme_get_current ();
+      style_info = meta_theme_get_style_info (current, frame->theme_variant);
 
-      if (meta_theme_get_theme_type (current) == META_THEME_TYPE_METACITY)
-        {
-          double scale;
-
-          scale = meta_theme_get_title_scale (current, type, flags);
-
-          font_desc = meta_gtk_widget_get_font_desc (widget, scale,
-                                                     meta_prefs_get_titlebar_font ());
-        }
-      else
-        {
-          MetaStyleInfo *style_info;
-
-          style_info = meta_theme_get_style_info (current, frame->theme_variant);
-          font_desc = meta_style_info_create_font_desc (current, style_info);
-          meta_frame_style_apply_scale (style, font_desc);
-        }
+      font_desc = meta_style_info_create_font_desc (current, style_info);
+      meta_frame_style_apply_scale (style, font_desc);
 
       size = pango_font_description_get_size (font_desc);
 
diff --git a/src/ui/preview-widget.c b/src/ui/preview-widget.c
index be10ab0..452f536 100644
--- a/src/ui/preview-widget.c
+++ b/src/ui/preview-widget.c
@@ -128,22 +128,19 @@ ensure_info (MetaPreview *preview)
 
   if (preview->layout == NULL)
     {
+      MetaStyleInfo *style_info;
       PangoFontDescription *font_desc;
-      double scale;
+      MetaFrameStyle *style;
       PangoAttrList *attrs;
       PangoAttribute *attr;
 
-      if (preview->theme)
-        scale = meta_theme_get_title_scale (preview->theme,
-                                            preview->type,
-                                            preview->flags);
-      else
-        scale = 1.0;
-
       preview->layout = gtk_widget_create_pango_layout (widget,
                                                         preview->title);
 
-      font_desc = meta_gtk_widget_get_font_desc (widget, scale, NULL);
+      style_info = meta_theme_get_style_info (preview->theme, NULL);
+      font_desc = meta_style_info_create_font_desc (preview->theme, style_info);
+      style = meta_theme_get_frame_style (preview->theme, preview->type, preview->flags);
+      meta_frame_style_apply_scale (style, font_desc);
 
       preview->text_height =
         meta_pango_font_desc_get_text_height (font_desc,
diff --git a/src/ui/theme-private.h b/src/ui/theme-private.h
index 19af8f9..0db12f8 100644
--- a/src/ui/theme-private.h
+++ b/src/ui/theme-private.h
@@ -31,10 +31,6 @@ MetaFrameStyle        *meta_theme_get_frame_style              (MetaTheme
 PangoFontDescription  *meta_style_info_create_font_desc        (MetaTheme                   *theme,
                                                                 MetaStyleInfo               *style_info);
 
-PangoFontDescription  *meta_gtk_widget_get_font_desc           (GtkWidget                   *widget,
-                                                                double                       scale,
-                                                                const PangoFontDescription  *override);
-
 int                    meta_pango_font_desc_get_text_height    (const PangoFontDescription  *font_desc,
                                                                 PangoContext                *context);
 
diff --git a/src/ui/theme-viewer.c b/src/ui/theme-viewer.c
index f827f5c..d0b8400 100644
--- a/src/ui/theme-viewer.c
+++ b/src/ui/theme-viewer.c
@@ -912,11 +912,8 @@ main (int argc, char **argv)
 
   gtk_widget_realize (window);
 
-  style_info = meta_style_info_new (NULL, meta_theme_get_composited (global_theme));
-  gtk_style_context_get (style_info->styles[META_STYLE_ELEMENT_DECORATION],
-                         GTK_STATE_FLAG_NORMAL, "font", &font_desc, NULL);
-  meta_style_info_unref (style_info);
-
+  style_info = meta_theme_get_style_info (global_theme, NULL);
+  font_desc = meta_style_info_create_font_desc (global_theme, style_info);
   g_assert (font_desc);
 
   notebook = gtk_notebook_new ();
@@ -992,8 +989,7 @@ get_text_height (GtkWidget     *widget,
   PangoFontDescription *font_desc;
   int                   text_height;
 
-  gtk_style_context_get (style_info->styles[META_STYLE_ELEMENT_DECORATION],
-                         GTK_STATE_FLAG_NORMAL, "font", &font_desc, NULL);
+  font_desc = meta_style_info_create_font_desc (global_theme, style_info);
   text_height = meta_pango_font_desc_get_text_height (font_desc, gtk_widget_get_pango_context (widget));
   pango_font_description_free (font_desc);
 
@@ -1120,7 +1116,6 @@ run_theme_benchmark (void)
 
   g_timer_destroy (timer);
   g_object_unref (G_OBJECT (layout));
-  meta_style_info_unref (style_info);
   gtk_widget_destroy (widget);
 
 #undef ITERATIONS
diff --git a/src/ui/theme.c b/src/ui/theme.c
index b17712b..9e5bb21 100644
--- a/src/ui/theme.c
+++ b/src/ui/theme.c
@@ -1842,35 +1842,6 @@ meta_theme_calc_geometry (MetaTheme              *theme,
                                    theme);
 }
 
-PangoFontDescription*
-meta_gtk_widget_get_font_desc (GtkWidget *widget,
-                               double     scale,
-                              const PangoFontDescription *override)
-{
-  GtkStyleContext *context;
-  PangoFontDescription *font_desc;
-
-  g_return_val_if_fail (gtk_widget_get_realized (widget), NULL);
-
-  context = gtk_widget_get_style_context (widget);
-
-  gtk_style_context_save (context);
-  gtk_style_context_set_state (context, GTK_STATE_FLAG_NORMAL);
-
-  gtk_style_context_get (context, GTK_STATE_FLAG_NORMAL,
-                         "font", &font_desc, NULL);
-
-  gtk_style_context_restore (context);
-
-  if (override)
-    pango_font_description_merge (font_desc, override, TRUE);
-
-  pango_font_description_set_size (font_desc,
-                                   MAX (pango_font_description_get_size (font_desc) * scale, 1));
-
-  return font_desc;
-}
-
 /**
  * Returns the height of the letters in a particular font.
  *
diff --git a/src/ui/ui.c b/src/ui/ui.c
index f89266a..0b0f0a5 100644
--- a/src/ui/ui.c
+++ b/src/ui/ui.c
@@ -667,62 +667,26 @@ meta_ui_theme_get_frame_borders (MetaUI           *ui,
 {
   int text_height;
   PangoContext *context;
-  const PangoFontDescription *font_desc;
-  PangoFontDescription *free_font_desc = NULL;
+  PangoFontDescription *font_desc;
 
   if (meta_ui_have_a_theme ())
     {
-      GdkDisplay *display = gdk_x11_lookup_xdisplay (ui->xdisplay);
-      GdkScreen *screen = gdk_display_get_screen (display, XScreenNumberOfScreen (ui->xscreen));
       MetaStyleInfo *style_info;
       MetaTheme *current;
 
       current = meta_theme_get_current ();
       style_info = meta_theme_get_style_info (current, NULL);
 
+      font_desc = meta_style_info_create_font_desc (current, style_info);
       context = gtk_widget_get_pango_context (GTK_WIDGET (ui->frames));
-      font_desc = meta_prefs_get_titlebar_font ();
-
-      if (!font_desc)
-        {
-          if (meta_theme_get_theme_type (current) == META_THEME_TYPE_METACITY)
-            {
-              GtkStyleContext *style;
-              GtkWidgetPath *widget_path;
-
-              style = gtk_style_context_new ();
-              gtk_style_context_set_screen (style, screen);
-              gtk_style_context_set_state (style, GTK_STATE_FLAG_NORMAL);
-
-              widget_path = gtk_widget_path_new ();
-              gtk_widget_path_append_type (widget_path, GTK_TYPE_WINDOW);
-              gtk_style_context_set_path (style, widget_path);
-              gtk_widget_path_free (widget_path);
-
-              gtk_style_context_get (style, GTK_STATE_FLAG_NORMAL,
-                                     "font", &free_font_desc,
-                                     NULL);
-
-              if (style != NULL)
-                g_object_unref (style);
-            }
-          else
-            {
-              free_font_desc = meta_style_info_create_font_desc (current, style_info);
-            }
-
-          font_desc = (const PangoFontDescription *) free_font_desc;
-        }
 
       text_height = meta_pango_font_desc_get_text_height (font_desc, context);
+      pango_font_description_free (font_desc);
 
       meta_theme_get_frame_borders (current,
                                     NULL, /* FIXME: theme variant*/
                                     type, text_height, flags,
                                     borders);
-
-      if (free_font_desc)
-        pango_font_description_free (free_font_desc);
     }
   else
     {


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