aboutsummaryrefslogtreecommitdiffstats
path: root/src/utils/rectangle.hpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/utils/rectangle.hpp27
1 files changed, 19 insertions, 8 deletions
diff --git a/src/utils/rectangle.hpp b/src/utils/rectangle.hpp
index 39743e5d..f3f4477d 100644
--- a/src/utils/rectangle.hpp
+++ b/src/utils/rectangle.hpp
@@ -31,6 +31,7 @@
#include "point.hpp"
#include "dimension.hpp"
+#include "math.hpp"
namespace usdx
{
@@ -93,24 +94,34 @@ namespace usdx
return point2;
}
- const T get_x(void) const
+ const T get_width(void) const
{
- return point1.get_x();
+ return Math::abs(point2.get_x() - point1.get_x());
}
- const T get_y(void) const
+ const T get_height(void) const
{
- return point1.get_y();
+ return Math::abs(point2.get_y() - point1.get_y());
}
- const T get_width(void) const
+ const T get_top(void) const
{
- return point2.get_x() - point1.get_x();
+ return Math::min(point1.get_y(), point2.get_y());
}
- const T get_height(void) const
+ const T get_bottom(void) const
+ {
+ return Math::max(point1.get_y(), point2.get_y());
+ }
+
+ const T get_left(void) const
+ {
+ return Math::min(point1.get_x(), point2.get_x());
+ }
+
+ const T get_right(void) const
{
- return point2.get_y() - point1.get_y();
+ return Math::max(point1.get_x(), point2.get_x());
}
const Rectangle<T> intersect(const Rectangle<T>& inner) const