aboutsummaryrefslogtreecommitdiff
path: root/graphics/macgui/macwindowborder.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2019-09-29 23:24:37 +0200
committerEugene Sandulenko2019-09-29 23:26:05 +0200
commit3fbcc67766745d28f1b39d95459e53835beb628a (patch)
tree998fdb7b1df000fc73aa8e95479b22a90bf2b96a /graphics/macgui/macwindowborder.cpp
parent45ef1eb16683ea876758b35eef48a54be34d5f2a (diff)
downloadscummvm-rg350-3fbcc67766745d28f1b39d95459e53835beb628a.tar.gz
scummvm-rg350-3fbcc67766745d28f1b39d95459e53835beb628a.tar.bz2
scummvm-rg350-3fbcc67766745d28f1b39d95459e53835beb628a.zip
GRAPHICS: MACGUI: Load border padding directly from the 9-patch
Diffstat (limited to 'graphics/macgui/macwindowborder.cpp')
-rw-r--r--graphics/macgui/macwindowborder.cpp28
1 files changed, 19 insertions, 9 deletions
diff --git a/graphics/macgui/macwindowborder.cpp b/graphics/macgui/macwindowborder.cpp
index 7dae697c19..50fccd3577 100644
--- a/graphics/macgui/macwindowborder.cpp
+++ b/graphics/macgui/macwindowborder.cpp
@@ -32,7 +32,8 @@ using namespace Graphics::MacGUIConstants;
MacWindowBorder::MacWindowBorder() : _activeInitialized(false), _inactiveInitialized(false) {
_activeBorder = nullptr;
_inactiveBorder = nullptr;
- _hasOffsets = false;
+
+ _borderOffsets.right = -1; // make invalid rect
}
MacWindowBorder::~MacWindowBorder() {
@@ -50,28 +51,37 @@ void MacWindowBorder::addActiveBorder(TransparentSurface *source) {
assert(!_activeBorder);
_activeBorder = new NinePatchBitmap(source, true);
_activeInitialized = true;
+
+ if (_activeBorder->getPadding().isValidRect())
+ setOffsets(_activeBorder->getPadding());
}
void MacWindowBorder::addInactiveBorder(TransparentSurface *source) {
assert(!_inactiveBorder);
_inactiveBorder = new NinePatchBitmap(source, true);
_inactiveInitialized = true;
+
+ if (!_inactiveBorder->getPadding().isValidRect())
+ setOffsets(_inactiveBorder->getPadding());
}
bool MacWindowBorder::hasOffsets() {
- return _hasOffsets;
+ return _borderOffsets.isValidRect();
}
void MacWindowBorder::setOffsets(int left, int right, int top, int bottom) {
- _borderOffsets[0] = left;
- _borderOffsets[1] = right;
- _borderOffsets[2] = top;
- _borderOffsets[3] = bottom;
- _hasOffsets = true;
+ _borderOffsets.left = left;
+ _borderOffsets.right = right;
+ _borderOffsets.top = top;
+ _borderOffsets.bottom = bottom;
+}
+
+void MacWindowBorder::setOffsets(Common::Rect &rect) {
+ _borderOffsets = rect;
}
-int MacWindowBorder::getOffset(MacBorderOffset offset) {
- return _borderOffsets[offset];
+Common::Rect &MacWindowBorder::getOffset() {
+ return _borderOffsets;
}
void MacWindowBorder::blitBorderInto(ManagedSurface &destination, bool active) {