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