diff options
author | Alberts Muktupāvels <alberts.muktupavels@gmail.com> | 2015-04-05 01:41:34 +0300 |
---|---|---|
committer | Alberts Muktupāvels <alberts.muktupavels@gmail.com> | 2015-04-05 01:41:34 +0300 |
commit | 69f79f09293a55764373c25e6d0ff2fa920bd781 (patch) | |
tree | ba5057d0424e9bddbfa2adf40d110dba4459a33c | |
parent | b9d13506d486ddd21c3e019baa8236d0a4438b93 (diff) | |
download | metacity-69f79f09293a55764373c25e6d0ff2fa920bd781.tar.gz |
frames: clip drawing to visible region for metacity themes
-rw-r--r-- | src/ui/frames.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/ui/frames.c b/src/ui/frames.c index 9dd33ae4..7864c4b7 100644 --- a/src/ui/frames.c +++ b/src/ui/frames.c @@ -2486,7 +2486,21 @@ meta_frames_draw (GtkWidget *widget, populate_cache (frames, frame); - region = cairo_region_create_rectangle (&clip); + if (meta_prefs_get_theme ()) + { + MetaFrameGeometry fgeom; + + meta_frames_calc_geometry (frames, frame, &fgeom); + + region = get_visible_region (frames, frame, &fgeom, fgeom.width, fgeom.height); + + gdk_cairo_region (cr, region); + cairo_clip(cr); + } + else + { + region = cairo_region_create_rectangle (&clip); + } pixels = get_cache (frames, frame); |