;; -*- scheme -*-
; object definitions ...
(define-object AddressEntry
  (in-module "Sugar")
  (parent "GtkEntry")
  (c-name "SugarAddressEntry")
  (gtype-id "SUGAR_TYPE_ADDRESS_ENTRY")
)

(define-object Browser
  (in-module "Sugar")
  (parent "GtkMozEmbed")
  (c-name "SugarBrowser")
  (gtype-id "SUGAR_TYPE_BROWSER")
)

(define-object KeyGrabber
  (in-module "Sugar")
  (parent "GObject")
  (c-name "SugarKeyGrabber")
  (gtype-id "SUGAR_TYPE_KEY_GRABBER")
)

(define-object PushScroller
  (in-module "Sugar")
  (parent "GObject")
  (c-name "SugarPushScroller")
  (gtype-id "SUGAR_TYPE_PUSH_SCROLLER")
)

(define-object DownloadManager
  (in-module "Sugar")
  (parent "GObject")
  (c-name "SugarDownloadManager")
  (gtype-id "SUGAR_TYPE_DOWNLOAD_MANAGER")
)

(define-object Download
  (in-module "Sugar")
  (parent "GObject")
  (c-name "SugarDownload")
  (gtype-id "SUGAR_TYPE_DOWNLOAD")
)

(define-object AudioManager
  (in-module "Sugar")
  (parent "GObject")
  (c-name "SugarAudioManager")
  (gtype-id "SUGAR_TYPE_AUDIO_MANAGER")
)


;; Enumerations and flags ...


;; From sugar-address-entry.h

(define-function sugar_address_entry_get_type
  (c-name "sugar_address_entry_get_type")
  (return-type "GType")
)



;; From sugar-browser.h

(define-function sugar_browser_get_type
  (c-name "sugar_browser_get_type")
  (return-type "GType")
)

(define-function browser_startup
  (c-name "sugar_browser_startup")
  (parameters
    '("const-char*" "profile_path")
    '("const-char*" "profile_name")
  )
  (return-type "gboolean")
)

(define-function browser_shutdown
  (c-name "sugar_browser_shutdown")
  (return-type "none")
)

(define-method grab_focus
  (of-object "SugarBrowser")
  (c-name "sugar_browser_grab_focus")
  (return-type "none")
)

(define-method create_window
  (of-object "SugarBrowser")
  (c-name "sugar_browser_create_window")
  (return-type "SugarBrowser*")
)

(define-virtual create_window
  (of-object "SugarBrowser")
  (c-name "sugar_browser_create_window")
  (return-type "SugarBrowser*")
)

;; From sugar-key-grabber.h

(define-function sugar_key_grabber_get_type
  (c-name "sugar_key_grabber_get_type")
  (return-type "GType")
)

(define-method grab
  (of-object "SugarKeyGrabber")
  (c-name "sugar_key_grabber_grab")
  (return-type "none")
  (parameters
    '("const-char*" "key")
  )
)

;; From sugar-push-scroller.h

(define-function push_scroller_get_type
  (c-name "sugar_push_scroller_get_type")
  (return-type "GType")
)

(define-method start
  (of-object "SugarPushScroller")
  (c-name "sugar_push_scroller_start")
  (return-type "none")
  (parameters
    '("SugarBrowser*" "browser")
    '("int" "x")
    '("int" "y")
  )
)

(define-method stop
  (of-object "SugarPushScroller")
  (c-name "sugar_push_scroller_stop")
  (return-type "none")
  (parameters
    '("guint32" "timestamp")
  )
)

;; From sugar-download-manager.h

(define-function sugar_download_manager_get_type
  (c-name "sugar_download_manager_get_type")
  (return-type "GType")
)

(define-function get_download_manager
  (c-name "sugar_get_download_manager")
  (return-type "SugarDownloadManager*")
)

;; From sugar-download.h

(define-function sugar_download_get_type
  (c-name "sugar_download_get_type")
  (return-type "GType")
)

(define-method get_file_name
  (of-object "SugarDownload")
  (c-name "sugar_download_get_file_name")
  (return-type "const-gchar*")
)

(define-method get_url
  (of-object "SugarDownload")
  (c-name "sugar_download_get_url")
  (return-type "const-gchar*")
)

(define-method get_mime_type
  (of-object "SugarDownload")
  (c-name "sugar_download_get_mime_type")
  (return-type "const-gchar*")
)

(define-method get_percent
  (of-object "SugarDownload")
  (c-name "sugar_download_get_percent")
  (return-type "gint")
)

(define-function hippo_canvas_image_set_image_from_gdk_pixbuf
  (c-name "sugar_hippo_canvas_image_set_image_from_gdk_pixbuf")
  (return-type "none")
  (parameters
    '("GObject*" "image")
    '("GdkPixbuf*" "pixbuf")
  )
)

(define-function cairo_surface_from_gdk_pixbuf
  (c-name "sugar_cairo_surface_from_gdk_pixbuf")
  (return-type "cairo_surface_t*")
  (parameters
    '("GdkPixbuf*" "pixbuf")
  )
)

;; Enumerations and flags ...


;; From sugar-audio-manager.h

(define-function audio_manager_get_type
  (c-name "sugar_audio_manager_get_type")
  (return-type "GType")
)

(define-method set_volume
  (of-object "SugarAudioManager")
  (c-name "sugar_audio_manager_set_volume")
  (return-type "none")
  (parameters
    '("int" "level")
  )
)

;; From sugar-utils.h

(define-function get_screen_dpi
  (c-name "sugar_get_screen_dpi")
  (return-type "gint")
)

(include "gtkmozembed.defs")