sig
type t = private { matrix : bool array array; height : int; width : int; }
val create : bool array array -> Tiling.Pattern.t
val apply : D4.t -> Tiling.Pattern.t -> Tiling.Pattern.t
val resize : Tiling.Pattern.t -> w:int -> h:int -> Tiling.Pattern.t
val crop :
Tiling.Pattern.t -> x:int -> y:int -> w:int -> h:int -> Tiling.Pattern.t
val shift : Tiling.Pattern.t -> ofsx:int -> ofsy:int -> Tiling.Pattern.t
val union : Tiling.Pattern.t -> Tiling.Pattern.t -> Tiling.Pattern.t
val inter : Tiling.Pattern.t -> Tiling.Pattern.t -> Tiling.Pattern.t
val diff : Tiling.Pattern.t -> Tiling.Pattern.t -> Tiling.Pattern.t
val xor : Tiling.Pattern.t -> Tiling.Pattern.t -> Tiling.Pattern.t
val has_iso : D4.t -> Tiling.Pattern.t -> bool
val print : Format.formatter -> Tiling.Pattern.t -> unit
end