/src/cupcake-primitives.adb

http://github.com/skordal/cupcake · Ada · 45 lines · 26 code · 9 blank · 10 comment · 0 complexity · 1acb3b17e91b336ee7f16e38273190c0 MD5 · raw file

  1. -- The Cupcake GUI Toolkit
  2. -- (c) Kristian Klomsten Skordal 2012 <kristian.skordal@gmail.com>
  3. -- Report bugs and issues on <http://github.com/skordal/cupcake/issues>
  4. -- vim:ts=3:sw=3:et:si:sta
  5. package body Cupcake.Primitives is
  6. -- Adds two points together:
  7. function "+" (Left, Right : in Point) return Point is
  8. begin
  9. return ((Left.X + Right.X), (Left.Y + Right.Y));
  10. end "+";
  11. -- Subtracts two points:
  12. function "-" (Left, Right : in Point) return Point is
  13. begin
  14. return ((Left.X - Right.X), (Left.Y - Right.Y));
  15. end "-";
  16. -- Compares two points for equality:
  17. function "=" (Left, Right : in Point) return Boolean is
  18. begin
  19. return ((Left.X = Right.X) and (Left.Y = Right.Y));
  20. end "=";
  21. -- Compares two dimensions:
  22. function "<" (Left, Right : in Dimension) return Boolean is
  23. begin
  24. return (Left.Width * Left.Height) < (Right.Width * Right.Height);
  25. end "<";
  26. -- Compares two dimensions:
  27. function ">" (Left, Right : in Dimension) return Boolean is
  28. begin
  29. return (Left.Width * Left.Height) > (Right.Width * Right.Height);
  30. end ">";
  31. -- Compares two dimensions:
  32. function "=" (Left, Right : in Dimension) return Boolean is
  33. begin
  34. return (Left.Width * Left.Height) = (Right.Width * Right.Height);
  35. end "=";
  36. end Cupcake.Primitives;