Source file waves_intf.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
open Base

module type S = sig
  module Config : sig
    type t =
      { mutable signals_width : int
      ; mutable values_width : int
      ; mutable wave_width : int
      ; mutable start_cycle : int
      ; mutable start_signal : int
      ; mutable selected_signal : int
      ; mutable signal_scroll : int
      ; mutable value_scroll : int
      }
    [@@deriving sexp]

    val default : t
  end

  type 'data t =
    { cfg : Config.t
    ; waves : 'data Wave.t array
    }
  [@@deriving sexp_of]

  val total_rows : _ t -> int
end

module type Waves = sig
  include S
end