Hardcaml_waveterm_interactive.Draw_nottySourceNotty based gfx API. We need to use an intermediate in memory representation for notty.
include module type of Hardcaml_waveterm.Draw.In_memory
with type style = Hardcaml_waveterm.Draw.In_memory.styleinclude Hardcaml_waveterm.Draw.S
with type ctx = point Base.Array.t Base.Array.t
and type style = Hardcaml_waveterm.Draw.Style.t
with type style = Hardcaml_waveterm.Draw.In_memory.styledrawing context
underlying style type
get context size
convert our style info to underlying style
clear display
val fill :
ctx:ctx ->
style:style ->
bounds:Hardcaml_waveterm.Draw.rect ->
Base.Char.t ->
Base.Unit.tfill bounds with char given style
val draw_int :
ctx:ctx ->
style:style ->
bounds:Hardcaml_waveterm.Draw.rect ->
r:Base.Int.t ->
c:Base.Int.t ->
Base.Int.t ->
Base.Unit.tdraw int (representing unicode value)
val draw_piece :
ctx:ctx ->
style:style ->
bounds:Hardcaml_waveterm.Draw.rect ->
r:Base.Int.t ->
c:Base.Int.t ->
Hardcaml_waveterm.Draw.piece ->
Base.Unit.tdraw piece
val draw_char :
ctx:ctx ->
style:style ->
bounds:Hardcaml_waveterm.Draw.rect ->
r:Base.Int.t ->
c:Base.Int.t ->
Base.Char.t ->
Base.Unit.tdraw char
val draw_string :
ctx:ctx ->
style:style ->
bounds:Hardcaml_waveterm.Draw.rect ->
r:Base.Int.t ->
c:Base.Int.t ->
Base.String.t ->
Base.Unit.tdraw string (nothing fancy - horizontal, no breaks)
val draw_box :
ctx:ctx ->
style:style ->
bounds:Hardcaml_waveterm.Draw.rect ->
Base.String.t ->
Base.Unit.tdraw box outline with label
val get :
ctx:ctx ->
bounds:Hardcaml_waveterm.Draw.rect ->
r:Base.Int.t ->
c:Base.Int.t ->
Base.Int.t * Hardcaml_waveterm.Draw.Style.tget value and style at point
val inv :
ctx:ctx ->
bounds:Hardcaml_waveterm.Draw.rect ->
r:Base.Int.t ->
c:Base.Int.t ->
Base.Unit.tinvert fg and bg at point
val bold :
ctx:ctx ->
bounds:Hardcaml_waveterm.Draw.rect ->
r:Base.Int.t ->
c:Base.Int.t ->
Base.Unit.tset bold on point