Module Static.R

val get_wave_width : (Base.int * Hardcaml_waveterm__Wave.t) -> Base.int * Base.int

get width code and actual width in chars

val get_wave_height : (Base.int * Hardcaml_waveterm__Wave.t) -> Base.int * Base.int

get height code and actual height in chars

val get_max_signal_width : Hardcaml_waveterm__Waves.t -> Base.int

max width of name window

val get_max_value_width : Hardcaml_waveterm__Waves.t -> Base.int

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

val get_estimated_max_value_width : Hardcaml_waveterm__Waves.t -> Base.int

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

val get_max_cycles : Hardcaml_waveterm__Waves.t -> Base.int

max no of wave cycles

val get_max_signals : Hardcaml_waveterm__Waves.t -> Base.int

max no of wave cycles

val get_max_wave_width : Hardcaml_waveterm__Waves.t -> Base.int

max width of wave window

val get_max_wave_height : Hardcaml_waveterm__Waves.t -> Base.int -> Base.int

max height of wave window

val draw_clock_cycle : ctx:(Base.int * Hardcaml_waveterm__Draw.Style.t) Base.array Base.array -> style:Hardcaml_waveterm__Draw.Style.t -> bounds:Hardcaml_waveterm__Draw.rect -> w:Base.int -> h:Base.int -> c:Base.int -> Base.unit

draws one clock cycle

val draw_clock_cycles : ctx:(Base.int * Hardcaml_waveterm__Draw.Style.t) Base.array Base.array -> style:Hardcaml_waveterm__Draw.Style.t -> bounds:Hardcaml_waveterm__Draw.rect -> w:Base.int -> waw:Base.int -> h:Base.int -> cnt:Base.int -> Base.unit

draws cnt clock cycles

val draw_binary_data : ctx:(Base.int * Hardcaml_waveterm__Draw.Style.t) Base.array Base.array -> style:Hardcaml_waveterm__Draw.Style.t -> bounds:Hardcaml_waveterm__Draw.rect -> w:Base.int -> h:Base.int -> data:Hardcaml_waveterm__Data.t -> off:Base.int -> Base.unit

draw binary waveform data

val draw_data : ctx:(Base.int * Hardcaml_waveterm__Draw.Style.t) Base.array Base.array -> style:Hardcaml_waveterm__Draw.Style.t -> bounds:Hardcaml_waveterm__Draw.rect -> to_str:( Hardcaml.Bits.t -> Base.string ) -> alignment:Text_alignment.t -> w:Base.int -> h:Base.int -> data:Hardcaml_waveterm__Data.t -> off:Base.int -> Base.unit

draw arbitrary waveform data

type !'a0 draw_item = ?style:Hardcaml_waveterm__Draw.Style.t -> ctx:(Base.int * Hardcaml_waveterm__Draw.Style.t) Base.array Base.array -> bounds:Hardcaml_waveterm__Draw.rect -> Hardcaml_waveterm__Waves.t -> 'a
val with_border : draw:'a draw_item -> label:Base.string -> ?border:Hardcaml_waveterm__Draw.Style.t -> 'a draw_item
val draw_cursor : ctx:(Base.int * Hardcaml_waveterm__Draw.Style.t) Base.array Base.array -> bounds:Hardcaml_waveterm__Draw.rect -> state:Hardcaml_waveterm__Waves.t -> Base.unit

draw cursor

val draw_wave : Base.unit draw_item

draw waveforms

val draw_signals : ?alignment:Text_alignment.t -> ?style:Hardcaml_waveterm__Draw.Style.t -> selected_wave_index:Base.int Base.option -> ctx:(Base.int * Hardcaml_waveterm__Draw.Style.t) Base.array Base.array -> bounds:Hardcaml_waveterm__Draw.rect -> Hardcaml_waveterm__Waves.t -> Base.unit

draw signal names

val draw_values : Base.int draw_item

draw signal values

val draw_status : Base.unit draw_item
val draw_ui : ?signals_alignment:Text_alignment.t -> ?style:Styles.t -> ?bounds:Bounds.t -> ctx:(Base.int * Hardcaml_waveterm__Draw.Style.t) Base.array Base.array -> Hardcaml_waveterm__Waves.t -> Base.unit

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

type pick = Make(Hardcaml_waveterm__Draw.In_memory).pick =
| Wave of Base.int * Base.int
| Value of Base.int
| Signal of Base.int
| Status
| No_pick
val pick : bounds:Bounds.t -> r:Base.int -> c:Base.int -> Hardcaml_waveterm__Waves.t -> pick