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/grid_auto_flow.ml.html

Source file grid_auto_flow.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
type t =
  | Row (* Fill rows first *)
  | Column (* Fill columns first *)
  | Row_dense (* Fill rows first, packing items *)
  | Column_dense (* Fill columns first, packing items *)

let default = Row

let to_string = function
  | Row -> "row"
  | Column -> "column"
  | Row_dense -> "row dense"
  | Column_dense -> "column dense"

let equal a b =
  match (a, b) with
  | Row, Row -> true
  | Column, Column -> true
  | Row_dense, Row_dense -> true
  | Column_dense, Column_dense -> true
  | _ -> false

let compare a b =
  let to_int = function
    | Row -> 0
    | Column -> 1
    | Row_dense -> 2
    | Column_dense -> 3
  in
  Int.compare (to_int a) (to_int b)

let pp fmt t = Format.pp_print_string fmt (to_string t)

let is_dense = function
  | Row | Column -> false
  | Row_dense | Column_dense -> true

let primary_axis = function
  | Row | Row_dense -> Geometry.Abstract_axis.Inline
  | Column | Column_dense -> Geometry.Abstract_axis.Block