sig
  type t
  val create : unit -> SFText.t
  val make :
    ?font:SFFont.t ->
    ?color:SFColor.t ->
    ?charSize:int ->
    ?pos:float * float ->
    ?rotation:float ->
    ?scale:float * float -> ?origin:float * float -> string -> SFText.t
  val setString : text:SFText.t -> str:string -> unit
  val setFont : text:SFText.t -> font:SFFont.t -> unit
  val setPosition : text:SFText.t -> pos:float * float -> unit
  val setPosition2 : text:SFText.t -> left:float -> top:float -> unit
  val setColor : text:SFText.t -> color:SFColor.t -> unit
  val setOutlineThickness : text:SFText.t -> thickness:float -> unit
  val setOutlineColor : text:SFText.t -> color:SFColor.t -> unit
  val setFillColor : text:SFText.t -> color:SFColor.t -> unit
  val setCharacterSize : text:SFText.t -> size:int -> unit
  val setOrigin : text:SFText.t -> origin:float * float -> unit
  val setRotation : text:SFText.t -> rotation:float -> unit
  val setScale : text:SFText.t -> scale:float * float -> unit
  val setScale2 : text:SFText.t -> scaleX:float -> scaleY:float -> unit
  val move : text:SFText.t -> offset:float * float -> unit
  val move2 : text:SFText.t -> offsetX:float -> offsetY:float -> unit
  val rotate : text:SFText.t -> angle:float -> unit
  val scale : text:SFText.t -> factors:float * float -> unit
  val scale2 : text:SFText.t -> factorX:float -> factorY:float -> unit
  val getLocalBounds : text:SFText.t -> float SFRect.t
  val getGlobalBounds : text:SFText.t -> float SFRect.t
end