6#include "TTauri/Foundation/required.hpp"
10enum class VerticalAlignment {
16enum class HorizontalAlignment {
34enum class LineJoinStyle {
40inline Alignment operator|(VerticalAlignment lhs, HorizontalAlignment rhs)
noexcept
43 case VerticalAlignment::Top:
45 case HorizontalAlignment::Left:
return Alignment::TopLeft;
46 case HorizontalAlignment::Center:
return Alignment::TopCenter;
47 case HorizontalAlignment::Right:
return Alignment::TopRight;
48 default: tt_no_default;
50 case VerticalAlignment::Middle:
52 case HorizontalAlignment::Left:
return Alignment::MiddleLeft;
53 case HorizontalAlignment::Center:
return Alignment::MiddleCenter;
54 case HorizontalAlignment::Right:
return Alignment::MiddleRight;
55 default: tt_no_default;
57 case VerticalAlignment::Bottom:
59 case HorizontalAlignment::Left:
return Alignment::BottomLeft;
60 case HorizontalAlignment::Center:
return Alignment::BottomCenter;
61 case HorizontalAlignment::Right:
return Alignment::BottomRight;
62 default: tt_no_default;
64 default: tt_no_default;
68inline Alignment operator|(HorizontalAlignment lhs, VerticalAlignment rhs)
noexcept
73inline bool operator==(Alignment lhs, HorizontalAlignment rhs)
noexcept
76 case HorizontalAlignment::Left:
78 lhs == Alignment::TopLeft ||
79 lhs == Alignment::MiddleLeft ||
80 lhs == Alignment::BottomLeft;
82 case HorizontalAlignment::Center:
84 lhs == Alignment::TopCenter ||
85 lhs == Alignment::MiddleCenter ||
86 lhs == Alignment::BottomCenter;
88 case HorizontalAlignment::Right:
90 lhs == Alignment::TopRight ||
91 lhs == Alignment::MiddleRight ||
92 lhs == Alignment::BottomRight;
94 default: tt_no_default;
98inline bool operator==(Alignment lhs, VerticalAlignment rhs)
noexcept
101 case VerticalAlignment::Top:
103 lhs == Alignment::TopLeft ||
104 lhs == Alignment::TopCenter ||
105 lhs == Alignment::TopRight;
107 case VerticalAlignment::Middle:
109 lhs == Alignment::MiddleLeft ||
110 lhs == Alignment::MiddleCenter ||
111 lhs == Alignment::MiddleRight;
113 case VerticalAlignment::Bottom:
115 lhs == Alignment::BottomLeft ||
116 lhs == Alignment::BottomCenter ||
117 lhs == Alignment::BottomRight;
119 default: tt_no_default;
123inline bool operator!=(Alignment lhs, HorizontalAlignment rhs)
noexcept
125 return !(lhs == rhs);
128inline bool operator!=(Alignment lhs, VerticalAlignment rhs)
noexcept
130 return !(lhs == rhs);