tuikit/core/coords.py
changeset 119 dd91747504dd
parent 115 b4ff7392003a
--- a/tuikit/core/coords.py	Sat Feb 21 12:01:57 2015 +0100
+++ b/tuikit/core/coords.py	Sun Feb 22 09:53:13 2015 +0100
@@ -200,23 +200,27 @@
 
     """Rectangle is defined by coordinates and size."""
 
-    def __init__(self, x=0, y=0, w=0, h=0):
-        self.x = x
-        self.y = y
-        self.w = w
-        self.h = h
+    def __init__(self, *args, **kwargs):
+        self.x = 0
+        self.y = 0
+        self.w = 0
+        self.h = 0
+        if len(args) == 4:
+            self.x, self.y, self.w, self.h = args
+        elif len(args) == 2:
+            self.set_origin_and_size(*args)
+        for key, val in kwargs.items():
+            setattr(self, key, val)
 
-    @classmethod
-    def _make(cls, origin, size):
-        """Make new Rect instance with origin and size as specified.
+    def set_origin_and_size(self, origin, size):
+        """Set rect origin and size as specified.
 
         `origin` should be Point or pair of coordinates,
         `size` should be Size or pair of integers
 
         """
-        x, y = origin
-        w, h = size
-        return Rect(x, y, w, h)
+        self.x, self.y = origin
+        self.w, self.h = size
 
     def __repr__(self):
         return '{0.__class__.__name__}(x={0.x}, y={0.y}, w={0.w}, h={0.h})'.format(self)