diff options
author | James Rowe <jroweboy@gmail.com> | 2016-11-05 01:47:05 -0600 |
---|---|---|
committer | James Rowe <jroweboy@gmail.com> | 2016-11-05 02:55:58 -0600 |
commit | 5f72aade771ea63eaee468b09e2017dbbc5e6bef (patch) | |
tree | 71ef0b68d767807023e4c4231db5bdc9101c1534 /src/common/math_util.h | |
parent | e40c23463f6f9924936d7b5c8e97e7a70d3f7e65 (diff) |
Rework frame layouts to use a max rectangle instead of hardcoded calculations
Diffstat (limited to 'src/common/math_util.h')
-rw-r--r-- | src/common/math_util.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/common/math_util.h b/src/common/math_util.h index 41d89666c0..570ec8e56e 100644 --- a/src/common/math_util.h +++ b/src/common/math_util.h @@ -38,6 +38,18 @@ struct Rectangle { T GetHeight() const { return std::abs(static_cast<typename std::make_signed<T>::type>(bottom - top)); } + Rectangle<T> TranslateX(const T x) const { + return Rectangle{left + x, top, right + x, bottom}; + } + Rectangle<T> TranslateY(const T y) const { + return Rectangle{left, top + y, right, bottom + y}; + } + Rectangle<T> Scale(const float s) const { + ASSERT(s > 0); + return Rectangle { + left, top, static_cast<T>((right + left) * s), static_cast<T>((top + bottom) * s) + }; + } }; } // namespace MathUtil |