[mutter] frames.c: Make cached_pixels_draw() take a cairo_t



commit e75abacec6f678c851f1d574a9391b53ab888d56
Author: Benjamin Otte <otte redhat com>
Date:   Fri Sep 24 12:53:04 2010 +0200

    frames.c: Make cached_pixels_draw() take a cairo_t
    
    This basically just moves the creation of the cairo_t out of the
    function. It is done in preparation for GTK3.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=630203

 src/ui/frames.c |   11 ++++-------
 1 files changed, 4 insertions(+), 7 deletions(-)
---
diff --git a/src/ui/frames.c b/src/ui/frames.c
index 9767703..d8d0c96 100644
--- a/src/ui/frames.c
+++ b/src/ui/frames.c
@@ -2254,15 +2254,12 @@ subtract_client_area (MetaRegion *region, MetaUIFrame *frame)
 
 static void
 cached_pixels_draw (CachedPixels *pixels,
-                    GdkWindow    *window,
+                    cairo_t      *cr,
                     MetaRegion   *region)
 {
   MetaRegion *region_piece;
-  cairo_t *cr;
   int i;
 
-  cr = gdk_cairo_create (window);
-
   for (i = 0; i < 4; i++)
     {
       CachedFramePiece *piece;
@@ -2279,8 +2276,6 @@ cached_pixels_draw (CachedPixels *pixels,
           meta_region_destroy (region_piece);
         }
     }
-  
-  cairo_destroy (cr);
 }
 
 static gboolean
@@ -2314,7 +2309,9 @@ meta_frames_expose_event (GtkWidget           *widget,
   
   pixels = get_cache (frames, frame);
 
-  cached_pixels_draw (pixels, frame->window, region);
+  cr = gdk_cairo_create (event->window);
+  cached_pixels_draw (pixels, cr, region);
+  cairo_destroy (cr);
   
   clip_to_screen (region, frame);
   subtract_client_area (region, frame);



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