sig
  exception TGA_failure of string
  exception Sfont_failure of string
  type sfont = {
    font_list : (int * Sdl.Video.rect) list;
    font_surf : Sdl.Video.surface;
    font_space : int;
    font_letters : int;
    font_line : int;
  }
  type filter =
      BOX of int
    | TRIANGLE of int
    | BELL of int
    | BSPLINE of int
    | HERMITE of int
    | MITCHELL of int
    | LANCZOS3 of int
  val box : Sdl.Draw.filter
  val triangle : Sdl.Draw.filter
  val bell : Sdl.Draw.filter
  val bspline : Sdl.Draw.filter
  val hermite : Sdl.Draw.filter
  val mitchell : Sdl.Draw.filter
  val lanczos3 : Sdl.Draw.filter
  val put_pixel : Sdl.Video.surface -> int -> int -> int32 -> unit
  val get_pixel : Sdl.Video.surface -> int -> int -> int32
  val scale :
    Sdl.Video.surface -> float -> Sdl.Draw.filter -> Sdl.Video.surface
  val scale_to :
    Sdl.Video.surface -> int -> int -> Sdl.Draw.filter -> Sdl.Video.surface
  val read_tga : string -> int * int * int * string
  val load_tga : string -> Sdl.Video.surface
  val make_sfont : Sdl.Video.surface -> Sdl.Draw.sfont
  val sfont_print :
    string -> int -> int -> Sdl.Draw.sfont -> Sdl.Video.surface -> unit
  val make_mipmaps :
    Sdl.Video.surface -> Sdl.Draw.filter -> Sdl.Video.surface array
end