;; -*- scheme -*-
; object definitions ...

(define-object Handle
  (in-module "Rsvg")
  (parent "GObject")
  (c-name "RsvgHandle")
  (gtype-id "RSVG_TYPE_HANDLE")
)

;; Enumerations and flags ...

;; From ../rsvg.h

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

(define-function set_default_dpi
  (c-name "rsvg_set_default_dpi")
  (return-type "none")
  (parameters
    '("double" "dpi")
  )
)

(define-function set_default_dpi_x_y
  (c-name "rsvg_set_default_dpi_x_y")
  (return-type "none")
  (parameters
    '("double" "dpi_x")
    '("double" "dpi_y")
  )
)

(define-method set_dpi
  (of-object "RsvgHandle")
  (c-name "rsvg_handle_set_dpi")
  (return-type "none")
  (parameters
    '("double" "dpi")
  )
)

(define-method set_dpi_x_y
  (of-object "RsvgHandle")
  (c-name "rsvg_handle_set_dpi_x_y")
  (return-type "none")
  (parameters
    '("double" "dpi_x")
    '("double" "dpi_y")
  )
)

(define-function rsvg_handle_new
  (c-name "rsvg_handle_new")
  (is-constructor-of "RsvgHandle")
  (return-type "RsvgHandle*")
)

(define-function handle_new_from_file
  (c-name "rsvg_handle_new_from_file")
  (return-type "RsvgHandle*")
  (parameters
    '("const-gchar*" "file_name")
    '("GError**" "error")
  )
)

(define-function handle_new_from_data
  (c-name "rsvg_handle_new_from_data")
  (return-type "RsvgHandle*")
  (parameters
    '("const-guint8*" "data")
    '("gsize" "data_len")
    '("GError**" "error")
  )
)

(define-method write
  (of-object "RsvgHandle")
  (c-name "rsvg_handle_write")
  (return-type "gboolean")
  (parameters
    '("const-guchar*" "buf")
    '("gsize" "count")
    '("GError**" "error")
  )
)

(define-method close
  (of-object "RsvgHandle")
  (c-name "rsvg_handle_close")
  (return-type "gboolean")
  (parameters
    '("GError**" "error")
  )
)

(define-method get_pixbuf
  (of-object "RsvgHandle")
  (c-name "rsvg_handle_get_pixbuf")
  (return-type "GdkPixbuf*")
)

(define-method get_pixbuf_sub
  (of-object "RsvgHandle")
  (c-name "rsvg_handle_get_pixbuf_sub")
  (return-type "GdkPixbuf*")
  (parameters
    '("const-char*" "id")
  )
)

;; From ../rsvg-cairo.h

(define-method render_cairo
  (of-object "RsvgHandle")
  (c-name "rsvg_handle_render_cairo")
  (return-type "none")
  (parameters
    '("cairo_t*" "cr")
  )
)

(define-method render_cairo_sub
  (of-object "RsvgHandle")
  (c-name "rsvg_handle_render_cairo_sub")
  (return-type "none")
  (parameters
    '("cairo_t*" "cr")
    '("const-char*" "id")
  )
)
