public void SetMinMaxSize(Size minSize, Size maxSize) { if (GtkWidget.IsClosed) { return; } GdkGeometry geometry = new GdkGeometry(); geometry.min_width = minSize.Width > 0 ? (int)minSize.Width : -1; geometry.min_height = minSize.Height > 0 ? (int)minSize.Height : -1; geometry.max_width = !Double.IsInfinity(maxSize.Width) && maxSize.Width > 0 ? (int)maxSize.Width : 999999; geometry.max_height = !Double.IsInfinity(maxSize.Height) && maxSize.Height > 0 ? (int)maxSize.Height : 999999; Native.GtkWindowSetGeometryHints(GtkWidget, IntPtr.Zero, ref geometry, GdkWindowHints.GDK_HINT_MIN_SIZE | GdkWindowHints.GDK_HINT_MAX_SIZE); }
private void SetWindowRestrictions(Size min, Size max) { var geometry = new GdkGeometry(min, max); GdkWindowHints hints = 0; if (min != Size.Zero) { hints |= GdkWindowHints.MinSize; } if (max != Size.Zero) { hints |= GdkWindowHints.MaxSize; } Gtk.Window.SetGeometryHints(Handle, IntPtr.Zero, ref geometry, hints); }
public static extern void SetGeometryHints(IntPtr window, IntPtr geometry_widget, ref GdkGeometry geometry, GdkWindowHints geom_mask);