Module Draw.Make

Construct the API from a Primitives implementation

Parameters

Signature

type ctx = B.ctx

drawing context

type style

underlying style type

val rows : ctx -> Hardcaml_waveterm__.Import.int
val cols : ctx -> Hardcaml_waveterm__.Import.int
val get_bounds : ctx -> rect

get context size

val get_style : Style.t -> style

convert our style info to underlying style

val clear : ctx -> Hardcaml_waveterm__.Import.unit

clear display

val fill : ctx:ctx -> style:style -> bounds:rect -> Hardcaml_waveterm__.Import.char -> Hardcaml_waveterm__.Import.unit

fill bounds with char given style

val draw_int : ctx:ctx -> style:style -> bounds:rect -> r:Hardcaml_waveterm__.Import.int -> c:Hardcaml_waveterm__.Import.int -> Hardcaml_waveterm__.Import.int -> Hardcaml_waveterm__.Import.unit

draw int (representing unicode value)

val draw_piece : ctx:ctx -> style:style -> bounds:rect -> r:Hardcaml_waveterm__.Import.int -> c:Hardcaml_waveterm__.Import.int -> piece -> Hardcaml_waveterm__.Import.unit

draw piece

val draw_char : ctx:ctx -> style:style -> bounds:rect -> r:Hardcaml_waveterm__.Import.int -> c:Hardcaml_waveterm__.Import.int -> Hardcaml_waveterm__.Import.char -> Hardcaml_waveterm__.Import.unit

draw char

val draw_string : ctx:ctx -> style:style -> bounds:rect -> r:Hardcaml_waveterm__.Import.int -> c:Hardcaml_waveterm__.Import.int -> Hardcaml_waveterm__.Import.string -> Hardcaml_waveterm__.Import.unit

draw string (nothing fancy - horizontal, no breaks)

val draw_box : ctx:ctx -> style:style -> bounds:rect -> Hardcaml_waveterm__.Import.string -> Hardcaml_waveterm__.Import.unit

draw box outline with label

val get : ctx:ctx -> bounds:rect -> r:Hardcaml_waveterm__.Import.int -> c:Hardcaml_waveterm__.Import.int -> Hardcaml_waveterm__.Import.int * Style.t

get value and style at point

val inv : ctx:ctx -> bounds:rect -> r:Hardcaml_waveterm__.Import.int -> c:Hardcaml_waveterm__.Import.int -> Hardcaml_waveterm__.Import.unit

invert fg and bg at point

val bold : ctx:ctx -> bounds:rect -> r:Hardcaml_waveterm__.Import.int -> c:Hardcaml_waveterm__.Import.int -> Hardcaml_waveterm__.Import.unit

set bold on point