summaryrefslogtreecommitdiff
path: root/gdk
diff options
context:
space:
mode:
authorMichael Natterer <mitch@imendio.com>2006-08-08 22:55:27 +0000
committerMichael Natterer <mitch@src.gnome.org>2006-08-08 22:55:27 +0000
commit0802881649934fff73b03f48df2871375fa34dac (patch)
tree445c0498153566a1c9e7feda082ef1da9237e083 /gdk
parent7af7c0a3e337c15200fc1ebed01aba1ace45a26b (diff)
downloadgtk+-0802881649934fff73b03f48df2871375fa34dac.tar.gz
implement MIN_SIZE, MAX_SIZE and RESIZE_INC.
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.
Diffstat (limited to 'gdk')
-rw-r--r--gdk/quartz/gdkwindow-quartz.c76
1 files changed, 72 insertions, 4 deletions
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 */