summaryrefslogtreecommitdiff
path: root/libs/ui/include/ui/Rotation.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ui/include/ui/Rotation.h')
-rw-r--r--libs/ui/include/ui/Rotation.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/libs/ui/include/ui/Rotation.h b/libs/ui/include/ui/Rotation.h
index 89008f6694..83d431dea3 100644
--- a/libs/ui/include/ui/Rotation.h
+++ b/libs/ui/include/ui/Rotation.h
@@ -41,6 +41,15 @@ constexpr Rotation operator+(Rotation lhs, Rotation rhs) {
return toRotation((toRotationInt(lhs) + toRotationInt(rhs)) % N);
}
+constexpr Rotation operator-(Rotation lhs, Rotation rhs) {
+ constexpr auto N = toRotationInt(ROTATION_270) + 1;
+ return toRotation((N + toRotationInt(lhs) - toRotationInt(rhs)) % N);
+}
+
+constexpr Rotation operator-(Rotation rotation) {
+ return ROTATION_0 - rotation;
+}
+
constexpr const char* toCString(Rotation rotation) {
switch (rotation) {
case ROTATION_0: