# Module GnomeCanvas

    module GnomeCanvas: sig .. end

    type canvas = [ `canvas | `container | `gtk | `layout | `widget ]

    type item = [ `canvasitem | `gtk ]

    type group = [ `canvasgroup | `canvasitem | `gtk ]

    type clipgroup = [ `canvasclipgroup | `canvasgroup | `canvasitem | `gtk ]

    type shape = [ `canvasitem | `canvasshape | `gtk ]

    type r_e = [ `canvasitem | `canvasre | `canvasshape | `gtk ]

    type rect = [ `canvasitem | `canvasre | `canvasrectangle | `canvasshape | `gtk ]

    type ellipse = [ `canvasellipse | `canvasitem | `canvasre | `canvasshape | `gtk ]

    type bpath = [ `canvasbpath | `canvasitem | `canvasshape | `gtk ]

    type polygon = [ `canvasitem | `canvaspolygon | `canvasshape | `gtk ]

    type text = [ `canvasitem | `canvastext | `gtk ]

    type line = [ `canvasitem | `canvasline | `gtk ]

    type pixbuf = [ `canvasitem | `canvaspixbuf | `gtk ]

    type widget = [ `canvasitem | `canvaswidget | `gtk ]

    type rich_text = [ `canvasitem | `canvasrichtext | `gtk ]

    type path_def

    module Canvas: sig .. end

    module PathDef: sig .. end

    type group_p = [ `X of float | `Y of float ]

    type shape_p = [ `CAP_STYLE of Gdk.GC.gdkCapStyle
           | `DASH of float * float array
           | `FILL_COLOR of string
           | `FILL_COLOR_RGBA of int32
           | `FILL_STIPPLE of Gdk.bitmap
           | `JOIN_STYLE of Gdk.GC.gdkJoinStyle
           | `NO_FILL_COLOR
           | `NO_OUTLINE_COLOR
           | `OUTLINE_COLOR of string
           | `OUTLINE_COLOR_RGBA of int32
           | `OUTLINE_STIPPLE of Gdk.bitmap
           | `WIDTH_PIXELS of int
           | `WIDTH_UNITS of float ]

    type re_p = [ `CAP_STYLE of Gdk.GC.gdkCapStyle
           | `DASH of float * float array
           | `FILL_COLOR of string
           | `FILL_COLOR_RGBA of int32
           | `FILL_STIPPLE of Gdk.bitmap
           | `JOIN_STYLE of Gdk.GC.gdkJoinStyle
           | `NO_FILL_COLOR
           | `NO_OUTLINE_COLOR
           | `OUTLINE_COLOR of string
           | `OUTLINE_COLOR_RGBA of int32
           | `OUTLINE_STIPPLE of Gdk.bitmap
           | `WIDTH_PIXELS of int
           | `WIDTH_UNITS of float
           | `X1 of float
           | `X2 of float
           | `Y1 of float
           | `Y2 of float ]

    type text_p = [ `ANCHOR of Gtk.Tags.anchor_type
           | `CLIP of bool
           | `CLIP_HEIGHT of float
           | `CLIP_WIDTH of float
           | `FAMILY of string
           | `FILL_COLOR of string
           | `FILL_COLOR_RGBA of int32
           | `FILL_STIPPLE of Gdk.bitmap
           | `FONT of string
           | `JUSTIFICATION of Gtk.Tags.justification
           | `MARKUP of string
           | `NO_FILL_COLOR
           | `NO_FONT
           | `NO_TEXT
           | `RISE of int
           | `SCALE of float
           | `SIZE of int
           | `SIZE_POINTS of float
           | `TEXT of string
           | `WEIGHT of int
           | `X of float
           | `X_OFFSET of float
           | `Y of float
           | `Y_OFFSET of float ]

    type line_p = [ `ARROW_SHAPE_A of float
           | `ARROW_SHAPE_B of float
           | `ARROW_SHAPE_C of float
           | `CAP_STYLE of Gdk.GC.gdkCapStyle
           | `FILL_COLOR of string
           | `FILL_COLOR_RGBA of int32
           | `FILL_STIPPLE of Gdk.bitmap
           | `FIRST_ARROWHEAD of bool
           | `JOIN_STYLE of Gdk.GC.gdkJoinStyle
           | `LAST_ARROWHEAD of bool
           | `LINE_STYLE of Gdk.GC.gdkLineStyle
           | `NO_FILL_COLOR
           | `POINTS of float array
           | `SMOOTH of bool
           | `WIDTH_PIXELS of int
           | `WIDTH_UNITS of float ]

    type bpath_p = [ `BPATH of PathDef.t
           | `CAP_STYLE of Gdk.GC.gdkCapStyle
           | `DASH of float * float array
           | `FILL_COLOR of string
           | `FILL_COLOR_RGBA of int32
           | `FILL_STIPPLE of Gdk.bitmap
           | `JOIN_STYLE of Gdk.GC.gdkJoinStyle
           | `NO_BPATH
           | `NO_FILL_COLOR
           | `NO_OUTLINE_COLOR
           | `OUTLINE_COLOR of string
           | `OUTLINE_COLOR_RGBA of int32
           | `OUTLINE_STIPPLE of Gdk.bitmap
           | `WIDTH_PIXELS of int
           | `WIDTH_UNITS of float ]

    type pixbuf_p = [ `ANCHOR of Gtk.Tags.anchor_type
           | `HEIGHT of float
           | `NO_PIXBUF
           | `PIXBUF of GdkPixbuf.pixbuf
           | `WIDTH of float
           | `X of float
           | `Y of float ]

    type polygon_p = [ `CAP_STYLE of Gdk.GC.gdkCapStyle
           | `DASH of float * float array
           | `FILL_COLOR of string
           | `FILL_COLOR_RGBA of int32
           | `FILL_STIPPLE of Gdk.bitmap
           | `JOIN_STYLE of Gdk.GC.gdkJoinStyle
           | `NO_FILL_COLOR
           | `NO_OUTLINE_COLOR
           | `OUTLINE_COLOR of string
           | `OUTLINE_COLOR_RGBA of int32
           | `OUTLINE_STIPPLE of Gdk.bitmap
           | `POINTS of float array
           | `WIDTH_PIXELS of int
           | `WIDTH_UNITS of float ]

    type widget_p = [ `ANCHOR of Gtk.Tags.anchor_type
           | `HEIGHT of float
           | `NO_WIDGET
           | `SIZE_PIXELS of bool
           | `WIDGET of GObj.widget
           | `WIDTH of float
           | `X of float
           | `Y of float ]

    type rich_text_p = [ `ANCHOR of Gtk.Tags.anchor_type
           | `CURSOR_BLINK of bool
           | `CURSOR_VISIBLE of bool
           | `EDITABLE of bool
           | `GROW_HEIGHT of bool
           | `HEIGHT of float
           | `JUSTIFICATION of Gtk.Tags.justification
           | `LEFT_MARGIN of int
           | `RIGHT_MARGIN of int
           | `TEXT of string
           | `VISIBLE of bool
           | `WIDTH of float
           | `X of float
           | `Y of float ]

    module Types: sig .. end

    type item_event = [ `BUTTON_PRESS
           | `BUTTON_RELEASE
           | `ENTER_NOTIFY
           | `FOCUS_CHANGE
           | `KEY_PRESS
           | `KEY_RELEASE
           | `LEAVE_NOTIFY
           | `MOTION_NOTIFY
           | `THREE_BUTTON_PRESS
           | `TWO_BUTTON_PRESS ] Gdk.event

    module Item: sig .. end

    module Group: sig .. end

    module Text: sig .. end

    module RichText: sig .. end

    module Conv: sig .. end