M.RenderFunctions for drawing waves, signal names and values
gets an estimate fo the max with of values. Inaccruate for the constructors U, S and F.
val wave_width_of_code :
Base.int ->
[ `Cycles_per_char of Base.int | `Chars_per_cycle of Base.int ]Turn the UI integer representation of wave_width into a the rendering form.
val draw_clock_cycles :
ctx:Hardcaml_waveterm_kernel.Draw.ctx ->
style:Hardcaml_waveterm_kernel.Style.t ->
bounds:Hardcaml_waveterm_kernel.Rect.t ->
wave_width:[ `Cycles_per_char of Base.int | `Chars_per_cycle of Base.int ] ->
cnt:Base.int ->
Base.unitdraws cnt clock cycles
val draw_binary_data :
ctx:Hardcaml_waveterm_kernel.Draw.ctx ->
style:Hardcaml_waveterm_kernel.Style.t ->
bounds:Hardcaml_waveterm_kernel.Rect.t ->
wave_width:[ `Cycles_per_char of Base.int | `Chars_per_cycle of Base.int ] ->
data:Data.t ->
off:Base.int ->
Base.unitdraw binary waveform data
val draw_data :
ctx:Hardcaml_waveterm_kernel.Draw.ctx ->
style:Hardcaml_waveterm_kernel.Style.t ->
bounds:Hardcaml_waveterm_kernel.Rect.t ->
to_str:(Hardcaml.Bits.t -> Base.string) ->
alignment:Hardcaml_waveterm_kernel.Text_alignment.t ->
wave_width:[ `Cycles_per_char of Base.int | `Chars_per_cycle of Base.int ] ->
data:Data.t ->
off:Base.int ->
Base.unitdraw arbitrary waveform data
type 'a draw_item =
?style:Hardcaml_waveterm_kernel.Style.t ->
ctx:Hardcaml_waveterm_kernel.Draw.ctx ->
bounds:Hardcaml_waveterm_kernel.Rect.t ->
Waves.t ->
'aval with_border :
draw:'a draw_item ->
label:Base.string ->
?border:Hardcaml_waveterm_kernel.Style.t ->
'a draw_itemval draw_cursor :
ctx:Hardcaml_waveterm_kernel.Draw.ctx ->
bounds:Hardcaml_waveterm_kernel.Rect.t ->
wave_cursor:Base.int ->
primary:Base.bool ->
state:Waves.t ->
Base.unitdraw cursor
val draw_wave :
?style:Hardcaml_waveterm_kernel.Style.t ->
?wave_cursors:[ `Primary of Base.int | `Secondary of Base.int ] Base.list ->
selected_wave_index:Base.int Base.option ->
ctx:Hardcaml_waveterm_kernel.Draw.ctx ->
bounds:Hardcaml_waveterm_kernel.Rect.t ->
Waves.t ->
Base.unitdraw waveforms
val draw_signals :
?alignment:Hardcaml_waveterm_kernel.Text_alignment.t ->
?style:Hardcaml_waveterm_kernel.Style.t ->
selected_wave_index:Base.int Base.option ->
ctx:Hardcaml_waveterm_kernel.Draw.ctx ->
bounds:Hardcaml_waveterm_kernel.Rect.t ->
Waves.t ->
Base.unitdraw signal names
val draw_values :
?style:Hardcaml_waveterm_kernel.Style.t ->
?wave_cursor:Base.int ->
selected_wave_index:Base.int Base.option ->
ctx:Hardcaml_waveterm_kernel.Draw.ctx ->
bounds:Hardcaml_waveterm_kernel.Rect.t ->
Waves.t ->
Base.intdraw signal values
val draw_status :
?style:Hardcaml_waveterm_kernel.Style.t ->
?wave_cursor:Base.int ->
ctx:Hardcaml_waveterm_kernel.Draw.ctx ->
bounds:Hardcaml_waveterm_kernel.Rect.t ->
Waves.t ->
Base.unitval draw_ui :
?signals_alignment:Hardcaml_waveterm_kernel.Text_alignment.t ->
?style:Hardcaml_waveterm_kernel.Window_styles.t ->
?bounds:Hardcaml_waveterm_kernel.Window_bounds.t ->
ctx:Hardcaml_waveterm_kernel.Draw.ctx ->
Waves.t ->
Base.unitdraw standard user inferface (names, values, waveforms left to right
val draw_help :
?style:Hardcaml_waveterm_kernel.Style.t ->
ctx:Hardcaml_waveterm_kernel.Draw.ctx ->
bounds:Hardcaml_waveterm_kernel.Rect.t ->
Hardcaml_waveterm_kernel.Key_help.t Base.list ->
offset:Base.int ->
Base.unittype pick = | Wave of {cycle : Base.int;signal_index : Base.int Base.option;}| Value of {signal_index : Base.int Base.option;}| Signal of {signal_index : Base.int Base.option;}| Status| No_pickval pick :
bounds:Hardcaml_waveterm_kernel.Window_bounds.t ->
r:Base.int ->
c:Base.int ->
Waves.t ->
pickmodule Static : sig ... end