sig
  type t
  external create : unit -> SFView.t = "caml_sfView_Create"
  external createFromRect : rect:float SFRect.t -> SFView.t
    = "caml_sfView_CreateFromRect"
  external destroy : view:SFView.t -> unit = "caml_sfView_Destroy"
  external setFromRect : view:SFView.t -> rect:float SFRect.t -> unit
    = "caml_sfView_SetFromRect"
  external setCenter : view:SFView.t -> x:float -> y:float -> unit
    = "caml_sfView_SetCenter"
  external move : view:SFView.t -> offsetX:float -> offsetY:float -> unit
    = "caml_sfView_Move"
  external move2 : view:SFView.t -> offset:float * float -> unit
    = "caml_sfView_Move2"
  external zoom : view:SFView.t -> factor:float -> unit = "caml_sfView_Zoom"
  external setHalfSize :
    view:SFView.t -> halfWidth:float -> halfHeight:float -> unit
    = "caml_sfView_SetHalfSize"
  external getRect : view:SFView.t -> float SFRect.t = "caml_sfView_GetRect"
  external getCenter : view:SFView.t -> float * float
    = "caml_sfView_GetCenter"
  external getHalfSize : view:SFView.t -> float * float
    = "caml_sfView_GetHalfSize"
end