; -*- scheme -*-
;; gtkobject.h
(define-func GTK_OBJECT_FLAGS
  GtkWidgetFlags
  ((GtkObject object)))

(define-func GTK_OBJECT_SET_FLAGS
  none
  ((GtkObject object)
   (GtkWidgetFlags flags)))

(define-func GTK_OBJECT_UNSET_FLAGS
  none
  ((GtkObject object)
   (GtkWidgetFlags flags)))

(define-func GTK_OBJECT_TYPE
  uint
  ((GtkObject object)))

(define-func gtk_object_destroy
  none
  ((GtkObject object)))
;gtk_object_new
;gtk_object_set
;gtk_object_get
;gtk_object_set_data
;gtk_object_get_data
;gtk_object_remove_data

(define-func GTK_CHECK_TYPE  ; this is really from gtktypeutils.h ...
  bool
  ((GtkObject object)
   (uint type)))

; gtksignal.h

;gtk_signal_connect
;gtk_signal_connect_after
(define-func gtk_signal_disconnect
  none
  ((GtkObject object)
   (uint handler_id)))
;gtk_signal_disconnect_by_data
(define-func gtk_signal_emit_stop_by_name
  none
  ((GtkObject object)
   (string name)))
(define-func gtk_signal_handler_block
  none
  ((GtkObject object)
   (uint id)))
(define-func gtk_signal_handler_unblock
  none
  ((GtkObject object)
   (uint id)))
(define-func gtk_signal_handlers_destroy
  none
  ((GtkObject object)))

;; Data

(define-object GtkData (GtkObject))

;; Adjustment

(define-object GtkAdjustment (GtkData)
  (fields
   (float value)
   (float lower)
   (float upper)
   (float step_increment)
   (float page_increment)
   (float page_size)))

(define-func gtk_adjustment_new
  GtkObject
  ((float value)
   (float lower)
   (float upper)
   (float step_increment)
   (float page_increment)
   (float page_size)))

(define-func gtk_adjustment_changed
  none
  ((GtkAdjustment adjustment)))

(define-func gtk_adjustment_value_changed
  none
  ((GtkAdjustment adjustment)))

(define-func gtk_adjustment_clamp_page
  none
  ((GtkAdjustment adjustment)
   (float lower)
   (float upper)))

(define-func gtk_adjustment_set_value
  none
  ((GtkAdjustment adjustment)
   (float value)))

; gtkwidget.h

(define-func gtk_widget_destroy
  none
  ((GtkWidget widget)))

(define-func gtk_widget_unparent
  none
  ((GtkWidget widget)))

(define-func gtk_widget_show
  none
  ((GtkWidget widget)))

(define-func gtk_widget_show_now
  none
  ((GtkWidget widget)))

(define-func gtk_widget_hide
  none
  ((GtkWidget widget)))

(define-func gtk_widget_show_all
  none
  ((GtkWidget widget)))

(define-func gtk_widget_hide_all
  none
  ((GtkWidget widget)))

(define-func gtk_widget_map
  none
  ((GtkWidget widget)))

(define-func gtk_widget_unmap
  none
  ((GtkWidget widget)))

(define-func gtk_widget_realize
  none
  ((GtkWidget widget)))

(define-func gtk_widget_unrealize
  none
  ((GtkWidget widget)))

(define-func gtk_widget_queue_draw
  none
  ((GtkWidget widget)))

(define-func gtk_widget_queue_draw_area
  none
  ((GtkWidget widget)
   (int x) (int y)
   (int width) (int height)))

(define-func gtk_widget_queue_clear
  none
  ((GtkWidget widget)))

(define-func gtk_widget_queue_clear_area
  none
  ((GtkWidget widget)
   (int x) (int y)
   (int width) (int height)))

(define-func gtk_widget_queue_resize
  none
  ((GtkWidget widget)))

(define-func gtk_widget_draw_focus
  none
  ((GtkWidget widget)))

(define-func gtk_widget_draw_default
  none
  ((GtkWidget widget)))

;gtk_widget_size_request
;gtk_widget_size_allocate

(define-func gtk_widget_add_accelerator
  none
  ((GtkWidget widget)
   (string signal_name)
   (GtkAccelGroup group)
   (uint key)
   (GdkModifierType modifiers)
   (GtkAccelFlags flags)))

(define-func gtk_widget_remove_accelerator
  none
  ((GtkWidget widget)
   (GtkAccelGroup group)
   (uint key)
   (GdkModifierType modifiers)))

(define-func gtk_widget_remove_accelerators
  none
  ((GtkWidget widget)
   (string signal_name)
   (bool visible_only)))

(define-func gtk_widget_accelerator_signal
  uint
  ((GtkWidget widget)
   (GtkAccelGroup group)
   (uint key)
   (GdkModifierType modifiers)))

(define-func gtk_widget_lock_accelerators
  none
  ((GtkWidget widget)))

(define-func gtk_widget_unlock_accelerators
  none
  ((GtkWidget widget)))

