aboutsummaryrefslogtreecommitdiff
path: root/graphics/macgui/macwindowborder.cpp
diff options
context:
space:
mode:
authorBorja Lorente2016-06-03 20:49:54 +0200
committerBorja Lorente2016-07-31 14:45:37 +0200
commitf642ad1caec00295094fe89ded56a3302bafad2d (patch)
treee41cf466be142849be84dee34259777737192e68 /graphics/macgui/macwindowborder.cpp
parent1bfb1a561c61a30865ba5fadeb3cdb76831ad522 (diff)
downloadscummvm-rg350-f642ad1caec00295094fe89ded56a3302bafad2d.tar.gz
scummvm-rg350-f642ad1caec00295094fe89ded56a3302bafad2d.tar.bz2
scummvm-rg350-f642ad1caec00295094fe89ded56a3302bafad2d.zip
GRAPHICS: Refactor MacWindow to accept MacWindowBorder
Diffstat (limited to 'graphics/macgui/macwindowborder.cpp')
-rw-r--r--graphics/macgui/macwindowborder.cpp21
1 files changed, 13 insertions, 8 deletions
diff --git a/graphics/macgui/macwindowborder.cpp b/graphics/macgui/macwindowborder.cpp
index cbb2ef0571..761e1b6853 100644
--- a/graphics/macgui/macwindowborder.cpp
+++ b/graphics/macgui/macwindowborder.cpp
@@ -2,9 +2,9 @@
namespace Graphics {
-MacWindowBorder::MacWindowBorder() {
+MacWindowBorder::MacWindowBorder() : _activeInitialized(false), _inactiveInitialized(false) {
_activeBorder = nullptr;
- _inactiveBorder = nullptr;
+ _inactiveBorder = nullptr;
}
@@ -15,15 +15,20 @@ MacWindowBorder::~MacWindowBorder() {
delete _inactiveBorder;
}
-bool MacWindowBorder::empty() { return !(_activeBorder || _inactiveBorder); }
+bool MacWindowBorder::hasBorder(bool active) {
+ return active ? _activeInitialized : _inactiveInitialized;
+}
-void MacWindowBorder::addActiveBorder(TransparentSurface *source) {
- // Assumes NinePatchBitmap invariants hold
- _activeBorder = new NinePatchBitmap(source, false);
+void MacWindowBorder::addActiveBorder(TransparentSurface &source) {
+ assert(!_activeBorder);
+ _activeBorder = new NinePatchBitmap(&source, false);
+ _activeInitialized = true;
}
-void MacWindowBorder::addInactiveBorder(TransparentSurface *source) {
- _inactiveBorder = new NinePatchBitmap(source, false);
+void MacWindowBorder::addInactiveBorder(TransparentSurface &source) {
+ assert(!_inactiveBorder);
+ _inactiveBorder = new NinePatchBitmap(&source, false);
+ _inactiveInitialized = true;
}
void MacWindowBorder::blitBorderInto(ManagedSurface &destination, bool active) {