# Module Gdk.Draw

    module Draw: sig .. end

    val point : [> `drawable ] Gobject.obj -> Gdk.gc -> x:int -> y:int -> unit

    val line : [> `drawable ] Gobject.obj ->
           Gdk.gc -> x:int -> y:int -> x:int -> y:int -> unit

    val rectangle : [> `drawable ] Gobject.obj ->
           Gdk.gc ->
           x:int -> y:int -> width:int -> height:int -> ?filled:bool -> unit -> unit

    val arc : [> `drawable ] Gobject.obj ->
           Gdk.gc ->
           x:int ->
           y:int ->
           width:int ->
           height:int -> ?filled:bool -> ?start:float -> ?angle:float -> unit -> unit

    val polygon : [> `drawable ] Gobject.obj ->
           Gdk.gc -> ?filled:bool -> (int * int) list -> unit

    val string : [> `drawable ] Gobject.obj ->
           font:Gdk.font -> Gdk.gc -> x:int -> y:int -> string -> unit

    val layout : [> `drawable ] Gobject.obj ->
           Gdk.gc ->
           x:int -> y:int -> Pango.layout -> ?fore:Gdk.color -> ?back:Gdk.color -> unit

    val image : [> `drawable ] Gobject.obj ->
           Gdk.gc ->
           ?xsrc:int ->
           ?ysrc:int ->
           ?xdest:int -> ?ydest:int -> ?width:int -> ?height:int -> Gdk.image -> unit

    val pixmap : [> `drawable ] Gobject.obj ->
           Gdk.gc ->
           ?xsrc:int ->
           ?ysrc:int ->
           ?xdest:int -> ?ydest:int -> ?width:int -> ?height:int -> Gdk.pixmap -> unit

    val points : [> `drawable ] Gobject.obj -> Gdk.gc -> (int * int) list -> unit

    val lines : [> `drawable ] Gobject.obj -> Gdk.gc -> (int * int) list -> unit

    val segments : [> `drawable ] Gobject.obj ->
           Gdk.gc -> ((int * int) * (int * int)) list -> unit