(define-func gtk_widget_accelerators_locked
  bool
  ((GtkWidget widget)))

(define-func gtk_widget_event
  bool
  ((GtkWidget widget)
   (GdkEvent event)))

(define-func gtk_widget_activate
  bool
  ((GtkWidget widget)))

(define-func gtk_widget_set_scroll_adjustments
  bool
  ((GtkWidget widget)
   (GtkAdjustment hadjustment)
   (GtkAdjustment vadjustment)))

(define-func gtk_widget_reparent
  none
  ((GtkWidget widget)
   (GtkWidget new_parent)))

(define-func gtk_widget_popup
  none
  ((GtkWidget widget)
   (int x)
   (int y)))

;gtk_widget_intersect

(define-func gtk_widget_grab_focus
  none
  ((GtkWidget widget)))

(define-func gtk_widget_grab_default
  none
  ((GtkWidget widget)))

(define-func gtk_widget_set_name
  none
  ((GtkWidget widget)
   (string name)))

(define-func gtk_widget_get_name
  static_string
  ((GtkWidget widget)))

(define-func gtk_widget_set_state
  none
  ((GtkWidget widget)
   (GtkStateType state)))

(define-func gtk_widget_set_sensitive
  none
  ((GtkWidget widget)
   (bool sensitive)))

(define-func gtk_widget_set_app_paintable
  none
  ((GtkWidget widget)
   (bool app_paintable)))

(define-func gtk_widget_set_parent
  none
  ((GtkWidget widget)
   (GtkWidget parent)))

(define-func gtk_widget_set_parent_window
  none
  ((GtkWidget widget)
   (GdkWindow parent_window)))

(define-func gtk_widget_get_parent_window
  GdkWindow
  ((GtkWidget widget)))

(define-func gtk_widget_set_uposition
  none
  ((GtkWidget widget)
   (int x)
   (int y)))

(define-func gtk_widget_set_usize
  none
  ((GtkWidget widget)
   (int height)
   (int width)))

(define-func gtk_widget_set_events
  none
  ((GtkWidget widget)
   (GdkEventMask events)))

(define-func gtk_widget_add_events
  none
  ((GtkWidget widget)
   (GdkEventMask events)))

(define-func gtk_widget_set_extension_events
  none
  ((GtkWidget widget)
   (GdkExtensionMode events)))

(define-func gtk_widget_get_extension_events
  GdkExtensionMode
  ((GtkWidget widget)))

(define-func gtk_widget_get_toplevel
  GtkWidget
  ((GtkWidget widget)))

(define-func gtk_widget_get_ancestor
  GtkWidget
  ((GtkWidget widget)
   (uint type)))

(define-func gtk_widget_get_colormap
  GdkColormap
  ((GtkWidget widget)))

(define-func gtk_widget_get_events
  GdkEventMask
  ((GtkWidget widget)))

;gtk_widget_get_pointer

(define-func gtk_widget_is_ancestor
  bool
  ((GtkWidget widget)
   (GtkWidget ancestor)))

(define-func gtk_widget_hide_on_delete
  int
  ((GtkWidget widget)))

(define-func gtk_widget_set_style
  none
  ((GtkWidget widget)
   (GtkStyle style)))

(define-func gtk_widget_set_rc_style
  none
  ((GtkWidget widget)))

(define-func gtk_widget_ensure_style
  none
  ((GtkWidget widget)))

(define-func gtk_widget_get_style
  GtkStyle
  ((GtkWidget widget)))

(define-func gtk_widget_restore_default_style
  none
  ((GtkWidget widget)))

(define-func gtk_widget_set_composite_name
  none
  ((GtkWidget widget)
   (string name)))

(define-func gtk_widget_get_composite_name
  string
  ((GtkWidget widget)))

(define-func gtk_widget_reset_rc_styles
  none
  ((GtkWidget widget)))

(define-func gtk_widget_push_style
  none
  ((GtkStyle style)))

(define-func gtk_widget_push_colormap
  none
  ((GdkColormap cmap)))

(define-func gtk_widget_pop_style
  none
  ())

(define-func gtk_widget_pop_colormap
  none
  ())

(define-func gtk_widget_set_default_style
  none
  ((GtkStyle style)))

(define-func gtk_widget_set_default_colormap
  none
  ((GdkColormap cmap)))

(define-func gtk_widget_get_default_style
  GtkStyle
  ())

(define-func gtk_widget_get_default_colormap
  GdkColormap
  ())

; shaped widgets ...
(define-func gtk_widget_shape_combine_mask
  none
  ((GtkWidget widget)
   (GdkBitmap mask)
   (int ofs_x) (int ofs_y)))

; these are in gtkmain.h ...
(define-func gtk_grab_add
  none
  ((GtkWidget widget)))

(define-func gtk_grab_get_current
  GtkWidget
  ())

(define-func gtk_grab_remove
  none
  ((GtkWidget widget)))