summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Kareh <[email protected]>2019-05-30 14:58:01 -0400
committerraveit65 <[email protected]>2019-06-16 18:12:44 +0200
commitb38437e7d1ef717fd92ef6cff5e0caa5ddcc58da (patch)
tree77f3f3fdea7860e0e7e2b24f5c8faebd1117ae44
parent3e456268537d5e322d5ca9ef6f65824b7e50af8e (diff)
downloadmarco-b38437e7d1ef717fd92ef6cff5e0caa5ddcc58da.tar.bz2
marco-b38437e7d1ef717fd92ef6cff5e0caa5ddcc58da.tar.xz
frames: include invisible area in cache
GTK+ theme might use this area to paint box-shadow. Also use CAIRO_CONTENT_COLOR_ALPHA for cairo surfaces. upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/13137b1d
-rw-r--r--src/ui/frames.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/ui/frames.c b/src/ui/frames.c
index bcee02db..011eef35 100644
--- a/src/ui/frames.c
+++ b/src/ui/frames.c
@@ -2307,7 +2307,7 @@ generate_pixmap (MetaFrames *frames,
return NULL;
result = gdk_window_create_similar_surface (frame->window,
- CAIRO_CONTENT_COLOR,
+ CAIRO_CONTENT_COLOR_ALPHA,
rect->width, rect->height);
cr = cairo_create (result);
@@ -2373,28 +2373,28 @@ populate_cache (MetaFrames *frames,
* size without any border added. */
/* top */
- pixels->piece[0].rect.x = borders.invisible.left;
- pixels->piece[0].rect.y = borders.invisible.top;
- pixels->piece[0].rect.width = width + borders.visible.left + borders.visible.right;
- pixels->piece[0].rect.height = borders.visible.top;
+ pixels->piece[0].rect.x = 0;
+ pixels->piece[0].rect.y = 0;
+ pixels->piece[0].rect.width = width + borders.total.left + borders.total.right;
+ pixels->piece[0].rect.height = borders.total.top;
/* left */
- pixels->piece[1].rect.x = borders.invisible.left;
+ pixels->piece[1].rect.x = 0;
pixels->piece[1].rect.y = borders.total.top;
- pixels->piece[1].rect.width = borders.visible.left;
+ pixels->piece[1].rect.width = borders.total.left;
pixels->piece[1].rect.height = height;
/* right */
pixels->piece[2].rect.x = borders.total.left + width;
pixels->piece[2].rect.y = borders.total.top;
- pixels->piece[2].rect.width = borders.visible.right;
+ pixels->piece[2].rect.width = borders.total.right;
pixels->piece[2].rect.height = height;
/* bottom */
- pixels->piece[3].rect.x = borders.invisible.left;
+ pixels->piece[3].rect.x = 0;
pixels->piece[3].rect.y = borders.total.top + height;
- pixels->piece[3].rect.width = width + borders.visible.left + borders.visible.right;
- pixels->piece[3].rect.height = borders.visible.bottom;
+ pixels->piece[3].rect.width = width + borders.total.left + borders.total.right;
+ pixels->piece[3].rect.height = borders.total.bottom;
for (i = 0; i < 4; i++)
{