(define-object Display
  (in-module "Gdk")
  (parent "GObject")
  (c-name "GdkDisplay")
  (gtype-id "GDK_TYPE_DISPLAY")
)

(define-function display_open
  (is-constructor-of "GdkDisplay")
  (c-name "gdk_display_open")
  (caller-owns-return #t)
  (return-type "GdkDisplay*")
  (parameters
    '("const-gchar*" "display_name" (null-ok))
  )
)

(define-method get_name
  (of-object "GdkDisplay")
  (c-name "gdk_display_get_name")
  (return-type "const-gchar*")
)

(define-method get_n_screens
  (of-object "GdkDisplay")
  (c-name "gdk_display_get_n_screens")
  (return-type "gint")
)

(define-method get_screen
  (of-object "GdkDisplay")
  (c-name "gdk_display_get_screen")
  (return-type "GdkScreen*")
  (parameters
    '("gint" "screen_num")
  )
)

(define-method get_default_screen
  (of-object "GdkDisplay")
  (c-name "gdk_display_get_default_screen")
  (return-type "GdkScreen*")
)

(define-method pointer_ungrab
  (of-object "GdkDisplay")
  (c-name "gdk_display_pointer_ungrab")
  (return-type "none")
  (parameters
    '("guint32" "time_" (default "GDK_CURRENT_TIME"))
  )
)

(define-method keyboard_ungrab
  (of-object "GdkDisplay")
  (c-name "gdk_display_keyboard_ungrab")
  (return-type "none")
  (parameters
    '("guint32" "time_" (default "GDK_CURRENT_TIME"))
  )
)

(define-method pointer_is_grabbed
  (of-object "GdkDisplay")
  (c-name "gdk_display_pointer_is_grabbed")
  (return-type "gboolean")
)

(define-method beep
  (of-object "GdkDisplay")
  (c-name "gdk_display_beep")
  (return-type "none")
)

(define-method sync
  (of-object "GdkDisplay")
  (c-name "gdk_display_sync")
  (return-type "none")
)

(define-method close
  (of-object "GdkDisplay")
  (c-name "gdk_display_close")
  (return-type "none")
)

(define-method list_devices
  (of-object "GdkDisplay")
  (c-name "gdk_display_list_devices")
  (return-type "GList*")
)

(define-method get_event
  (of-object "GdkDisplay")
  (c-name "gdk_display_get_event")
  (return-type "GdkEvent*")
)

(define-method peek_event
  (of-object "GdkDisplay")
  (c-name "gdk_display_peek_event")
  (return-type "GdkEvent*")
)

(define-method put_event
  (of-object "GdkDisplay")
  (c-name "gdk_display_put_event")
  (return-type "none")
  (parameters
    '("GdkEvent*" "event")
  )
)

(define-method add_client_message_filter
  (of-object "GdkDisplay")
  (c-name "gdk_display_add_client_message_filter")
  (return-type "none")
  (parameters
    '("GdkAtom" "message_type")
    '("GdkFilterFunc" "func")
    '("gpointer" "data")
  )
)

(define-method set_double_click_time
  (of-object "GdkDisplay")
  (c-name "gdk_display_set_double_click_time")
  (return-type "none")
  (parameters
    '("guint" "msec")
  )
)

(define-method get_pointer
  (of-object "GdkDisplay")
  (c-name "gdk_display_get_pointer")
  (return-type "none")
  (parameters
    '("GdkScreen**" "screen")
    '("gint*" "x")
    '("gint*" "y")
    '("GdkModifierType*" "mask")
  )
)

(define-method get_window_at_pointer
  (of-object "GdkDisplay")
  (c-name "gdk_display_get_window_at_pointer")
  (return-type "GdkWindow*")
  (parameters
    '("gint*" "win_x")
    '("gint*" "win_y")
  )
)

(define-method set_pointer_hooks
  (of-object "GdkDisplay")
  (c-name "gdk_display_set_pointer_hooks")
  (return-type "GdkDisplayPointerHooks*")
  (parameters
    '("const-GdkDisplayPointerHooks*" "new_hooks")
  )
)

(define-method store_clipboard
  (of-object "GdkDisplay")
  (c-name "gdk_display_store_clipboard")
  (return-type "none")
  (parameters
    '("GdkWindow*" "clipboard_window")
    '("guint32" "time_")
    '("GdkAtom*" "targets")
    '("gint" "n_targets")
  )
)

(define-method supports_selection_notification
  (of-object "GdkDisplay")
  (c-name "gdk_display_supports_selection_notification")
  (return-type "gboolean")
)

(define-method request_selection_notification
  (of-object "GdkDisplay")
  (c-name "gdk_display_request_selection_notification")
  (return-type "gboolean")
  (parameters
    '("GdkAtom" "selection")
  )
)

(define-method supports_clipboard_persistence
  (of-object "GdkDisplay")
  (c-name "gdk_display_supports_clipboard_persistence")
  (return-type "gboolean")
)

(define-method flush
  (of-object "GdkDisplay")
  (c-name "gdk_display_flush")
  (return-type "none")
)

(define-method set_double_click_distance
  (of-object "GdkDisplay")
  (c-name "gdk_display_set_double_click_distance")
  (return-type "none")
  (parameters
    '("guint" "distance")
  )
)

(define-method supports_cursor_alpha
  (of-object "GdkDisplay")
  (c-name "gdk_display_supports_cursor_alpha")
  (return-type "gboolean")
)

(define-method supports_cursor_color
  (of-object "GdkDisplay")
  (c-name "gdk_display_supports_cursor_color")
  (return-type "gboolean")
)

(define-method get_default_cursor_size
  (of-object "GdkDisplay")
  (c-name "gdk_display_get_default_cursor_size")
  (return-type "guint")
)

(define-method get_maximal_cursor_size
  (of-object "GdkDisplay")
  (c-name "gdk_display_get_maximal_cursor_size")
  (return-type "none")
  (parameters
    '("guint*" "width")
    '("guint*" "height")
  )
)

(define-method get_default_group
  (of-object "GdkDisplay")
  (c-name "gdk_display_get_default_group")
  (return-type "GdkWindow*")
)

(define-method warp_pointer
  (of-object "GdkDisplay")
  (c-name "gdk_display_warp_pointer")
  (return-type "none")
  (parameters
    '("GdkScreen*" "screen")
    '("gint" "x")
    '("gint" "y")
  )
)

(define-virtual get_display_name
  (of-object "GdkDisplay")
  (return-type "const-gchar*")
)

(define-virtual get_n_screens
  (of-object "GdkDisplay")
  (return-type "gint")
)

(define-virtual get_screen
  (of-object "GdkDisplay")
  (return-type "GdkScreen*")
  (parameters
    '("gint" "screen_num")
  )
)

(define-virtual get_default_screen
  (of-object "GdkDisplay")
  (return-type "GdkScreen*")
)

(define-virtual closed
  (of-object "GdkDisplay")
  (return-type "none")
  (parameters
    '("gboolean" "is_error")
  )
)

(define-method supports_shapes
  (of-object "GdkDisplay")
  (c-name "gdk_display_supports_shapes")
  (return-type "gboolean")
)

(define-method supports_input_shapes
  (of-object "GdkDisplay")
  (c-name "gdk_display_supports_input_shapes")
  (return-type "gboolean")
)

