diff options
author | Richard Hult <richard@imendio.com> | 2007-04-30 17:42:49 +0000 |
---|---|---|
committer | Richard Hult <rhult@src.gnome.org> | 2007-04-30 17:42:49 +0000 |
commit | 34c0f15bdfc76b34cb0c3a488766abb43e4ee1eb (patch) | |
tree | 9d510e9c461da4ef43a4731ac0e02110d88ab68c /gdk | |
parent | f38ff3c52b5a5ea1ad2c9ad5366b384a57d08de0 (diff) | |
download | gtk+-34c0f15bdfc76b34cb0c3a488766abb43e4ee1eb.tar.gz |
Implement.
2007-04-30 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkwindow-quartz.c: (gdk_window_set_opacity):
Implement.
svn path=/trunk/; revision=17743
Diffstat (limited to 'gdk')
-rw-r--r-- | gdk/quartz/gdkwindow-quartz.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index 6003064180..07ecd3c1eb 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -29,6 +29,9 @@ static gpointer parent_class; static GSList *update_windows = NULL; static guint update_idle = 0; +#define WINDOW_IS_TOPLEVEL(window) \ + (GDK_WINDOW_TYPE (window) != GDK_WINDOW_CHILD && \ + GDK_WINDOW_TYPE (window) != GDK_WINDOW_FOREIGN) NSView * gdk_quartz_window_get_nsview (GdkWindow *window) @@ -2024,3 +2027,24 @@ gdk_window_beep (GdkWindow *window) { gdk_display_beep (_gdk_display); } + +void +gdk_window_set_opacity (GdkWindow *window, + gdouble opacity) +{ + GdkWindowObject *private = (GdkWindowObject *) window; + GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (private->impl); + + g_return_if_fail (GDK_IS_WINDOW (window)); + g_return_if_fail (WINDOW_IS_TOPLEVEL (window)); + + if (GDK_WINDOW_DESTROYED (window)) + return; + + if (opacity < 0) + opacity = 0; + else if (opacity > 1) + opacity = 1; + + [impl->toplevel setAlphaValue: opacity]; +} |