Render.Makemodule Data : sig ... endmodule Wave : sig ... endmodule Waves : sig ... endFunctions 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:Draw.ctx ->
style:Style.t ->
bounds: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:Draw.ctx ->
style:Style.t ->
bounds: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:Draw.ctx ->
style:Style.t ->
bounds:Rect.t ->
to_str:(Hardcaml.Bits.t -> Base.string) ->
alignment: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
val with_border :
draw:'a draw_item ->
label:Base.string ->
?border:Style.t ->
'a draw_itemval draw_cursor :
ctx:Draw.ctx ->
bounds:Rect.t ->
wave_cursor:Base.int ->
primary:Base.bool ->
state:Waves.t ->
Base.unitdraw cursor
val draw_wave :
?style:Style.t ->
?wave_cursors:[ `Primary of Base.int | `Secondary of Base.int ] Base.list ->
selected_wave_index:Base.int Base.option ->
ctx:Draw.ctx ->
bounds:Rect.t ->
Waves.t ->
Base.unitdraw waveforms
val draw_signals :
?alignment:Text_alignment.t ->
?style:Style.t ->
selected_wave_index:Base.int Base.option ->
ctx:Draw.ctx ->
bounds:Rect.t ->
Waves.t ->
Base.unitdraw signal names
val draw_values :
?style:Style.t ->
?wave_cursor:Base.int ->
selected_wave_index:Base.int Base.option ->
ctx:Draw.ctx ->
bounds:Rect.t ->
Waves.t ->
Base.intdraw signal values
val draw_ui :
?signals_alignment:Text_alignment.t ->
?style:Window_styles.t ->
?bounds:Window_bounds.t ->
ctx:Draw.ctx ->
Waves.t ->
Base.unitdraw standard user inferface (names, values, waveforms left to right
type 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:Window_bounds.t ->
r:Base.int ->
c:Base.int ->
Waves.t ->
pickmodule Static : sig ... end