Advertisement
Guest User

Untitled

a guest
Jul 9th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.95 KB | None | 0 0
  1. result = {}
  2. for dimension, a, b, center, size in (("x", "left", "right", "center_x", "width"), ("y", "top", "bottom", "center_y", "height)):
  3. assert 2 == sum(1 for name in (a, b, center, size) if name in kwargs), f"{dimension} coordinates are overspecified or underspecified"
  4. if size in kwargs and a in kwargs:
  5. result[b] = kwargs[size] + kwargs[a]
  6. elif b in kwargs and size in kwargs:
  7. result[a] = kwargs[b] - kwargs[size]
  8. elif center in kwargs and b in kwargs:
  9. result[a] = 2*kwargs[center] - kwargs[b]
  10. elif center in kwargs and a in kwargs:
  11. result[b] = 2*kwargs[center] - kwargs[a]
  12. elif center in kwargs and size in kwargs:
  13. result[a] = kwargs[center] - kwargs[size]/2
  14. result[b] = kwargs[center] + kwargs[size]/2
  15. if a in kwargs: result[a] = kwargs[a]
  16. if b in kwargs: result[b] = kwargs[b]
  17. return Rect(**result)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement