acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
_geometry.h
1// From geometry2d/align.h by camilo on 2022-10-19 23:25 <3ThomasBorregaardSorensen!!
2#pragma once
3
4
5enum enum_orientation
6{
7
8 e_orientation_none = -1,
9 e_orientation_horizontal = 0,
10 e_orientation_vertical = 1,
11 e_orientation_z = 2,
12 e_orientation_w = 3,
13
14};
15
16
17constexpr ::collection::index index_of(enum_orientation eorientation)
18{
19
20 return (::collection::index) eorientation;
21
22}
23
24
25constexpr enum_orientation orthogonal2_of(enum_orientation eorientation)
26{
27
28 return eorientation == e_orientation_horizontal ? e_orientation_vertical : e_orientation_horizontal;
29
30}
31
32constexpr ::collection::index orthogonal2_index_of(enum_orientation eorientation)
33{
34
35 return eorientation == e_orientation_horizontal ? 1 : 0;
36
37}
38
39
40
41enum enum_align
42{
43
44 e_align_none = 0,
45 e_align_left = 1,
46 e_align_top = 2,
47 e_align_bottom = 4,
48 e_align_right = 8,
49 e_align_vertical_center = 16,
50 e_align_horizontal_center = 32,
51 e_align_baseline = 64,
52 e_align_horizontal = e_align_left | e_align_right | e_align_horizontal_center,
53 e_align_vertical = e_align_bottom | e_align_top | e_align_vertical_center,
54 e_align_top_left = e_align_top | e_align_left,
55 e_align_top_right = e_align_top | e_align_right,
56 e_align_bottom_left = e_align_bottom | e_align_left,
57 e_align_bottom_right = e_align_bottom | e_align_right,
58 e_align_top_center = e_align_top | e_align_horizontal_center,
59 e_align_bottom_center = e_align_bottom | e_align_horizontal_center,
60 e_align_left_center = e_align_left | e_align_vertical_center,
61 e_align_right_center = e_align_right | e_align_vertical_center,
62 e_align_center = e_align_horizontal_center | e_align_vertical_center,
63 e_align_bottom_right_bias = e_align_center | e_align_bottom_right,
64
65};
66
67
68namespace design
69{
70
71
72 enum enum_fit
73 {
74
75
76 e_fit_width = -1,
77 e_fit_match = 0,
78 e_fit_height = 1,
79
80
81 };
82
83
84 enum enum_match
85 {
86
87 e_match_width = -1,
88 e_match_none = 0,
89 e_match_height = 1,
90
91 };
92
93
94} // namespace design
95
96
97