diff options
Diffstat (limited to 'graphics/macgui/macwindowborder.cpp')
-rw-r--r-- | graphics/macgui/macwindowborder.cpp | 28 |
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) { |