Module Render.Make

Parameters

Signature

val get_wave_width : (Hardcaml_waveterm__.Import.int * Wave.t) -> Hardcaml_waveterm__.Import.int * Hardcaml_waveterm__.Import.int

get width code and actual width in chars

val get_wave_height : (Hardcaml_waveterm__.Import.int * Wave.t) -> Hardcaml_waveterm__.Import.int * Hardcaml_waveterm__.Import.int

get height code and actual height in chars

val get_max_signal_width : Waves.t -> Hardcaml_waveterm__.Import.int

max width of name window

val get_max_value_width : Waves.t -> Hardcaml_waveterm__.Import.int

max width of values window. Needs to evaluate the entire waveform.

val get_estimated_max_value_width : Waves.t -> Hardcaml_waveterm__.Import.int

gets an estimate fo the max with of values. Inaccruate for the constructors U, S and F.

val get_max_cycles : Waves.t -> Hardcaml_waveterm__.Import.int

max no of wave cycles

val get_max_signals : Waves.t -> Hardcaml_waveterm__.Import.int

max no of wave cycles

val get_max_wave_width : Waves.t -> Hardcaml_waveterm__.Import.int

max width of wave window

val get_max_wave_height : Waves.t -> Hardcaml_waveterm__.Import.int -> Hardcaml_waveterm__.Import.int

max height of wave window

val draw_clock_cycle : ctx:G.ctx -> style:G.style -> bounds:Draw.rect -> w:Hardcaml_waveterm__.Import.int -> h:Hardcaml_waveterm__.Import.int -> c:Hardcaml_waveterm__.Import.int -> Hardcaml_waveterm__.Import.unit

draws one clock cycle

val draw_clock_cycles : ctx:G.ctx -> style:G.style -> bounds:Draw.rect -> w:Hardcaml_waveterm__.Import.int -> waw:Hardcaml_waveterm__.Import.int -> h:Hardcaml_waveterm__.Import.int -> cnt:Hardcaml_waveterm__.Import.int -> Hardcaml_waveterm__.Import.unit

draws cnt clock cycles

val draw_binary_data : ctx:G.ctx -> style:G.style -> bounds:Draw.rect -> w:Hardcaml_waveterm__.Import.int -> h:Hardcaml_waveterm__.Import.int -> data:Data.t -> off:Hardcaml_waveterm__.Import.int -> Hardcaml_waveterm__.Import.unit

draw binary waveform data

val draw_data : ctx:G.ctx -> style:G.style -> bounds:Draw.rect -> to_str:(Hardcaml_waveterm__.Import.Bits.t -> Hardcaml_waveterm__.Import.string) -> alignment:Wave_format.alignment -> w:Hardcaml_waveterm__.Import.int -> h:Hardcaml_waveterm__.Import.int -> data:Data.t -> off:Hardcaml_waveterm__.Import.int -> Hardcaml_waveterm__.Import.unit

draw arbitrary waveform data

type 'a draw_item = ?⁠style:Draw.Style.t -> ctx:G.ctx -> bounds:Draw.rect -> Waves.t -> 'a
val with_border : draw:'a draw_item -> label:Hardcaml_waveterm__.Import.string -> ?⁠border:Draw.Style.t -> 'a draw_item
val draw_cursor : ctx:G.ctx -> bounds:Draw.rect -> state:Waves.t -> Hardcaml_waveterm__.Import.unit

draw cursor

val draw_wave : Hardcaml_waveterm__.Import.unit draw_item

draw waveforms

val draw_signals : Hardcaml_waveterm__.Import.unit draw_item

draw signal names

val draw_values : Hardcaml_waveterm__.Import.int draw_item

draw signal values

val draw_status : Hardcaml_waveterm__.Import.unit draw_item
val draw_ui : ?⁠style:Styles.t -> ?⁠bounds:Bounds.t -> ctx:G.ctx -> Waves.t -> Hardcaml_waveterm__.Import.unit

draw standard user inferface (names, values, waveforms left to right

type pick =
| Wave of Hardcaml_waveterm__.Import.int * Hardcaml_waveterm__.Import.int
| Value of Hardcaml_waveterm__.Import.int
| Signal of Hardcaml_waveterm__.Import.int
| Status
| No_pick
val pick : bounds:Bounds.t -> r:Hardcaml_waveterm__.Import.int -> c:Hardcaml_waveterm__.Import.int -> Waves.t -> pick