aboutsummaryrefslogtreecommitdiff
path: root/thcolor/_angle.py
diff options
context:
space:
mode:
Diffstat (limited to 'thcolor/_angle.py')
-rwxr-xr-xthcolor/_angle.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/thcolor/_angle.py b/thcolor/_angle.py
index 0a0b1bd..c402197 100755
--- a/thcolor/_angle.py
+++ b/thcolor/_angle.py
@@ -62,6 +62,23 @@ class Angle:
self._type = Angle.Type.INVALID
self.set(*args, **kwargs)
+ def __eq__(self, other):
+ if not isinstance(other, Angle):
+ return super().__eq__(other)
+
+ if self._type == Angle.Type.INVALID:
+ return other.type == Angle.Type.INVALID
+ elif self._type == Angle.Type.DEG:
+ return other.degrees == self._value
+ elif self._type == Angle.Type.GRAD:
+ return other.gradiants == self._value
+ elif self._type == Angle.Type.RAD:
+ return other.radiants == self._value
+ elif self._type == Angle.Type.TURN:
+ return other.turns == self._value
+
+ return False
+
def __repr__(self):
args = (('type', self._type),)
if self._type in (Angle.Type.DEG, Angle.Type.GRAD, Angle.Type.RAD,