summaryrefslogtreecommitdiff
path: root/gdk
diff options
context:
space:
mode:
authorRichard Hult <richard@imendio.com>2007-04-30 17:42:49 +0000
committerRichard Hult <rhult@src.gnome.org>2007-04-30 17:42:49 +0000
commit34c0f15bdfc76b34cb0c3a488766abb43e4ee1eb (patch)
tree9d510e9c461da4ef43a4731ac0e02110d88ab68c /gdk
parentf38ff3c52b5a5ea1ad2c9ad5366b384a57d08de0 (diff)
downloadgtk+-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.c24
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];
+}