Module Indexed

type t = {
  1. width : int;
  2. height : int;
  3. pixels : Stdlib.Bytes.t;
}
val create : int -> int -> int -> t
val get : t -> int -> int -> int
val change : t -> (t -> unit) -> t
val dot : t -> int -> int -> int -> unit
type brush =
  1. | Dots of (int * int) list
  2. | Piece of t * int
val round : int -> brush
val square : int -> brush
val stamp : t -> brush -> int -> (int * int) -> unit
val line_dots : (int * int) -> (int * int) -> (int * int) list
val line : t -> brush -> int -> (int * int) -> (int * int) -> unit
val frame_rect : t -> int -> (int * int) -> (int * int) -> unit
val fill_rect : t -> int -> (int * int) -> (int * int) -> unit
val frame_ellipse : t -> int -> (int * int) -> (int * int) -> unit
val fill_ellipse : t -> int -> (int * int) -> (int * int) -> unit
val fill : t -> int -> (int * int) -> unit
val cut : t -> (int * int) -> (int * int) -> t
val symmetric : order:int -> centre:(int * int) -> (int * int) -> (int * int) list