[mutter/wip/gtk-theming: 19/20] theme: Remove MetaFrameStyle/MetaFrameStyleSet



commit 887177f1bffec009397a927f07f4d46fa7c242b1
Author: Florian Müllner <fmuellner gnome org>
Date:   Thu Sep 25 09:04:31 2014 +0200

    theme: Remove MetaFrameStyle/MetaFrameStyleSet
    
    MetaFrameStyle now only holds a MetaFrameLayout, so we can cut out
    the middle man and use the layout directly. And as we are already
    using a single style/layout per frame set and handle frame state
    and focus by setting appropriate style flags, MetaFrameStyleSet
    is pointless too - just store one MetaFrameLayout per frame type
    directly in the theme.

 src/ui/frames.c        |   12 +-
 src/ui/frames.h        |    2 +-
 src/ui/theme-private.h |   78 +----------
 src/ui/theme.c         |  369 ++++++++----------------------------------------
 4 files changed, 69 insertions(+), 392 deletions(-)
---
diff --git a/src/ui/frames.c b/src/ui/frames.c
index fdc0974..151b861 100644
--- a/src/ui/frames.c
+++ b/src/ui/frames.c
@@ -383,7 +383,7 @@ meta_frames_ensure_layout (MetaFrames  *frames,
   GtkWidget *widget;
   MetaFrameFlags flags;
   MetaFrameType type;
-  MetaFrameStyle *style;
+  MetaFrameLayout *layout;
 
   widget = GTK_WIDGET (frames);
 
@@ -394,9 +394,9 @@ meta_frames_ensure_layout (MetaFrames  *frames,
                  META_CORE_GET_FRAME_TYPE, &type,
                  META_CORE_GET_END);
 
-  style = meta_theme_get_frame_style (meta_theme_get_default (), type, flags);
+  layout = meta_theme_get_frame_layout (meta_theme_get_default (), type, flags);
 
-  if (style != frame->cache_style)
+  if (layout != frame->cache_layout)
     {
       if (frame->text_layout)
         {
@@ -409,7 +409,7 @@ meta_frames_ensure_layout (MetaFrames  *frames,
         }
     }
 
-  frame->cache_style = style;
+  frame->cache_layout = layout;
 
   if (frame->text_layout == NULL)
     {
@@ -424,7 +424,7 @@ meta_frames_ensure_layout (MetaFrames  *frames,
       pango_layout_set_single_paragraph_mode (frame->text_layout, TRUE);
 
       font_desc = meta_style_info_create_font_desc (frame->style_info);
-      meta_frame_style_apply_scale (style, font_desc);
+      meta_frame_layout_apply_scale (layout, font_desc);
 
       size = pango_font_description_get_size (font_desc);
 
@@ -562,7 +562,7 @@ meta_frames_manage_window (MetaFrames *frames,
   /* Don't set event mask here, it's in frame.c */
 
   frame->xwindow = xwindow;
-  frame->cache_style = NULL;
+  frame->cache_layout = NULL;
   frame->text_layout = NULL;
   frame->text_height = -1;
   frame->title = NULL;
diff --git a/src/ui/frames.h b/src/ui/frames.h
index 9a9df38..a625acc 100644
--- a/src/ui/frames.h
+++ b/src/ui/frames.h
@@ -75,7 +75,7 @@ struct _MetaUIFrame
   Window xwindow;
   GdkWindow *window;
   MetaStyleInfo *style_info;
-  MetaFrameStyle *cache_style;
+  MetaFrameLayout *cache_layout;
   PangoLayout *text_layout;
   int text_height;
   char *title; /* NULL once we have a layout */
diff --git a/src/ui/theme-private.h b/src/ui/theme-private.h
index bc49bd0..2857cb1 100644
--- a/src/ui/theme-private.h
+++ b/src/ui/theme-private.h
@@ -33,16 +33,6 @@
  */
 typedef struct _MetaStyleInfo MetaStyleInfo;
 /**
- * MetaFrameStyle: (skip)
- *
- */
-typedef struct _MetaFrameStyle MetaFrameStyle;
-/**
- * MetaFrameStyleSet: (skip)
- *
- */
-typedef struct _MetaFrameStyleSet MetaFrameStyleSet;
-/**
  * MetaFrameLayout: (skip)
  *
  */
@@ -60,8 +50,6 @@ typedef struct _MetaFrameGeometry MetaFrameGeometry;
 
 /**
  * Various parameters used to calculate the geometry of a frame.
- * They are used inside a MetaFrameStyle.
- * This corresponds closely to the <frame_geometry> tag in a theme file.
  **/
 struct _MetaFrameLayout
 {
@@ -224,27 +212,6 @@ struct _MetaStyleInfo
   GtkStyleContext *styles[META_STYLE_ELEMENT_LAST];
 };
 
-/**
- * How to draw a frame in a particular state (say, a focussed, non-maximised,
- * resizable frame). This corresponds closely to the <frame_style> tag
- * in a theme file.
- */
-struct _MetaFrameStyle
-{
-  /** Reference count. */
-  int refcount;
-  /**
-   * Parent style.
-   * Settings which are unspecified here will be taken from there.
-   */
-  MetaFrameStyle *parent;
-  /**
-   * Details such as the height and width of each edge, the corner rounding,
-   * and the aspect ratio of the buttons.
-   */
-  MetaFrameLayout *layout;
-};
-
 /* Kinds of frame...
  *
  *  normal ->   focused / unfocused
@@ -279,36 +246,12 @@ typedef enum
 } MetaFrameFocus;
 
 /**
- * How to draw frames at different times: when it's maximised or not, shaded
- * or not, tiled or not, and when it's focussed or not.
- * Not all window types actually get a frame.
- *
- * A theme contains one of these objects for each type of window (each
- * MetaFrameType), that is, normal, dialogue (modal and non-modal), etc.
- *
- * This corresponds closely to the <frame_style_set> tag in a theme file.
- */
-struct _MetaFrameStyleSet
-{
-  int refcount;
-  MetaFrameStyleSet *parent;
-  MetaFrameStyle *normal_styles[META_FRAME_FOCUS_LAST];
-  MetaFrameStyle *maximized_styles[META_FRAME_FOCUS_LAST];
-  MetaFrameStyle *tiled_left_styles[META_FRAME_FOCUS_LAST];
-  MetaFrameStyle *tiled_right_styles[META_FRAME_FOCUS_LAST];
-  MetaFrameStyle *shaded_styles[META_FRAME_FOCUS_LAST];
-  MetaFrameStyle *maximized_and_shaded_styles[META_FRAME_FOCUS_LAST];
-  MetaFrameStyle *tiled_left_and_shaded_styles[META_FRAME_FOCUS_LAST];
-  MetaFrameStyle *tiled_right_and_shaded_styles[META_FRAME_FOCUS_LAST];
-};
-
-/**
  * A theme. This is a singleton class which groups all settings from a theme
  * together.
  */
 struct _MetaTheme
 {
-  MetaFrameStyleSet *style_sets_by_type[META_FRAME_TYPE_LAST];
+  MetaFrameLayout *layouts[META_FRAME_TYPE_LAST];
 };
 
 MetaFrameLayout* meta_frame_layout_new           (void);
@@ -320,21 +263,12 @@ void             meta_frame_layout_get_borders   (const MetaFrameLayout *layout,
                                                   MetaFrameFlags         flags,
                                                   MetaFrameType          type,
                                                   MetaFrameBorders      *borders);
+void               meta_frame_layout_apply_scale (const MetaFrameLayout *layout,
+                                                  PangoFontDescription  *font_desc);
 
-MetaFrameStyle* meta_frame_style_new   (MetaFrameStyle *parent);
-void            meta_frame_style_ref   (MetaFrameStyle *style);
-void            meta_frame_style_unref (MetaFrameStyle *style);
-
-void            meta_frame_style_apply_scale (const MetaFrameStyle *style,
-                                              PangoFontDescription *font_desc);
-
-MetaFrameStyleSet* meta_frame_style_set_new   (MetaFrameStyleSet *parent);
-void               meta_frame_style_set_ref   (MetaFrameStyleSet *style_set);
-void               meta_frame_style_set_unref (MetaFrameStyleSet *style_set);
-
-MetaFrameStyle* meta_theme_get_frame_style (MetaTheme     *theme,
-                                            MetaFrameType  type,
-                                            MetaFrameFlags flags);
+MetaFrameLayout* meta_theme_get_frame_layout (MetaTheme     *theme,
+                                              MetaFrameType  type,
+                                              MetaFrameFlags flags);
 
 MetaStyleInfo * meta_theme_create_style_info (GdkScreen   *screen,
                                               const gchar *variant);
diff --git a/src/ui/theme.c b/src/ui/theme.c
index f6c7e11..c417c64 100644
--- a/src/ui/theme.c
+++ b/src/ui/theme.c
@@ -165,6 +165,15 @@ meta_frame_layout_get_borders (const MetaFrameLayout *layout,
   borders->total.top    = borders->invisible.top    + borders->visible.top;
 }
 
+void
+meta_frame_layout_apply_scale (const MetaFrameLayout *layout,
+                               PangoFontDescription  *font_desc)
+{
+  int size = pango_font_description_get_size (font_desc);
+  pango_font_description_set_size (font_desc,
+                                   MAX (size * layout->title_scale, 1));
+}
+
 static MetaButtonSpace*
 rect_for_function (MetaFrameGeometry *fgeom,
                    MetaFrameFlags     flags,
@@ -652,77 +661,6 @@ meta_frame_layout_calc_geometry (MetaFrameLayout        *layout,
     fgeom->bottom_right_corner_rounded_radius = layout->bottom_right_corner_rounded_radius;
 }
 
-/**
- * meta_frame_style_new:
- * @parent: The parent style. Data not filled in here will be
- *          looked for in the parent style, and in its parent
- *          style, and so on.
- *
- * Constructor for a MetaFrameStyle.
- *
- * Returns: (transfer full): The newly-constructed style.
- */
-MetaFrameStyle*
-meta_frame_style_new (MetaFrameStyle *parent)
-{
-  MetaFrameStyle *style;
-
-  style = g_new0 (MetaFrameStyle, 1);
-
-  style->refcount = 1;
-
-  style->parent = parent;
-  if (parent)
-    meta_frame_style_ref (parent);
-
-  return style;
-}
-
-/**
- * meta_frame_style_ref:
- * @style: The style.
- *
- * Increases the reference count of a frame style.
- */
-void
-meta_frame_style_ref (MetaFrameStyle *style)
-{
-  g_return_if_fail (style != NULL);
-
-  style->refcount += 1;
-}
-
-void
-meta_frame_style_unref (MetaFrameStyle *style)
-{
-  g_return_if_fail (style != NULL);
-  g_return_if_fail (style->refcount > 0);
-
-  style->refcount -= 1;
-
-  if (style->refcount == 0)
-    {
-      if (style->layout)
-        meta_frame_layout_unref (style->layout);
-
-      /* we hold a reference to any parent style */
-      if (style->parent)
-        meta_frame_style_unref (style->parent);
-
-      DEBUG_FILL_STRUCT (style);
-      g_free (style);
-    }
-}
-
-void
-meta_frame_style_apply_scale (const MetaFrameStyle *style,
-                              PangoFontDescription *font_desc)
-{
-  int size = pango_font_description_get_size (font_desc);
-  pango_font_description_set_size (font_desc,
-                                   MAX (size * style->layout->title_scale, 1));
-}
-
 static void
 get_button_rect (MetaButtonType           type,
                  const MetaFrameGeometry *fgeom,
@@ -781,14 +719,14 @@ get_button_rect (MetaButtonType           type,
 }
 
 static void
-meta_frame_style_draw_with_style (MetaFrameStyle          *frame_style,
-                                  MetaStyleInfo           *style_info,
-                                  cairo_t                 *cr,
-                                  const MetaFrameGeometry *fgeom,
-                                  PangoLayout             *title_layout,
-                                  MetaFrameFlags           flags,
-                                  MetaButtonState          button_states[META_BUTTON_TYPE_LAST],
-                                  GdkPixbuf               *mini_icon)
+meta_frame_layout_draw_with_style (MetaFrameLayout         *layout,
+                                   MetaStyleInfo           *style_info,
+                                   cairo_t                 *cr,
+                                   const MetaFrameGeometry *fgeom,
+                                   PangoLayout             *title_layout,
+                                   MetaFrameFlags           flags,
+                                   MetaButtonState          button_states[META_BUTTON_TYPE_LAST],
+                                   GdkPixbuf               *mini_icon)
 {
   GtkStyleContext *style;
   GtkStateFlags state;
@@ -828,7 +766,7 @@ meta_frame_style_draw_with_style (MetaFrameStyle          *frame_style,
                     titlebar_rect.x, titlebar_rect.y,
                     titlebar_rect.width, titlebar_rect.height);
 
-  if (frame_style->layout->has_title && title_layout)
+  if (layout->has_title && title_layout)
     {
       PangoRectangle logical;
       int text_width, x, y;
@@ -909,7 +847,7 @@ meta_frame_style_draw_with_style (MetaFrameStyle          *frame_style,
               GtkIconTheme *theme = gtk_icon_theme_get_default ();
               GtkIconInfo *info;
 
-              info = gtk_icon_theme_lookup_icon (theme, icon_name, frame_style->layout->icon_size, 0);
+              info = gtk_icon_theme_lookup_icon (theme, icon_name, layout->icon_size, 0);
               pixbuf = gtk_icon_info_load_symbolic_for_context (info, style, NULL, NULL);
             }
 
@@ -925,8 +863,8 @@ meta_frame_style_draw_with_style (MetaFrameStyle          *frame_style,
 
               cairo_translate (cr, x, y);
               cairo_scale (cr,
-                           width / frame_style->layout->icon_size,
-                           height / frame_style->layout->icon_size);
+                           width / layout->icon_size,
+                           height / layout->icon_size);
 
               gdk_cairo_set_source_pixbuf (cr, pixbuf, 0, 0);
               cairo_paint (cr);
@@ -938,111 +876,6 @@ meta_frame_style_draw_with_style (MetaFrameStyle          *frame_style,
     }
 }
 
-MetaFrameStyleSet*
-meta_frame_style_set_new (MetaFrameStyleSet *parent)
-{
-  MetaFrameStyleSet *style_set;
-
-  style_set = g_new0 (MetaFrameStyleSet, 1);
-
-  style_set->parent = parent;
-  if (parent)
-    meta_frame_style_set_ref (parent);
-
-  style_set->refcount = 1;
-
-  return style_set;
-}
-
-static void
-free_focus_styles (MetaFrameStyle *focus_styles[META_FRAME_FOCUS_LAST])
-{
-  int i;
-
-  for (i = 0; i < META_FRAME_FOCUS_LAST; i++)
-    if (focus_styles[i])
-      meta_frame_style_unref (focus_styles[i]);
-}
-
-void
-meta_frame_style_set_ref (MetaFrameStyleSet *style_set)
-{
-  g_return_if_fail (style_set != NULL);
-
-  style_set->refcount += 1;
-}
-
-void
-meta_frame_style_set_unref (MetaFrameStyleSet *style_set)
-{
-  g_return_if_fail (style_set != NULL);
-  g_return_if_fail (style_set->refcount > 0);
-
-  style_set->refcount -= 1;
-
-  if (style_set->refcount == 0)
-    {
-      free_focus_styles (style_set->normal_styles);
-      free_focus_styles (style_set->shaded_styles);
-      free_focus_styles (style_set->maximized_styles);
-      free_focus_styles (style_set->tiled_left_styles);
-      free_focus_styles (style_set->tiled_right_styles);
-      free_focus_styles (style_set->maximized_and_shaded_styles);
-      free_focus_styles (style_set->tiled_left_and_shaded_styles);
-      free_focus_styles (style_set->tiled_right_and_shaded_styles);
-
-      if (style_set->parent)
-        meta_frame_style_set_unref (style_set->parent);
-
-      DEBUG_FILL_STRUCT (style_set);
-      g_free (style_set);
-    }
-}
-
-
-static MetaFrameStyle*
-get_style (MetaFrameStyleSet *style_set,
-           MetaFrameState     state,
-           MetaFrameFocus     focus)
-{
-  MetaFrameStyle **styles;
-
-  styles = NULL;
-
-  switch (state)
-    {
-    case META_FRAME_STATE_NORMAL:
-      styles = style_set->normal_styles;
-      break;
-    case META_FRAME_STATE_MAXIMIZED:
-      styles = style_set->maximized_styles;
-      break;
-    case META_FRAME_STATE_TILED_LEFT:
-      styles = style_set->tiled_left_styles;
-      break;
-    case META_FRAME_STATE_TILED_RIGHT:
-      styles = style_set->tiled_right_styles;
-      break;
-    case META_FRAME_STATE_SHADED:
-      styles = style_set->shaded_styles;
-      break;
-    case META_FRAME_STATE_MAXIMIZED_AND_SHADED:
-      styles = style_set->maximized_and_shaded_styles;
-      break;
-    case META_FRAME_STATE_TILED_LEFT_AND_SHADED:
-      styles = style_set->tiled_left_and_shaded_styles;
-      break;
-    case META_FRAME_STATE_TILED_RIGHT_AND_SHADED:
-      styles = style_set->tiled_right_and_shaded_styles;
-      break;
-    case META_FRAME_STATE_LAST:
-      g_assert_not_reached ();
-      break;
-    }
-
-  return styles[focus];
-}
-
 /**
  * meta_theme_get_default: (skip)
  *
@@ -1051,7 +884,7 @@ MetaTheme*
 meta_theme_get_default (void)
 {
   static MetaTheme *theme = NULL;
-  int i, frame_type;
+  int frame_type;
 
   if (theme)
     return theme;
@@ -1060,10 +893,7 @@ meta_theme_get_default (void)
 
   for (frame_type = 0; frame_type < META_FRAME_TYPE_LAST; frame_type++)
     {
-      MetaFrameStyleSet *style_set = meta_frame_style_set_new (NULL);
-      MetaFrameStyle *style = meta_frame_style_new (NULL);
-
-      style->layout = meta_frame_layout_new ();
+      MetaFrameLayout *layout = meta_frame_layout_new ();
 
       switch (frame_type)
         {
@@ -1072,49 +902,21 @@ meta_theme_get_default (void)
         case META_FRAME_TYPE_DIALOG:
         case META_FRAME_TYPE_MODAL_DIALOG:
         case META_FRAME_TYPE_ATTACHED:
-          style->layout->hide_buttons = TRUE;
+          layout->hide_buttons = TRUE;
           break;
         case META_FRAME_TYPE_MENU:
         case META_FRAME_TYPE_UTILITY:
-          style->layout->title_scale = PANGO_SCALE_SMALL;
+          layout->title_scale = PANGO_SCALE_SMALL;
           break;
         case META_FRAME_TYPE_BORDER:
-          style->layout->has_title = FALSE;
-          style->layout->hide_buttons = TRUE;
+          layout->has_title = FALSE;
+          layout->hide_buttons = TRUE;
           break;
         default:
           g_assert_not_reached ();
         }
 
-      for (i = 0; i < META_FRAME_FOCUS_LAST; i++)
-        {
-          meta_frame_style_ref (style);
-          style_set->normal_styles[i] = style;
-
-          meta_frame_style_ref (style);
-          style_set->shaded_styles[i] = style;
-
-          meta_frame_style_ref (style);
-          style_set->maximized_styles[i] = style;
-
-          meta_frame_style_ref (style);
-          style_set->tiled_left_styles[i] = style;
-
-          meta_frame_style_ref (style);
-          style_set->tiled_right_styles[i] = style;
-
-          meta_frame_style_ref (style);
-          style_set->maximized_and_shaded_styles[i] = style;
-
-          meta_frame_style_ref (style);
-          style_set->tiled_left_and_shaded_styles[i] = style;
-
-          meta_frame_style_ref (style);
-          style_set->tiled_right_and_shaded_styles[i] = style;
-        }
-
-      meta_frame_style_unref (style);
-      theme->style_sets_by_type[frame_type] = style_set;
+      theme->layouts[frame_type] = layout;
     }
   return theme;
 }
@@ -1138,80 +940,21 @@ meta_theme_free (MetaTheme *theme)
   g_return_if_fail (theme != NULL);
 
   for (i = 0; i < META_FRAME_TYPE_LAST; i++)
-    if (theme->style_sets_by_type[i])
-      meta_frame_style_set_unref (theme->style_sets_by_type[i]);
+    if (theme->layouts[i])
+      meta_frame_layout_unref (theme->layouts[i]);
 
   DEBUG_FILL_STRUCT (theme);
   g_free (theme);
 }
 
-static MetaFrameStyle*
-theme_get_style (MetaTheme     *theme,
-                 MetaFrameType  type,
-                 MetaFrameFlags flags)
-{
-  MetaFrameState state;
-  MetaFrameFocus focus;
-  MetaFrameStyle *style;
-  MetaFrameStyleSet *style_set;
-
-  style_set = theme->style_sets_by_type[type];
-
-  switch (flags & (META_FRAME_MAXIMIZED | META_FRAME_SHADED |
-                   META_FRAME_TILED_LEFT | META_FRAME_TILED_RIGHT))
-    {
-    case 0:
-      state = META_FRAME_STATE_NORMAL;
-      break;
-    case META_FRAME_MAXIMIZED:
-      state = META_FRAME_STATE_MAXIMIZED;
-      break;
-    case META_FRAME_TILED_LEFT:
-      state = META_FRAME_STATE_TILED_LEFT;
-      break;
-    case META_FRAME_TILED_RIGHT:
-      state = META_FRAME_STATE_TILED_RIGHT;
-      break;
-    case META_FRAME_SHADED:
-      state = META_FRAME_STATE_SHADED;
-      break;
-    case (META_FRAME_MAXIMIZED | META_FRAME_SHADED):
-      state = META_FRAME_STATE_MAXIMIZED_AND_SHADED;
-      break;
-    case (META_FRAME_TILED_LEFT | META_FRAME_SHADED):
-      state = META_FRAME_STATE_TILED_LEFT_AND_SHADED;
-      break;
-    case (META_FRAME_TILED_RIGHT | META_FRAME_SHADED):
-      state = META_FRAME_STATE_TILED_RIGHT_AND_SHADED;
-      break;
-    default:
-      g_assert_not_reached ();
-      state = META_FRAME_STATE_LAST; /* compiler */
-      break;
-    }
-
-  /* re invert the styles used for focus/unfocussed while flashing a frame */
-  if (((flags & META_FRAME_HAS_FOCUS) && !(flags & META_FRAME_IS_FLASHING))
-      || (!(flags & META_FRAME_HAS_FOCUS) && (flags & META_FRAME_IS_FLASHING)))
-    focus = META_FRAME_FOCUS_YES;
-  else
-    focus = META_FRAME_FOCUS_NO;
-
-  return get_style (style_set, state, focus);
-}
-
-MetaFrameStyle*
-meta_theme_get_frame_style (MetaTheme     *theme,
-                            MetaFrameType  type,
-                            MetaFrameFlags flags)
+MetaFrameLayout*
+meta_theme_get_frame_layout (MetaTheme     *theme,
+                             MetaFrameType  type,
+                             MetaFrameFlags flags)
 {
-  MetaFrameStyle *style;
-
   g_return_val_if_fail (type < META_FRAME_TYPE_LAST, NULL);
 
-  style = theme_get_style (theme, type, flags);
-
-  return style;
+  return theme->layouts[type];
 }
 
 static GtkStyleContext *
@@ -1436,17 +1179,17 @@ meta_theme_draw_frame (MetaTheme              *theme,
                        GdkPixbuf              *mini_icon)
 {
   MetaFrameGeometry fgeom;
-  MetaFrameStyle *style;
+  MetaFrameLayout *layout;
 
   g_return_if_fail (type < META_FRAME_TYPE_LAST);
 
-  style = theme_get_style (theme, type, flags);
+  layout = theme->layouts[type];
 
   /* Parser is not supposed to allow this currently */
-  if (style == NULL)
+  if (layout == NULL)
     return;
 
-  meta_frame_layout_calc_geometry (style->layout,
+  meta_frame_layout_calc_geometry (layout,
                                    style_info,
                                    text_height,
                                    flags,
@@ -1456,14 +1199,14 @@ meta_theme_draw_frame (MetaTheme              *theme,
                                    &fgeom,
                                    theme);
 
-  meta_frame_style_draw_with_style (style,
-                                    style_info,
-                                    cr,
-                                    &fgeom,
-                                    title_layout,
-                                    flags,
-                                    button_states,
-                                    mini_icon);
+  meta_frame_layout_draw_with_style (layout,
+                                     style_info,
+                                     cr,
+                                     &fgeom,
+                                     title_layout,
+                                     flags,
+                                     button_states,
+                                     mini_icon);
 }
 
 void
@@ -1474,21 +1217,21 @@ meta_theme_get_frame_borders (MetaTheme        *theme,
                               MetaFrameFlags    flags,
                               MetaFrameBorders *borders)
 {
-  MetaFrameStyle *style;
+  MetaFrameLayout *layout;
 
   g_return_if_fail (type < META_FRAME_TYPE_LAST);
 
-  style = theme_get_style (theme, type, flags);
+  layout = theme->layouts[type];
 
   meta_frame_borders_clear (borders);
 
   /* Parser is not supposed to allow this currently */
-  if (style == NULL)
+  if (layout == NULL)
     return;
 
-  meta_frame_layout_sync_with_style (style->layout, style_info, flags);
+  meta_frame_layout_sync_with_style (layout, style_info, flags);
 
-  meta_frame_layout_get_borders (style->layout,
+  meta_frame_layout_get_borders (layout,
                                  text_height,
                                  flags, type,
                                  borders);
@@ -1505,17 +1248,17 @@ meta_theme_calc_geometry (MetaTheme              *theme,
                           const MetaButtonLayout *button_layout,
                           MetaFrameGeometry      *fgeom)
 {
-  MetaFrameStyle *style;
+  MetaFrameLayout *layout;
 
   g_return_if_fail (type < META_FRAME_TYPE_LAST);
 
-  style = theme_get_style (theme, type, flags);
+  layout = theme->layouts[type];
 
   /* Parser is not supposed to allow this currently */
-  if (style == NULL)
+  if (layout == NULL)
     return;
 
-  meta_frame_layout_calc_geometry (style->layout,
+  meta_frame_layout_calc_geometry (layout,
                                    style_info,
                                    text_height,
                                    flags,


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