Source file flex_direction.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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
type t = Row | Column | Row_reverse | Column_reverse
let default = Row
let is_row = function
| Row | Row_reverse -> true
| Column | Column_reverse -> false
let is_column t = not (is_row t)
let is_reverse = function
| Row_reverse | Column_reverse -> true
| Row | Column -> false
let main_axis = function
| Row | Row_reverse -> Geometry.Absolute_axis.Horizontal
| Column | Column_reverse -> Geometry.Absolute_axis.Vertical
let cross_axis = function
| Row | Row_reverse -> Geometry.Absolute_axis.Vertical
| Column | Column_reverse -> Geometry.Absolute_axis.Horizontal
let to_string = function
| Row -> "row"
| Column -> "column"
| Row_reverse -> "row-reverse"
| Column_reverse -> "column-reverse"
let equal a b =
match (a, b) with
| Row, Row -> true
| Column, Column -> true
| Row_reverse, Row_reverse -> true
| Column_reverse, Column_reverse -> true
| _ -> false
let compare a b =
let to_int = function
| Row -> 0
| Column -> 1
| Row_reverse -> 2
| Column_reverse -> 3
in
Int.compare (to_int a) (to_int b)
let pp fmt t = Format.pp_print_string fmt (to_string t)