Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- result = {}
- for dimension, a, b, center, size in (("x", "left", "right", "center_x", "width"), ("y", "top", "bottom", "center_y", "height)):
- assert 2 == sum(1 for name in (a, b, center, size) if name in kwargs), f"{dimension} coordinates are overspecified or underspecified"
- if size in kwargs and a in kwargs:
- result[b] = kwargs[size] + kwargs[a]
- elif b in kwargs and size in kwargs:
- result[a] = kwargs[b] - kwargs[size]
- elif center in kwargs and b in kwargs:
- result[a] = 2*kwargs[center] - kwargs[b]
- elif center in kwargs and a in kwargs:
- result[b] = 2*kwargs[center] - kwargs[a]
- elif center in kwargs and size in kwargs:
- result[a] = kwargs[center] - kwargs[size]/2
- result[b] = kwargs[center] + kwargs[size]/2
- if a in kwargs: result[a] = kwargs[a]
- if b in kwargs: result[b] = kwargs[b]
- return Rect(**result)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement