diff options
author | Michael Natterer <mitch@imendio.com> | 2006-08-08 21:00:23 +0000 |
---|---|---|
committer | Michael Natterer <mitch@src.gnome.org> | 2006-08-08 21:00:23 +0000 |
commit | d451252f73fdb696ff111895e699271d033d2391 (patch) | |
tree | 6fbd343ebd64d1137d20da3c132be598b29095a2 /gdk | |
parent | d3ee9f833a672e1efd7343b21541500b0b115988 (diff) | |
download | gtk+-d451252f73fdb696ff111895e699271d033d2391.tar.gz |
implement.
2006-08-08 Michael Natterer <mitch@imendio.com>
* gdk/quartz/gdkwindow-quartz.c
(gdk_window_maximize)
(gdk_window_unmaximize): implement.
(gdk_window_iconify)
(gdk_window_deiconify): remove unneeded autorelease pools.
Diffstat (limited to 'gdk')
-rw-r--r-- | gdk/quartz/gdkwindow-quartz.c | 45 |
1 files changed, 29 insertions, 16 deletions
diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index 7688d67981..110c0f9c07 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -640,7 +640,9 @@ gdk_window_new (GdkWindow *parent, impl->toplevel = [[GdkQuartzWindow alloc] initWithContentRect:content_rect styleMask:style_mask - backing:NSBackingStoreBuffered defer:NO]; + backing:NSBackingStoreBuffered + defer:NO]; + if (attributes_mask & GDK_WA_TITLE) title = attributes->title; else @@ -1524,12 +1526,12 @@ gdk_window_set_type_hint (GdkWindow *window, level = NSTornOffMenuWindowLevel; shadow = TRUE; break; - + case GDK_WINDOW_TYPE_HINT_SPLASHSCREEN: level = NSPopUpMenuWindowLevel; shadow = TRUE; break; - + case GDK_WINDOW_TYPE_HINT_POPUP_MENU: case GDK_WINDOW_TYPE_HINT_COMBO: level = NSPopUpMenuWindowLevel; @@ -1714,17 +1716,34 @@ gdk_window_unstick (GdkWindow *window) void gdk_window_maximize (GdkWindow *window) { + GdkWindowImplQuartz *impl; + g_return_if_fail (GDK_IS_WINDOW (window)); - /* FIXME: Implement */ + + if (GDK_WINDOW_DESTROYED (window)) + return; + + impl = GDK_WINDOW_IMPL_QUARTZ (GDK_WINDOW_OBJECT (window)->impl); + + if (impl->toplevel && ![impl->toplevel isZoomed]) + [impl->toplevel zoom:nil]; } void gdk_window_unmaximize (GdkWindow *window) { + GdkWindowImplQuartz *impl; + g_return_if_fail (GDK_IS_WINDOW (window)); - /* FIXME: Implement */ + if (GDK_WINDOW_DESTROYED (window)) + return; + + impl = GDK_WINDOW_IMPL_QUARTZ (GDK_WINDOW_OBJECT (window)->impl); + + if (impl->toplevel && [impl->toplevel isZoomed]) + [impl->toplevel zoom:nil]; } void @@ -1738,12 +1757,9 @@ gdk_window_iconify (GdkWindow *window) return; impl = GDK_WINDOW_IMPL_QUARTZ (GDK_WINDOW_OBJECT (window)->impl); - if (!impl->toplevel) - return; - - GDK_QUARTZ_ALLOC_POOL; - [impl->toplevel miniaturize:nil]; - GDK_QUARTZ_RELEASE_POOL; + + if (impl->toplevel) + [impl->toplevel miniaturize:nil]; } void @@ -1757,12 +1773,9 @@ gdk_window_deiconify (GdkWindow *window) return; impl = GDK_WINDOW_IMPL_QUARTZ (GDK_WINDOW_OBJECT (window)->impl); - if (!impl->toplevel) - return; - GDK_QUARTZ_ALLOC_POOL; - [impl->toplevel deminiaturize:nil]; - GDK_QUARTZ_RELEASE_POOL; + if (impl->toplevel) + [impl->toplevel deminiaturize:nil]; } void |