--- 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)