# Module GnomeCanvas.Canvas

    module Canvas: sig .. end

    val new_canvas : unit -> GnomeCanvas.canvas Gobject.obj

    val new_canvas_aa : unit -> GnomeCanvas.canvas Gobject.obj

    val root : [> GnomeCanvas.canvas ] Gobject.obj -> GnomeCanvas.group Gobject.obj

    val set_scroll_region : [> GnomeCanvas.canvas ] Gobject.obj ->
           x1:float -> y1:float -> x2:float -> y2:float -> unit

    val get_scroll_region : [> GnomeCanvas.canvas ] Gobject.obj -> float array

    val set_center_scroll_region : [> GnomeCanvas.canvas ] Gobject.obj -> bool -> unit

    val get_center_scroll_region : [> GnomeCanvas.canvas ] Gobject.obj -> bool

    val set_pixels_per_unit : [> GnomeCanvas.canvas ] Gobject.obj -> float -> unit

    val scroll_to : [> GnomeCanvas.canvas ] Gobject.obj -> x:int -> y:int -> unit

    val get_scroll_offsets : [> GnomeCanvas.canvas ] Gobject.obj -> int * int

    val update_now : [> GnomeCanvas.canvas ] Gobject.obj -> unit

    val get_item_at : [> GnomeCanvas.canvas ] Gobject.obj ->
           x:float -> y:float -> GnomeCanvas.item Gobject.obj

    val w2c_affine : [> GnomeCanvas.canvas ] Gobject.obj -> float array

    val w2c : [> GnomeCanvas.canvas ] Gobject.obj -> wx:float -> wy:float -> int * int

    val w2c_d : [> GnomeCanvas.canvas ] Gobject.obj -> wx:float -> wy:float -> float * float

    val c2w : [> GnomeCanvas.canvas ] Gobject.obj -> cx:float -> cy:float -> float * float

    val window_to_world : [> GnomeCanvas.canvas ] Gobject.obj ->
           winx:float -> winy:float -> float * float

    val world_to_window : [> GnomeCanvas.canvas ] Gobject.obj ->
           wox:float -> woy:float -> float * float