package toffee

  1. Overview
  2. Docs
CSS layout engine for OCaml (Flexbox, Grid, Block)

Install

dune-project
 Dependency

Authors

Maintainers

Sources

mosaic-0.1.0.tbz
sha256=9e4e90d17f9b2af1b07071fe425bc2c519c849c4f1d1ab73cde512be2d874849
sha512=06e9c4a741590942e81a27738d0b5c0413fafec8cf3b7dae047ad69f155e7b718aa4223818dc161b7d028efffcfd3365905e264d6fd31d453910ddfa91dcf9b9

doc/src/toffee.style/flex_direction.ml.html

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)