+ (resolution screen-resolution "resolution" "gdouble" t t)
+ (:cffi default-colormap screen-default-colormap (g-object colormap)
+ "gdk_screen_get_default_colormap" "gdk_screen_set_default_colormap")
+ (:cffi system-colormap screen-system-colormap (g-object colormap)
+ "gdk_screen_get_system_colormap" nil)
+ (:cffi system-visual screen-system-visual (g-object visual)
+ "gdk_screen_get_system_visual" nil)
+ (:cffi rgb-colormap screen-rgb-colormap (g-object colormap)
+ "gdk_screen_get_rgb_colormap" nil)
+ (:cffi rgb-visual screen-visual (g-object visual)
+ "gdk_screen_get_rgb_visual" nil)
+ (:cffi rgba-colormap screen-rgba-colormap (g-object colormap)
+ "gdk_screen_get_rgba_colormap" nil)
+ (:cffi rgba-visual screen-rgba-visual (g-object visual)
+ "gdk_screen_get_rgba_visual" nil)
+ (:cffi composited-p screen-composited-p :boolean
+ "gdk_screen_is_composited" nil)
+ (:cffi root-window screen-root-window (g-object gdk-window)
+ "gdk_screen_get_root_window" nil)
+ (:cffi display screen-display (g-object display)
+ "gdk_screen_get_display" nil)
+ (:cffi number screen-number :int
+ "gdk_screen_get_number" nil)
+ (:cffi width screen-widget :int
+ "gdk_screen_get_width" nil)
+ (:cffi height screen-height :int
+ "gdk_screen_get_height" nil)
+ (:cffi width-mm screen-width-mm :int
+ "gdk_screen_get_width_mm" nil)
+ (:cffi height-mm screen-height-mm :int
+ "gdk_screen_get_height_mm" nil)
+ (:cffi visuals screen-visuals (glib:glist (g-object visual) :free-from-foreign t)
+ "gdk_screen_list_visuals" nil)
+ (:cffi toplevel-windows screen-toplevel-windows (glib:glist (g-object gdk-window) :free-from-foreign t)
+ "gdk_screen_get_toplevel_windows" nil)
+ (:cffi display-name screen-display-name (glib:g-string :free-from-foreign t)
+ "gdk_screen_make_display_name" nil)
+ (:cffi n-monitors screen-n-monitors :int
+ "gdk_screen_get_n_monitors" nil)
+ (:cffi active-window screen-active-window (g-object gdk-window)
+ "gdk_screen_get_active_window" nil)
+ (:cffi window-stack screen-window-stack (glib:glist (g-object gdk-window) :free-from-foreign t)
+ "gdk_screen_get_window_stack" nil)))
+
+(defcfun gdk-region-new :pointer)
+
+(define-g-boxed-opaque region nil :alloc (gdk-region-new))
+
+(export (boxed-related-symbols 'region))
+
+(define-g-boxed-cstruct point nil
+ (x :int :initform 0)
+ (y :int :initform 0))
+
+(export (boxed-related-symbols 'point))
+
+(define-g-boxed-cstruct span nil
+ (x :int :initform 0)
+ (y :int :initform 0)
+ (width :int :initform 0))
+
+(export (boxed-related-symbols 'span))
+
+(define-g-boxed-cstruct segment nil
+ (x1 :int :initform 0)
+ (y1 :int :initform 0)
+ (x2 :int :initform 0)
+ (y2 :int :initform 0))
+
+(export (boxed-related-symbols 'segment))
+
+(define-g-boxed-cstruct trapezoid nil
+ (y1 :double :initform 0d0)
+ (x11 :double :initform 0d0)
+ (x21 :double :initform 0d0)
+ (y2 :double :initform 0d0)
+ (x12 :double :initform 0d0)
+ (x22 :double :initform 0d0))
+
+(export (boxed-related-symbols 'trapezoid))
+
+(define-g-boxed-cstruct rectangle "GdkRectangle"
+ (x :int :initform 0)
+ (y :int :initform 0)
+ (width :int :initform 0)
+ (height :int :initform 0))