[mutter] frame: Start converting over to direct usage of MetaUIFrame



commit 8fdbae192a7e150b67090aee2d2059c0669b313e
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Wed Dec 31 22:09:23 2014 -0800

    frame: Start converting over to direct usage of MetaUIFrame

 src/core/frame.c |   30 ++++--------
 src/ui/frames.c  |  128 +++++++++++------------------------------------------
 src/ui/frames.h  |   61 +++++++++++---------------
 src/ui/ui.c      |   76 --------------------------------
 src/ui/ui.h      |   30 -------------
 5 files changed, 63 insertions(+), 262 deletions(-)
---
diff --git a/src/core/frame.c b/src/core/frame.c
index 41934d7..529a7c6 100644
--- a/src/core/frame.c
+++ b/src/core/frame.c
@@ -213,7 +213,7 @@ meta_window_destroy_frame (MetaWindow *window)
                    window->frame->rect.y + borders.invisible.top);
   meta_error_trap_pop (window->display);
 
-  meta_ui_destroy_frame_window (window->screen->ui, frame->xwindow);
+  meta_ui_frame_unmanage (frame->ui_frame);
 
   meta_display_unregister_x_window (window->display,
                                     frame->xwindow);
@@ -333,9 +333,7 @@ meta_frame_calc_borders (MetaFrame        *frame,
     {
       if (!frame->borders_cached)
         {
-          meta_ui_get_frame_borders (frame->window->screen->ui,
-                                     frame->xwindow,
-                                     &frame->cached_borders);
+          meta_ui_frame_get_borders (frame->ui_frame, &frame->cached_borders);
           frame->borders_cached = TRUE;
         }
 
@@ -360,8 +358,7 @@ meta_frame_sync_to_window (MetaFrame *frame,
               frame->rect.x + frame->rect.width,
               frame->rect.y + frame->rect.height);
 
-  meta_ui_move_resize_frame (frame->window->screen->ui,
-                            frame->xwindow,
+  meta_ui_frame_move_resize (frame->ui_frame,
                             frame->rect.x,
                             frame->rect.y,
                             frame->rect.width,
@@ -372,10 +369,8 @@ meta_frame_sync_to_window (MetaFrame *frame,
       /* If we're interactively resizing the frame, repaint
        * it immediately so we don't start to lag.
        */
-      if (frame->window->display->grab_window ==
-          frame->window)
-        meta_ui_repaint_frame (frame->window->screen->ui,
-                               frame->xwindow);
+      if (frame->window->display->grab_window == frame->window)
+        meta_ui_frame_repaint (frame->ui_frame);
     }
 
   return need_resize;
@@ -384,25 +379,20 @@ meta_frame_sync_to_window (MetaFrame *frame,
 cairo_region_t *
 meta_frame_get_frame_bounds (MetaFrame *frame)
 {
-  return meta_ui_get_frame_bounds (frame->window->screen->ui,
-                                   frame->xwindow,
-                                   frame->rect.width,
-                                   frame->rect.height);
+  return meta_ui_frame_get_bounds (frame->ui_frame, frame->rect.width, frame->rect.height);
 }
 
 void
 meta_frame_get_mask (MetaFrame                    *frame,
                      cairo_t                      *cr)
 {
-  meta_ui_get_frame_mask (frame->window->screen->ui, frame->xwindow,
-                          frame->rect.width, frame->rect.height, cr);
+  meta_ui_frame_get_mask (frame->ui_frame, frame->rect.width, frame->rect.height, cr);
 }
 
 void
 meta_frame_queue_draw (MetaFrame *frame)
 {
-  meta_ui_queue_frame_draw (frame->window->screen->ui,
-                            frame->xwindow);
+  meta_ui_frame_queue_draw (frame->ui_frame);
 }
 
 void
@@ -433,12 +423,12 @@ meta_frame_get_xwindow (MetaFrame *frame)
 void
 meta_frame_update_style (MetaFrame *frame)
 {
-  meta_ui_update_frame_style (frame->window->screen->ui, frame->xwindow);
+  meta_ui_frame_update_style (frame->ui_frame);
 }
 
 void
 meta_frame_update_title (MetaFrame *frame)
 {
   if (frame->window->title)
-    meta_ui_set_frame_title (frame->window->screen->ui, frame->xwindow, frame->window->title);
+    meta_ui_frame_set_title (frame->ui_frame, frame->window->title);
 }
diff --git a/src/ui/frames.c b/src/ui/frames.c
index 095bb97..32f172b 100644
--- a/src/ui/frames.c
+++ b/src/ui/frames.c
@@ -244,11 +244,8 @@ meta_frames_destroy (GtkWidget *object)
   /* Unmanage all frames */
   for (tmp = winlist; tmp != NULL; tmp = tmp->next)
     {
-      MetaUIFrame *frame;
-
-      frame = tmp->data;
-
-      meta_frames_unmanage_window (frames, frame->xwindow);
+      MetaUIFrame *frame = tmp->data;
+      meta_ui_frame_unmanage (frame);
     }
   g_slist_free (winlist);
 
@@ -549,18 +546,9 @@ meta_frames_manage_window (MetaFrames *frames,
 }
 
 void
-meta_frames_unmanage_window (MetaFrames *frames,
-                             Window      xwindow)
+meta_ui_frame_unmanage (MetaUIFrame *frame)
 {
-  MetaUIFrame *frame;
-
-  frame = g_hash_table_lookup (frames->frames, &xwindow);
-
-  if (!frame)
-    {
-      meta_warning ("Frame 0x%lx not managed, can't unmanage\n", xwindow);
-      return;
-    }
+  MetaFrames *frames = frame->frames;
 
   /* restore the cursor */
   meta_core_set_screen_cursor (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
@@ -586,18 +574,7 @@ meta_frames_unmanage_window (MetaFrames *frames,
   g_free (frame);
 }
 
-static MetaUIFrame*
-meta_frames_lookup_window (MetaFrames *frames,
-                           Window      xwindow)
-{
-  MetaUIFrame *frame;
-
-  frame = g_hash_table_lookup (frames->frames, &xwindow);
-
-  return frame;
-}
-
-static void
+void
 meta_ui_frame_get_borders (MetaUIFrame *frame,
                            MetaFrameBorders *borders)
 {
@@ -626,21 +603,6 @@ meta_ui_frame_get_borders (MetaUIFrame *frame,
                                 borders);
 }
 
-void
-meta_frames_get_borders (MetaFrames *frames,
-                         Window xwindow,
-                         MetaFrameBorders *borders)
-{
-  MetaUIFrame *frame;
-
-  frame = meta_frames_lookup_window (frames, xwindow);
-
-  if (frame == NULL)
-    meta_bug ("No such frame 0x%lx\n", xwindow);
-
-  meta_ui_frame_get_borders (frame, borders);
-}
-
 /* The client rectangle surrounds client window; it subtracts both
  * the visible and invisible borders from the frame window's size.
  */
@@ -766,31 +728,19 @@ get_visible_region (MetaUIFrame       *frame,
 }
 
 cairo_region_t *
-meta_frames_get_frame_bounds (MetaFrames *frames,
-                              Window      xwindow,
-                              int         window_width,
-                              int         window_height)
+meta_ui_frame_get_bounds (MetaUIFrame *frame,
+                          int          window_width,
+                          int          window_height)
 {
-  MetaUIFrame *frame;
   MetaFrameGeometry fgeom;
-
-  frame = meta_frames_lookup_window (frames, xwindow);
-  g_return_val_if_fail (frame != NULL, NULL);
-
   meta_frames_calc_geometry (frame, &fgeom);
-
   return get_visible_region (frame, &fgeom, window_width, window_height);
 }
 
 void
-meta_frames_move_resize_frame (MetaFrames *frames,
-                               Window      xwindow,
-                               int         x,
-                               int         y,
-                               int         width,
-                               int         height)
+meta_ui_frame_move_resize (MetaUIFrame *frame,
+                           int x, int y, int width, int height)
 {
-  MetaUIFrame *frame = meta_frames_lookup_window (frames, xwindow);
   int old_width, old_height;
 
   old_width = gdk_window_get_width (frame->window);
@@ -803,27 +753,15 @@ meta_frames_move_resize_frame (MetaFrames *frames,
 }
 
 void
-meta_frames_queue_draw (MetaFrames *frames,
-                        Window      xwindow)
+meta_ui_frame_queue_draw (MetaUIFrame *frame)
 {
-  MetaUIFrame *frame;
-
-  frame = meta_frames_lookup_window (frames, xwindow);
-
   invalidate_whole_window (frame);
 }
 
 void
-meta_frames_set_title (MetaFrames *frames,
-                       Window      xwindow,
-                       const char *title)
+meta_ui_frame_set_title (MetaUIFrame *frame,
+                         const char *title)
 {
-  MetaUIFrame *frame;
-
-  frame = meta_frames_lookup_window (frames, xwindow);
-
-  g_assert (frame);
-
   g_free (frame->title);
   frame->title = g_strdup (title);
 
@@ -833,29 +771,15 @@ meta_frames_set_title (MetaFrames *frames,
 }
 
 void
-meta_frames_update_frame_style (MetaFrames *frames,
-                                Window      xwindow)
+meta_ui_frame_update_style (MetaUIFrame *frame)
 {
-  MetaUIFrame *frame;
-
-  frame = meta_frames_lookup_window (frames, xwindow);
-
-  g_assert (frame);
-
   meta_frames_attach_style (frame);
   invalidate_whole_window (frame);
 }
 
 void
-meta_frames_repaint_frame (MetaFrames *frames,
-                           Window      xwindow)
+meta_ui_frame_repaint (MetaUIFrame *frame)
 {
-  MetaUIFrame *frame;
-
-  frame = meta_frames_lookup_window (frames, xwindow);
-
-  g_assert (frame);
-
   /* repaint everything, so the other frame don't
    * lag behind if they are exposed
    */
@@ -876,6 +800,13 @@ redraw_control (MetaUIFrame *frame,
   gdk_window_invalidate_rect (frame->window, rect, FALSE);
 }
 
+static MetaUIFrame*
+meta_frames_lookup_window (MetaFrames *frames,
+                           Window      xwindow)
+{
+  return g_hash_table_lookup (frames->frames, &xwindow);
+}
+
 static gboolean
 meta_frame_titlebar_event (MetaUIFrame    *frame,
                            GdkEventButton *event,
@@ -1567,21 +1498,16 @@ get_visible_frame_border_region (MetaUIFrame *frame)
  * @cr: Used to draw the resulting mask
  */
 void
-meta_frames_get_mask (MetaFrames          *frames,
-                      Window               xwindow,
-                      guint                width,
-                      guint                height,
-                      cairo_t             *cr)
+meta_ui_frame_get_mask (MetaUIFrame *frame,
+                        guint        width,
+                        guint        height,
+                        cairo_t     *cr)
 {
-  MetaUIFrame *frame = meta_frames_lookup_window (frames, xwindow);
   MetaFrameBorders borders;
   MetaFrameFlags flags;
 
-  if (frame == NULL)
-    meta_bug ("No such frame 0x%lx\n", xwindow);
-
   meta_core_get (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
-                 xwindow,
+                 frame->xwindow,
                  META_CORE_GET_FRAME_FLAGS, &flags,
                  META_CORE_GET_END);
 
diff --git a/src/ui/frames.h b/src/ui/frames.h
index de9853b..534c6ac 100644
--- a/src/ui/frames.h
+++ b/src/ui/frames.h
@@ -123,41 +123,32 @@ MetaFrames *meta_frames_new (int screen_number);
 MetaUIFrame * meta_frames_manage_window (MetaFrames *frames,
                                          Window      xwindow,
                                          GdkWindow  *window);
-void meta_frames_unmanage_window (MetaFrames *frames,
-                                  Window      xwindow);
-void meta_frames_set_title (MetaFrames *frames,
-                            Window      xwindow,
-                            const char *title);
-
-void meta_frames_update_frame_style (MetaFrames *frames,
-                                     Window      xwindow);
-
-void meta_frames_repaint_frame (MetaFrames *frames,
-                                Window      xwindow);
-
-void meta_frames_get_borders (MetaFrames *frames,
-                              Window xwindow,
-                              MetaFrameBorders *borders);
-
-cairo_region_t *meta_frames_get_frame_bounds (MetaFrames *frames,
-                                              Window      xwindow,
-                                              int         window_width,
-                                              int         window_height);
-
-void meta_frames_get_mask (MetaFrames *frames,
-                           Window      xwindow,
-                           guint       width,
-                           guint       height,
-                           cairo_t    *cr);
-
-void meta_frames_move_resize_frame (MetaFrames *frames,
-                                   Window      xwindow,
-                                   int         x,
-                                   int         y,
-                                   int         width,
-                                   int         height);
-void meta_frames_queue_draw (MetaFrames *frames,
-                             Window      xwindow);
+
+void meta_ui_frame_unmanage (MetaUIFrame *frame);
+
+void meta_ui_frame_set_title (MetaUIFrame *frame,
+                              const char *title);
+
+void meta_ui_frame_update_style (MetaUIFrame *frame);
+
+void meta_ui_frame_repaint (MetaUIFrame *frame);
+
+void meta_ui_frame_get_borders (MetaUIFrame      *frame,
+                                MetaFrameBorders *borders);
+
+cairo_region_t * meta_ui_frame_get_bounds (MetaUIFrame *frame,
+                                           int          window_width,
+                                           int          window_height);
+
+void meta_ui_frame_get_mask (MetaUIFrame *frame,
+                             guint        width,
+                             guint        height,
+                             cairo_t     *cr);
+
+void meta_ui_frame_move_resize (MetaUIFrame *frame,
+                                int x, int y, int width, int height);
+
+void meta_ui_frame_queue_draw (MetaUIFrame *frame);
 
 Window meta_frames_get_moving_frame (MetaFrames *frames);
 
diff --git a/src/ui/ui.c b/src/ui/ui.c
index 880d7f4..22fb087 100644
--- a/src/ui/ui.c
+++ b/src/ui/ui.c
@@ -312,25 +312,6 @@ meta_ui_free (MetaUI *ui)
   g_free (ui);
 }
 
-void
-meta_ui_get_frame_mask (MetaUI  *ui,
-                        Window   frame_xwindow,
-                        guint    width,
-                        guint    height,
-                        cairo_t *cr)
-{
-  meta_frames_get_mask (ui->frames, frame_xwindow, width, height, cr);
-}
-
-void
-meta_ui_get_frame_borders (MetaUI *ui,
-                           Window frame_xwindow,
-                           MetaFrameBorders *borders)
-{
-  meta_frames_get_borders (ui->frames, frame_xwindow,
-                           borders);
-}
-
 static void
 set_background_none (Display *xdisplay,
                      Window   xwindow)
@@ -414,24 +395,6 @@ meta_ui_create_frame (MetaUI *ui,
 }
 
 void
-meta_ui_destroy_frame_window (MetaUI *ui,
-                             Window  xwindow)
-{
-  meta_frames_unmanage_window (ui->frames, xwindow);
-}
-
-void
-meta_ui_move_resize_frame (MetaUI *ui,
-                          Window frame,
-                          int x,
-                          int y,
-                          int width,
-                          int height)
-{
-  meta_frames_move_resize_frame (ui->frames, frame, x, y, width, height);
-}
-
-void
 meta_ui_map_frame   (MetaUI *ui,
                      Window  xwindow)
 {
@@ -459,45 +422,6 @@ meta_ui_unmap_frame (MetaUI *ui,
     gdk_window_hide (window);
 }
 
-void
-meta_ui_update_frame_style (MetaUI  *ui,
-                            Window   xwindow)
-{
-  meta_frames_update_frame_style (ui->frames, xwindow);
-}
-
-void
-meta_ui_repaint_frame (MetaUI *ui,
-                       Window xwindow)
-{
-  meta_frames_repaint_frame (ui->frames, xwindow);
-}
-
-cairo_region_t *
-meta_ui_get_frame_bounds (MetaUI  *ui,
-                          Window   xwindow,
-                          int      window_width,
-                          int      window_height)
-{
-  return meta_frames_get_frame_bounds (ui->frames, xwindow,
-                                       window_width, window_height);
-}
-
-void
-meta_ui_queue_frame_draw (MetaUI *ui,
-                          Window xwindow)
-{
-  meta_frames_queue_draw (ui->frames, xwindow);
-}
-
-void
-meta_ui_set_frame_title (MetaUI     *ui,
-                         Window      xwindow,
-                         const char *title)
-{
-  meta_frames_set_title (ui->frames, xwindow, title);
-}
-
 gboolean
 meta_ui_window_should_not_cause_focus (Display *xdisplay,
                                        Window   xwindow)
diff --git a/src/ui/ui.h b/src/ui/ui.h
index 33d364a..5c34410 100644
--- a/src/ui/ui.h
+++ b/src/ui/ui.h
@@ -49,15 +49,6 @@ void meta_ui_theme_get_frame_borders (MetaUI *ui,
                                       MetaFrameType      type,
                                       MetaFrameFlags     flags,
                                       MetaFrameBorders *borders);
-void meta_ui_get_frame_borders (MetaUI *ui,
-                                Window frame_xwindow,
-                                MetaFrameBorders *borders);
-
-void meta_ui_get_frame_mask (MetaUI *ui,
-                             Window frame_xwindow,
-                             guint width,
-                             guint height,
-                             cairo_t *cr);
 
 MetaUIFrame * meta_ui_create_frame (MetaUI *ui,
                                     Display *xdisplay,
@@ -68,8 +59,6 @@ MetaUIFrame * meta_ui_create_frame (MetaUI *ui,
                                     gint height,
                                     gint screen_no,
                                     gulong *create_serial);
-void meta_ui_destroy_frame_window (MetaUI *ui,
-                                  Window  xwindow);
 void meta_ui_move_resize_frame (MetaUI *ui,
                                Window frame,
                                int x,
@@ -83,25 +72,6 @@ void meta_ui_map_frame   (MetaUI *ui,
 void meta_ui_unmap_frame (MetaUI *ui,
                           Window  xwindow);
 
-cairo_region_t *meta_ui_get_frame_bounds (MetaUI  *ui,
-                                          Window   xwindow,
-                                          int      window_width,
-                                          int      window_height);
-
-void meta_ui_queue_frame_draw (MetaUI *ui,
-                               Window xwindow);
-
-void meta_ui_set_frame_title (MetaUI *ui,
-                              Window xwindow,
-                              const char *title);
-
-void meta_ui_update_frame_style (MetaUI  *ui,
-                                 Window   window);
-
-void meta_ui_repaint_frame (MetaUI *ui,
-                            Window xwindow);
-
-
 gboolean  meta_ui_window_should_not_cause_focus (Display *xdisplay,
                                                  Window   xwindow);
 


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