summaryrefslogtreecommitdiff
path: root/src/core/frame-private.h
diff options
context:
space:
mode:
authorOwen W. Taylor <otaylor@fishsoup.net>2011-03-22 15:36:12 -0400
committerAlberts Muktupāvels <alberts.muktupavels@gmail.com>2015-01-19 05:08:17 +0200
commit0f2e32d15f593fc69414aa5fdaf166d83f6eeb0b (patch)
tree7372c781d17fab5b3dfb91c638c823fa773b2aa0 /src/core/frame-private.h
parent2b1c6443dbe147e9969f619c47084f177e35a873 (diff)
downloadmetacity-0f2e32d15f593fc69414aa5fdaf166d83f6eeb0b.tar.gz
Only shadow ARGB windows with a frame outside the frame
An ARGB window with a frame is likely something like a transparent terminal. It looks awful (and breaks transparency) to draw a big opaque black shadow under the window, so clip out the region under the terminal from the shadow we draw. Add meta_window_get_frame_bounds() to get a cairo region for the outer bounds of the frame of a window, and modify the frame handling code to notice changes to the frame shape and discard a cached region. meta_frames_apply_shapes() is refactored so we can extract meta_frames_get_frame_bounds() from it. https://bugzilla.gnome.org/show_bug.cgi?id=635268 NOTE: Applied only partially, compositor part is still missing...
Diffstat (limited to 'src/core/frame-private.h')
-rw-r--r--src/core/frame-private.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/core/frame-private.h b/src/core/frame-private.h
index eafc324b..7908d24e 100644
--- a/src/core/frame-private.h
+++ b/src/core/frame-private.h
@@ -57,11 +57,13 @@ void meta_frame_queue_draw (MetaFrame *frame);
MetaFrameFlags meta_frame_get_flags (MetaFrame *frame);
-void meta_frame_sync_to_window (MetaFrame *frame,
+gboolean meta_frame_sync_to_window (MetaFrame *frame,
int gravity,
gboolean need_move,
gboolean need_resize);
+cairo_region_t *meta_frame_get_frame_bounds (MetaFrame *frame);
+
void meta_frame_set_screen_cursor (MetaFrame *frame,
MetaCursor cursor);