sig
  type t
  val createFromFile : filename:string -> SFImage.t
  val getWidth : image:SFImage.t -> int
  val getHeight : image:SFImage.t -> int
  val getDims : image:SFImage.t -> int * int
  type gl_image =
      (int, Bigarray.int8_unsigned_elt, Bigarray.c_layout)
      Bigarray.Genarray.t
  val getPixelsBA : image:SFImage.t -> SFImage.gl_image
  val saveToFile : image:SFImage.t -> filename:string -> unit
  val setPixel : image:SFImage.t -> x:int -> y:int -> color:SFColor.t -> unit
  val setSmooth : image:SFImage.t -> smooth:bool -> unit
  val isSmooth : image:SFImage.t -> bool
  val bind : image:SFImage.t -> unit
end