functor
  (RI : Image_intf.RAWIMAGE) (CON : sig
                                      type container
                                      type rawimage = RI.t
                                      val rawimage : container -> rawimage
                                      val create_default :
                                        int -> int -> rawimage -> container
                                      val create_duplicate :
                                        container ->
                                        int -> int -> rawimage -> container
                                    end->
  sig
    type t = CON.container
    type elt = RI.elt
    val create : int -> int -> t
    val make : int -> int -> elt -> t
    val destroy : t -> unit
    val get : t -> int -> int -> elt
    val set : t -> int -> int -> elt -> unit
    val unsafe_get : t -> int -> int -> elt
    val unsafe_set : t -> int -> int -> elt -> unit
    val copy : t -> t
    val sub : t -> int -> int -> int -> int -> t
    val blit : t -> int -> int -> t -> int -> int -> int -> int -> unit
    val map :
      (elt -> elt -> elt) ->
      t -> int -> int -> t -> int -> int -> int -> int -> unit
    val dump : t -> bytes
    val unsafe_access : t -> int -> int -> bytes * int
    val get_strip : t -> int -> int -> int -> bytes
    val set_strip : t -> int -> int -> int -> bytes -> unit
    val get_scanline : t -> int -> bytes
    val get_scanline_ptr : t -> (int -> (bytes * int) * int) option
    val set_scanline : t -> int -> bytes -> unit
    val blocks : t -> int * int
    val dump_block : t -> int -> int -> Bitmap.Block.t
  end