diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ChangeLog.pre-2-10 | 5 | ||||
-rw-r--r-- | gdk/quartz/gdkwindow-quartz.c | 76 |
3 files changed, 82 insertions, 4 deletions
@@ -1,3 +1,8 @@ +2006-08-09 Michael Natterer <mitch@imendio.com> + + * gdk/quartz/gdkwindow-quartz.c (gdk_window_set_geometry_hints): + implement MIN_SIZE, MAX_SIZE and RESIZE_INC. + 2006-08-08 Richard Hult <richard@imendio.com> * gtk/gtkdnd-quartz.c: Implement get/set_track_motion. diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index bfa7d8be09..bb364b5f14 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +2006-08-09 Michael Natterer <mitch@imendio.com> + + * gdk/quartz/gdkwindow-quartz.c (gdk_window_set_geometry_hints): + implement MIN_SIZE, MAX_SIZE and RESIZE_INC. + 2006-08-08 Richard Hult <richard@imendio.com> * gtk/gtkdnd-quartz.c: Implement get/set_track_motion. diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index 110c0f9c07..d70be11ac0 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -1299,7 +1299,77 @@ gdk_window_set_geometry_hints (GdkWindow *window, GdkGeometry *geometry, GdkWindowHints geom_mask) { - /* FIXME: Implement */ + GdkWindowImplQuartz *impl; + + g_return_if_fail (GDK_IS_WINDOW (window)); + g_return_if_fail (geometry != NULL); + + if (GDK_WINDOW_DESTROYED (window)) + return; + + impl = GDK_WINDOW_IMPL_QUARTZ (((GdkWindowObject *) window)->impl); + if (!impl->toplevel) + return; + + if (geom_mask & GDK_HINT_POS) + { + /* FIXME: Implement */ + } + + if (geom_mask & GDK_HINT_USER_POS) + { + /* FIXME: Implement */ + } + + if (geom_mask & GDK_HINT_USER_SIZE) + { + /* FIXME: Implement */ + } + + if (geom_mask & GDK_HINT_MIN_SIZE) + { + NSSize size; + + size.width = geometry->min_width; + size.height = geometry->min_height; + + [impl->toplevel setContentMinSize:size]; + } + + if (geom_mask & GDK_HINT_MAX_SIZE) + { + NSSize size; + + size.width = geometry->max_width; + size.height = geometry->max_height; + + [impl->toplevel setContentMaxSize:size]; + } + + if (geom_mask & GDK_HINT_BASE_SIZE) + { + /* FIXME: Implement */ + } + + if (geom_mask & GDK_HINT_RESIZE_INC) + { + NSSize size; + + size.width = geometry->width_inc; + size.height = geometry->height_inc; + + [impl->toplevel setContentResizeIncrements:size]; + } + + if (geom_mask & GDK_HINT_ASPECT) + { + /* FIXME: Implement */ + } + + if (geom_mask & GDK_HINT_WIN_GRAVITY) + { + /* FIXME: Implement */ + } } void @@ -1331,7 +1401,7 @@ gdk_window_set_role (GdkWindow *window, /* FIXME: Implement */ } -void +void gdk_window_set_transient_for (GdkWindow *window, GdkWindow *parent) { @@ -1438,7 +1508,6 @@ gdk_window_set_icon (GdkWindow *window, GdkPixmap *pixmap, GdkBitmap *mask) { - g_return_if_fail (window != NULL); g_return_if_fail (GDK_IS_WINDOW (window)); /* FIXME: Implement */ @@ -1448,7 +1517,6 @@ void gdk_window_set_icon_name (GdkWindow *window, const gchar *name) { - g_return_if_fail (window != NULL); g_return_if_fail (GDK_IS_WINDOW (window)); /* FIXME: Implement */ |