diff options
Diffstat (limited to 'libs/ui/include/ui/Rotation.h')
-rw-r--r-- | libs/ui/include/ui/Rotation.h | 9 |
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: |