sig
  type t
  external create : unit -> SFView.t = "caml_sfView_create"
  external createFromRect : rect:float SFRect.t -> SFView.t
    = "caml_sfView_createFromRect"
  external copy : view:SFView.t -> unit = "caml_sfView_copy"
  external setCenter : view:SFView.t -> center:float * float -> unit
    = "caml_sfView_setCenter"
  external setCenter2 : view:SFView.t -> x:float -> y:float -> unit
    = "caml_sfView_setCenter2"
  external setSize : view:SFView.t -> size:float * float -> unit
    = "caml_sfView_setSize"
  external setSize2 : view:SFView.t -> width:float -> height:float -> unit
    = "caml_sfView_setSize2"
  external move : view:SFView.t -> offset:float * float -> unit
    = "caml_sfView_move"
  external move2 : view:SFView.t -> offsetX:float -> offsetY:float -> unit
    = "caml_sfView_move2"
  external zoom : view:SFView.t -> factor:float -> unit = "caml_sfView_zoom"
  external getCenter : view:SFView.t -> float * float
    = "caml_sfView_getCenter"
  external getSize : view:SFView.t -> float * float = "caml_sfView_getSize"
end