sig
module type ENCODE =
sig
type t
val bytes_per_pixel : int
val get : bytes -> int -> Image_intf.ENCODE.t
val set : bytes -> int -> Image_intf.ENCODE.t -> unit
val make : Image_intf.ENCODE.t -> bytes
end
module type RAWIMAGE =
sig
module Encode : ENCODE
type elt
and bitmap
and t = {
width : int;
height : int;
bitmap : Image_intf.RAWIMAGE.bitmap;
}
val width : Image_intf.RAWIMAGE.t -> int
val height : Image_intf.RAWIMAGE.t -> int
val dump : Image_intf.RAWIMAGE.t -> bytes
val create_with : int -> int -> bytes -> Image_intf.RAWIMAGE.t
val create_with_scanlines :
int -> int -> bytes array -> Image_intf.RAWIMAGE.t
val create : int -> int -> Image_intf.RAWIMAGE.t
val make :
int -> int -> Image_intf.RAWIMAGE.elt -> Image_intf.RAWIMAGE.t
val unsafe_access : Image_intf.RAWIMAGE.t -> int -> int -> bytes * int
val get_strip : Image_intf.RAWIMAGE.t -> int -> int -> int -> bytes
val set_strip :
Image_intf.RAWIMAGE.t -> int -> int -> int -> bytes -> unit
val get_scanline : Image_intf.RAWIMAGE.t -> int -> bytes
val get_scanline_ptr :
Image_intf.RAWIMAGE.t -> (int -> (bytes * int) * int) option
val set_scanline : Image_intf.RAWIMAGE.t -> int -> bytes -> unit
val unsafe_get :
Image_intf.RAWIMAGE.t -> int -> int -> Image_intf.RAWIMAGE.elt
val unsafe_set :
Image_intf.RAWIMAGE.t ->
int -> int -> Image_intf.RAWIMAGE.elt -> unit
val get :
Image_intf.RAWIMAGE.t -> int -> int -> Image_intf.RAWIMAGE.elt
val set :
Image_intf.RAWIMAGE.t ->
int -> int -> Image_intf.RAWIMAGE.elt -> unit
val destroy : Image_intf.RAWIMAGE.t -> unit
val copy : Image_intf.RAWIMAGE.t -> Image_intf.RAWIMAGE.t
val sub :
Image_intf.RAWIMAGE.t ->
int -> int -> int -> int -> Image_intf.RAWIMAGE.t
val blit :
Image_intf.RAWIMAGE.t ->
int ->
int -> Image_intf.RAWIMAGE.t -> int -> int -> int -> int -> unit
val map :
(Image_intf.RAWIMAGE.elt ->
Image_intf.RAWIMAGE.elt -> Image_intf.RAWIMAGE.elt) ->
Image_intf.RAWIMAGE.t ->
int ->
int -> Image_intf.RAWIMAGE.t -> int -> int -> int -> int -> unit
val blocks : Image_intf.RAWIMAGE.t -> int * int
val dump_block : Image_intf.RAWIMAGE.t -> int -> int -> Bitmap.Block.t
end
module type CONTAINER =
sig
type container
type rawimage
val rawimage :
Image_intf.CONTAINER.container -> Image_intf.CONTAINER.rawimage
val create_default :
int ->
int ->
Image_intf.CONTAINER.rawimage -> Image_intf.CONTAINER.container
val create_duplicate :
Image_intf.CONTAINER.container ->
int ->
int ->
Image_intf.CONTAINER.rawimage -> Image_intf.CONTAINER.container
end
module type IMAGE =
sig
type t
type elt
val create : int -> int -> Image_intf.IMAGE.t
val make : int -> int -> Image_intf.IMAGE.elt -> Image_intf.IMAGE.t
val destroy : Image_intf.IMAGE.t -> unit
val get : Image_intf.IMAGE.t -> int -> int -> Image_intf.IMAGE.elt
val set :
Image_intf.IMAGE.t -> int -> int -> Image_intf.IMAGE.elt -> unit
val unsafe_get :
Image_intf.IMAGE.t -> int -> int -> Image_intf.IMAGE.elt
val unsafe_set :
Image_intf.IMAGE.t -> int -> int -> Image_intf.IMAGE.elt -> unit
val copy : Image_intf.IMAGE.t -> Image_intf.IMAGE.t
val sub :
Image_intf.IMAGE.t -> int -> int -> int -> int -> Image_intf.IMAGE.t
val blit :
Image_intf.IMAGE.t ->
int -> int -> Image_intf.IMAGE.t -> int -> int -> int -> int -> unit
val map :
(Image_intf.IMAGE.elt -> Image_intf.IMAGE.elt -> Image_intf.IMAGE.elt) ->
Image_intf.IMAGE.t ->
int -> int -> Image_intf.IMAGE.t -> int -> int -> int -> int -> unit
val dump : Image_intf.IMAGE.t -> bytes
val unsafe_access : Image_intf.IMAGE.t -> int -> int -> bytes * int
val get_strip : Image_intf.IMAGE.t -> int -> int -> int -> bytes
val set_strip :
Image_intf.IMAGE.t -> int -> int -> int -> bytes -> unit
val get_scanline : Image_intf.IMAGE.t -> int -> bytes
val get_scanline_ptr :
Image_intf.IMAGE.t -> (int -> (bytes * int) * int) option
val set_scanline : Image_intf.IMAGE.t -> int -> bytes -> unit
val blocks : Image_intf.IMAGE.t -> int * int
val dump_block : Image_intf.IMAGE.t -> int -> int -> Bitmap.Block.t
end
module type CONTAINER_INDEXED =
sig
type container
type rawimage
type mapelt
val rawimage :
Image_intf.CONTAINER_INDEXED.container ->
Image_intf.CONTAINER_INDEXED.rawimage
val create_default :
int ->
int ->
Image_intf.CONTAINER_INDEXED.rawimage ->
Image_intf.CONTAINER_INDEXED.container
val create_duplicate :
Image_intf.CONTAINER_INDEXED.container ->
int ->
int ->
Image_intf.CONTAINER_INDEXED.rawimage ->
Image_intf.CONTAINER_INDEXED.container
val colormap :
Image_intf.CONTAINER_INDEXED.container ->
Image_intf.CONTAINER_INDEXED.mapelt Color.map
end
module type IMAGEINDEXED =
sig
type t
type 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
type mapelt
val get_color : t -> int -> int -> Image_intf.IMAGEINDEXED.mapelt
val unsafe_get_color :
t -> int -> int -> Image_intf.IMAGEINDEXED.mapelt
end
end