summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--ChangeLog.pre-2-105
-rw-r--r--gdk/quartz/gdkwindow-quartz.c76
3 files changed, 82 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index bfa7d8be09..bb364b5f14 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 */