Module Draw.Make
Construct the API from a Primitives implementation
Parameters
B : Primitives
Signature
type ctx
= B.ctx
drawing context
val rows : ctx -> Import.int
val cols : ctx -> Import.int
val get_bounds : ctx -> rect
get context size
val clear : ctx -> Import.unit
clear display
val fill : ctx:ctx -> style:style -> bounds:rect -> Import.char -> Import.unit
fill
bounds
withchar
givenstyle
val draw_int : ctx:ctx -> style:style -> bounds:rect -> r:Import.int -> c:Import.int -> Import.int -> Import.unit
draw int (representing unicode value)
val draw_piece : ctx:ctx -> style:style -> bounds:rect -> r:Import.int -> c:Import.int -> piece -> Import.unit
draw piece
val draw_char : ctx:ctx -> style:style -> bounds:rect -> r:Import.int -> c:Import.int -> Import.char -> Import.unit
draw char
val draw_string : ctx:ctx -> style:style -> bounds:rect -> r:Import.int -> c:Import.int -> Import.string -> Import.unit
draw string (nothing fancy - horizontal, no breaks)
val draw_box : ctx:ctx -> style:style -> bounds:rect -> Import.string -> Import.unit
draw box outline with label
val get : ctx:ctx -> bounds:rect -> r:Import.int -> c:Import.int -> Import.int * Style.t
get value and style at point
val inv : ctx:ctx -> bounds:rect -> r:Import.int -> c:Import.int -> Import.unit
invert fg and bg at point
val bold : ctx:ctx -> bounds:rect -> r:Import.int -> c:Import.int -> Import.unit
set bold on point