diff options
author | Tony Wasserka <NeoBrainX@gmail.com> | 2014-11-13 20:25:39 +0100 |
---|---|---|
committer | Tony Wasserka <NeoBrainX@gmail.com> | 2014-11-18 13:15:59 +0100 |
commit | e02ff0121f9594cf441e180115e4cc86eb69a47c (patch) | |
tree | 4f8bdfaabba88ba2700d71e40a8f71bdace17966 /src/common/math_util.h | |
parent | OpenGL Renderer: Cleanup viewport extent calculation. (diff) | |
download | yuzu-e02ff0121f9594cf441e180115e4cc86eb69a47c.tar yuzu-e02ff0121f9594cf441e180115e4cc86eb69a47c.tar.gz yuzu-e02ff0121f9594cf441e180115e4cc86eb69a47c.tar.bz2 yuzu-e02ff0121f9594cf441e180115e4cc86eb69a47c.tar.lz yuzu-e02ff0121f9594cf441e180115e4cc86eb69a47c.tar.xz yuzu-e02ff0121f9594cf441e180115e4cc86eb69a47c.tar.zst yuzu-e02ff0121f9594cf441e180115e4cc86eb69a47c.zip |
Diffstat (limited to 'src/common/math_util.h')
-rw-r--r-- | src/common/math_util.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/common/math_util.h b/src/common/math_util.h index b32e7bb14..b10a25c13 100644 --- a/src/common/math_util.h +++ b/src/common/math_util.h @@ -7,6 +7,7 @@ #include "common/common.h" #include <algorithm> +#include <type_traits> #include <vector> namespace MathUtil @@ -109,11 +110,11 @@ struct Rectangle Rectangle(T theLeft, T theTop, T theRight, T theBottom) : left(theLeft), top(theTop), right(theRight), bottom(theBottom) { } - + bool operator==(const Rectangle& r) { return left==r.left && top==r.top && right==r.right && bottom==r.bottom; } - T GetWidth() const { return abs(right - left); } - T GetHeight() const { return abs(bottom - top); } + T GetWidth() const { return std::abs(static_cast<typename std::make_signed<T>::type>(right - left)); } + T GetHeight() const { return std::abs(static_cast<typename std::make_signed<T>::type>(bottom - top)); } // If the rectangle is in a coordinate system with a lower-left origin, use // this Clamp. @@ -127,7 +128,7 @@ struct Rectangle // If the rectangle is in a coordinate system with an upper-left origin, // use this Clamp. - void ClampUL(T x1, T y1, T x2, T y2) + void ClampUL(T x1, T y1, T x2, T y2) { if (left < x1) left = x1; if (right > x2) right = x2; |