sig
  type t
  val create : unit -> SFSprite.t
  val make : ?image:SFImage.t -> unit -> SFSprite.t
  val setImage : sprite:SFSprite.t -> image:SFImage.t -> unit
  val resize : sprite:SFSprite.t -> width:float -> height:float -> unit
  val setX : sprite:SFSprite.t -> x:float -> unit
  val setY : sprite:SFSprite.t -> y:float -> unit
  val setXY : sprite:SFSprite.t -> x:float -> y:float -> unit
  val setPosition : sprite:SFSprite.t -> x:float -> y:float -> unit
  val setPosition2 : sprite:SFSprite.t -> pos:float * float -> unit
  val move : sprite:SFSprite.t -> offsetX:float -> offsetY:float -> unit
  val move2 : sprite:SFSprite.t -> offset:float * float -> unit
  val scale : sprite:SFSprite.t -> factorX:float -> factorY:float -> unit
  val scale2 : sprite:SFSprite.t -> factor:float * float -> unit
  val rotate : sprite:SFSprite.t -> angle:float -> unit
  val flipX : sprite:SFSprite.t -> flipped:bool -> unit
  val flipY : sprite:SFSprite.t -> flipped:bool -> unit
  val setScaleX : sprite:SFSprite.t -> scale:float -> unit
  val setScaleY : sprite:SFSprite.t -> scale:float -> unit
  val setScale : sprite:SFSprite.t -> scaleX:float -> scaleY:float -> unit
  val setScale2 : sprite:SFSprite.t -> scale:float * float -> unit
  val setRotation : sprite:SFSprite.t -> rotation:float -> unit
  val setCenter : sprite:SFSprite.t -> x:float -> y:float -> unit
  val setCenter2 : sprite:SFSprite.t -> center:float * float -> unit
  val setColor : sprite:SFSprite.t -> color:SFColor.t -> unit
  val setBlendMode : sprite:SFSprite.t -> mode:SFBlendMode.t -> unit
  val getX : sprite:SFSprite.t -> float
  val getY : sprite:SFSprite.t -> float
  val getXY : sprite:SFSprite.t -> float * float
  val getWidth : sprite:SFSprite.t -> float
  val getHeight : sprite:SFSprite.t -> float
  val getDims : sprite:SFSprite.t -> float * float
  val getScaleX : sprite:SFSprite.t -> float
  val getScaleY : sprite:SFSprite.t -> float
  val getScale : sprite:SFSprite.t -> float * float
  val getRotation : sprite:SFSprite.t -> float
  val getCenterX : sprite:SFSprite.t -> float
  val getCenterY : sprite:SFSprite.t -> float
  val getCenter : sprite:SFSprite.t -> float * float
  val getSubRect : sprite:SFSprite.t -> int SFRect.t
end