; -*- scheme -*-

; These definitions here cause the creation of some new GTK_TYPE_* ids
; The code doesn't benefit most C programs directly, but is very useful
; for language bindings.

;; Basic types for DiaCanvas
;(define-boxed DiaAffine
;  (in-module "Dia")
;  (c-name "DiaAffine")
;  (gtype-id "DIA_TYPE_AFFINE")
;  (copy-func "dia_affine_copy")
;  (release-func "g_free")
;)

(define-boxed Rectangle
  (in-module "Dia")
  (c-name "DiaRectangle")
  (gtype-id "DIA_TYPE_RECTANGLE")
  (copy-func "dia_rectangle_copy")
  (release-func "g_free")
)

(define-boxed Point
  (in-module "Dia")
  (c-name "DiaPoint")
  (gtype-id "DIA_TYPE_POINT")
  (copy-func "dia_point_copy")
  (release-func "g_free")
)

(define-boxed Event
  (in-module "Dia")
  (c-name "DiaEvent")
  (gtype-id "DIA_TYPE_EVENT")
)

(define-boxed CanvasIter
  (in-module "Dia")
  (c-name "DiaCanvasIter")
  (gtype-id "DIA_TYPE_CANVAS_ITER")
  (copy-func "dia_canvas_iter_copy")
  (release-func "g_free")
)

(define-boxed Shape
  (in-module "Dia")
  (c-name "DiaShape")
  (gtype-id "DIA_TYPE_SHAPE")
  (release-func "dia_shape_free")
  (fields
    '("DiaShapeType" "type")
  )
)
