aboutsummaryrefslogtreecommitdiff
path: root/graphics/macgui/macwindow.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/macwindow.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/macwindow.cpp')
-rw-r--r--graphics/macgui/macwindow.cpp20
1 files changed, 5 insertions, 15 deletions
diff --git a/graphics/macgui/macwindow.cpp b/graphics/macgui/macwindow.cpp
index 3c9372a745..96139b2508 100644
--- a/graphics/macgui/macwindow.cpp
+++ b/graphics/macgui/macwindow.cpp
@@ -78,9 +78,6 @@ MacWindow::MacWindow(int id, bool scrollable, bool resizable, bool editable, Mac
_draggedX = _draggedY = 0;
_type = kWindowWindow;
-
- _borders = nullptr;
-
}
MacWindow::~MacWindow() {
@@ -186,7 +183,7 @@ void MacWindow::drawBorder() {
ManagedSurface *g = &_borderSurface;
prepareBorderSurface(g);
- if (!_macBorder.empty())
+ if (_macBorder.hasBorder(_active))
drawBorderFromSurface(g);
else
drawSimpleBorder(g);
@@ -203,12 +200,7 @@ void MacWindow::prepareBorderSurface(ManagedSurface *g) {
}
void MacWindow::drawBorderFromSurface(ManagedSurface *g) {
-
- TransparentSurface srf;
- srf.create(_borderSurface.w, _borderSurface.h, _borders->format);
-
_macBorder.blitBorderInto(_borderSurface, _active);
- _borderSurface.transBlitFrom(srf, _borderSurface.format.ARGBToColor(0, 255, 255, 255));
}
void MacWindow::drawSimpleBorder(ManagedSurface *g) {
@@ -301,15 +293,13 @@ void MacWindow::setHighlight(WindowClick highlightedPart) {
_borderIsDirty = true;
}
- void MacWindow::setBorder(TransparentSurface *source, bool active) {
- _borders = new TransparentSurface(*source);
+ void MacWindow::setBorder(TransparentSurface &border, bool active) {
if (active)
- _macBorder.addActiveBorder(_borders);
- else
- _macBorder.addInactiveBorder(_borders);
+ _macBorder.addActiveBorder(border);
+ else
+ _macBorder.addInactiveBorder(border);
}
-
void MacWindow::drawBox(ManagedSurface *g, int x, int y, int w, int h) {
Common::Rect r(x, y, x + w + 1, y + h + 1);