(define-object Screen
  (in-module "Gdk")
  (parent "GObject")
  (c-name "GdkScreen")
  (gtype-id "GDK_TYPE_SCREEN")
)

(define-method get_system_visual
  (of-object "GdkScreen")
  (c-name "gdk_screen_get_system_visual")
  (return-type "GdkVisual*")
)

(define-method get_rgba_visual
  (of-object "GdkScreen")
  (c-name "gdk_screen_get_rgba_visual")
  (return-type "GdkVisual*")
)

(define-method get_root_window
  (of-object "GdkScreen")
  (c-name "gdk_screen_get_root_window")
  (return-type "GdkWindow*")
)

(define-method get_display
  (of-object "GdkScreen")
  (c-name "gdk_screen_get_display")
  (return-type "GdkDisplay*")
)

(define-method get_number
  (of-object "GdkScreen")
  (c-name "gdk_screen_get_number")
  (return-type "gint")
)

(define-method get_width
  (of-object "GdkScreen")
  (c-name "gdk_screen_get_width")
  (return-type "gint")
)

(define-method get_height
  (of-object "GdkScreen")
  (c-name "gdk_screen_get_height")
  (return-type "gint")
)

(define-method get_width_mm
  (of-object "GdkScreen")
  (c-name "gdk_screen_get_width_mm")
  (return-type "gint")
)

(define-method get_height_mm
  (of-object "GdkScreen")
  (c-name "gdk_screen_get_height_mm")
  (return-type "gint")
)

(define-method list_visuals
  (of-object "GdkScreen")
  (c-name "gdk_screen_list_visuals")
  (caller-owns-return #l)
  (return-type "GList-GdkVisual*")
)

(define-method get_toplevel_windows
  (of-object "GdkScreen")
  (c-name "gdk_screen_get_toplevel_windows")
  (caller-owns-return #l)
  (return-type "GList-GdkWindow*")
)

(define-method make_display_name
  (of-object "GdkScreen")
  (c-name "gdk_screen_make_display_name")
  (caller-owns-return #t)
  (return-type "gchar*")
)

(define-method get_n_monitors
  (of-object "GdkScreen")
  (c-name "gdk_screen_get_n_monitors")
  (return-type "gint")
)

(define-method get_monitor_geometry
  (of-object "GdkScreen")
  (c-name "gdk_screen_get_monitor_geometry")
  (return-type "none")
  (parameters
    '("gint" "monitor_num")
    '("GdkRectangle*" "dest")
  )
)

(define-method get_monitor_at_point
  (of-object "GdkScreen")
  (c-name "gdk_screen_get_monitor_at_point")
  (return-type "gint")
  (parameters
    '("gint" "x")
    '("gint" "y")
  )
)

(define-method get_monitor_at_window
  (of-object "GdkScreen")
  (c-name "gdk_screen_get_monitor_at_window")
  (return-type "gint")
  (parameters
    '("GdkWindow*" "window")
  )
)

(define-method get_setting
  (of-object "GdkScreen")
  (c-name "gdk_screen_get_setting")
  (return-type "gboolean")
  (parameters
    '("const-gchar*" "name")
    '("GValue*" "value")
  )
)

(define-method alternative_dialog_button_order
  (of-object "GdkScreen")
  (c-name "gtk_alternative_dialog_button_order")
  (return-type "gboolean")
)

(define-virtual size_changed
  (of-object "GdkScreen")
  (return-type "none")
)

(define-method is_composited
  (of-object "GdkScreen")
  (c-name "gdk_screen_is_composited")
  (return-type "gboolean")
)

(define-method set_font_options
  (of-object "GdkScreen")
  (c-name "gdk_screen_set_font_options")
  (return-type "none")
  (parameters
    '("const-cairo_font_options_t*" "options")
  )
)

(define-method get_font_options
  (of-object "GdkScreen")
  (c-name "gdk_screen_get_font_options")
  (return-type "const-cairo_font_options_t*")
)

(define-method set_resolution
  (of-object "GdkScreen")
  (c-name "gdk_screen_set_resolution")
  (return-type "none")
  (parameters
    '("gdouble" "dpi")
  )
)

(define-method get_resolution
  (of-object "GdkScreen")
  (c-name "gdk_screen_get_resolution")
  (return-type "gdouble")
)

(define-method get_active_window
  (of-object "GdkScreen")
  (c-name "gdk_screen_get_active_window")
  (return-type "GdkWindow*")
)

(define-method get_window_stack
  (of-object "GdkScreen")
  (c-name "gdk_screen_get_window_stack")
  (caller-owns-return #f)
  (return-type "GList-GdkWindow*")
)

(define-virtual composited_changed
  (of-object "GdkScreen")
  (return-type "none")
)

(define-function get_default
  (of-object "GdkScreen")
  (c-name "gdk_screen_get_default")
  (return-type "GdkScreen*")
)

