sig
type doc
val new_document : width:int -> height:int -> unit -> Cnv.doc
val finish : Cnv.doc -> unit
val add_comment : Cnv.doc -> s:string -> unit -> unit
val add_newline : Cnv.doc -> unit
val get_document : Cnv.doc -> string
val write_file : Cnv.doc -> filename:string -> unit
val print_document : Cnv.doc -> unit
val add_rect :
Cnv.doc ->
x:int ->
y:int ->
width:int ->
height:int ->
?fill:string -> ?stroke:string -> ?stroke_width:float -> unit -> unit
val add_circle :
Cnv.doc ->
c:float * float ->
r:float ->
?fill:string -> ?stroke:string -> ?stroke_width:float -> unit -> unit
val add_triangle :
Cnv.doc ->
p1:int * int ->
p2:int * int ->
p3:int * int ->
?fill:string -> ?stroke:string -> ?stroke_width:float -> unit -> unit
val add_line :
Cnv.doc ->
p1:int * int ->
p2:int * int -> ?stroke:string -> ?stroke_width:float -> unit -> unit
val add_polyline :
Cnv.doc ->
points:(int * int) list ->
?fill:string -> ?stroke:string -> ?stroke_width:float -> unit -> unit
val add_polygon :
Cnv.doc ->
points:(int * int) list ->
?fill:string -> ?stroke:string -> ?stroke_width:float -> unit -> unit
val add_ellipse :
Cnv.doc ->
c:float * float ->
rs:float * float ->
?angle:float ->
?fill:string -> ?stroke:string -> ?stroke_width:float -> unit -> unit
val add_text :
Cnv.doc ->
x:int ->
y:int ->
text:string ->
font:string ->
?fill:string -> ?stroke:string -> ?stroke_width:float -> unit -> unit
val add_path :
Cnv.doc ->
d:string ->
?fill:string -> ?stroke:string -> ?stroke_width:float -> unit -> unit
type path
val add_path2 :
Cnv.doc ->
f:(Cnv.path -> Cnv.path) ->
?fill:string -> ?stroke:string -> ?stroke_width:float -> unit -> unit
val move_to : Cnv.path -> x:float -> y:float -> Cnv.path
val line_to : Cnv.path -> x:float -> y:float -> Cnv.path
val arc_to :
Cnv.path ->
x1:float -> y1:float -> x2:float -> y2:float -> radius:float -> Cnv.path
val quad_curve :
Cnv.path -> x1:float -> y1:float -> x:float -> y:float -> Cnv.path
val cubic_curve :
Cnv.path ->
x1:float ->
y1:float -> x2:float -> y2:float -> x:float -> y:float -> Cnv.path
val close_path : Cnv.path -> Cnv.path
val add_svg_document :
Cnv.doc -> frag:string -> x:int -> y:int -> unit -> unit
val begin_group :
Cnv.doc ->
?translate:float * float ->
?rotate:float -> ?scale:float * float -> unit -> unit
val end_group : Cnv.doc -> unit
val to_radian : float -> float
type def
val linear_gradient :
p1:int * int ->
p2:int * int ->
stops:(float * string) list ->
?translate:int * int -> unit -> Cnv.def * string
val radial_gradient :
c1:int * int ->
c2:int * int ->
rs:int * int ->
stops:(float * string) list ->
?translate:int * int -> unit -> Cnv.def * string
val conic_gradient :
c:int * int ->
start_angle:float ->
stops:(float * string) list ->
?translate:int * int -> unit -> Cnv.def * string
val add_def : Cnv.doc -> Cnv.def -> unit
val add_defs : Cnv.doc -> Cnv.def list -> unit
end