Module Brush

type t = {
  1. radius : float;
  2. hardness : float;
  3. opacity : float;
}
val coverage : t -> float -> float
val spacing : t -> (float * float) -> (float * float) -> (float * float) list
val stroke_mask : t -> int -> int -> (float * float) list -> Mask.t
val paint : t -> (int * int * int) -> ?selection:Mask.t -> Pixels.image -> (float * float) list -> Pixels.image
val airbrush : t -> (int * int * int) -> flow:float -> ?selection:Mask.t -> Pixels.image -> (float * float) list -> Pixels.image
val stamp : t -> source:Pixels.image -> offset:(int * int) -> ?selection:Mask.t -> Pixels.image -> (float * float) list -> Pixels.image
val smudge : t -> strength:float -> ?selection:Mask.t -> Pixels.image -> (float * float) list -> Pixels.image