diff options
author | Alexander Larsson <alexl@redhat.com> | 2001-01-12 15:45:26 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@src.gnome.org> | 2001-01-12 15:45:26 +0000 |
commit | 058c2d9320f088b49d7d9bfaeb43630e1593fb87 (patch) | |
tree | ab7994c3a97d5e7929a9f48b805e00e894a05abc /gtk/gtkwindow-decorate.c | |
parent | 696f0626bc1c896143ebea95c03ad77a5fa346d9 (diff) | |
download | gdk-pixbuf-058c2d9320f088b49d7d9bfaeb43630e1593fb87.tar.gz |
Take shaped windows in consideration when generating clip region.
2001-01-12 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
windows in consideration when generating clip region.
* gdk/linux-fb/gdkfb.h:
Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
* gdk/linux-fb/gdkprivate-fb.h:
Add shape to GdkWindowFBDatat.
exported gdk_fb_window_get_abs_shape().
removed gdk_fb_draw_lines declaration.
* gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
send focus changes when there is a grabbed window.
(gdk_window_get_pointer): Handle shaped windows.
(gdk_fb_region_create_from_bitmap): Convert bitmap to region.
(gdk_fb_window_peek_shape): Returns the shape for a window,
handles GDK_FB_USE_CHILD_SHAPE.
(gdk_fb_window_get_abs_shape): Returns the shape of the window,
offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
(gdk_window_shape_combine_mask): Implement.
* gtk/gtkwindow-decorate.c:
HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
setting the shape of a window makes the window transparent.
Diffstat (limited to 'gtk/gtkwindow-decorate.c')
-rw-r--r-- | gtk/gtkwindow-decorate.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gtk/gtkwindow-decorate.c b/gtk/gtkwindow-decorate.c index d864e1509..c12f52bad 100644 --- a/gtk/gtkwindow-decorate.c +++ b/gtk/gtkwindow-decorate.c @@ -266,8 +266,13 @@ gtk_decorated_window_realize (GtkWindow *window) gtk_decorated_window_inner_change, gtk_decorated_window_inner_get_pos, window); + + /* This is a huge hack to make frames have the same shape as + the window they wrap */ + gdk_window_shape_combine_mask (window->frame, GDK_FB_USE_CHILD_SHAPE, 0, 0); } + static void gtk_decorated_window_unrealize (GtkWindow *window) { |