diff options
author | Borja Lorente | 2016-07-29 10:27:30 +0200 |
---|---|---|
committer | Borja Lorente | 2016-08-02 08:33:43 +0200 |
commit | bc798d9ff4d46ba758fa2d225cdd741f4c94ff18 (patch) | |
tree | 0b500c6fe1b753a224bbcc4ea279f1ede0934e17 /graphics/macgui/macwindowborder.cpp | |
parent | 2b586e7c5959c839323d24d1f788c9a836ece765 (diff) | |
download | scummvm-rg350-bc798d9ff4d46ba758fa2d225cdd741f4c94ff18.tar.gz scummvm-rg350-bc798d9ff4d46ba758fa2d225cdd741f4c94ff18.tar.bz2 scummvm-rg350-bc798d9ff4d46ba758fa2d225cdd741f4c94ff18.zip |
GRAPHICS: Add custom border measures
Diffstat (limited to 'graphics/macgui/macwindowborder.cpp')
-rw-r--r-- | graphics/macgui/macwindowborder.cpp | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/graphics/macgui/macwindowborder.cpp b/graphics/macgui/macwindowborder.cpp index b5fdcc33bf..f5458cb976 100644 --- a/graphics/macgui/macwindowborder.cpp +++ b/graphics/macgui/macwindowborder.cpp @@ -1,14 +1,20 @@ #include "macwindowborder.h" +#include "common/system.h" + +#include "graphics/macgui/macwindowmanager.h" + + namespace Graphics { +using namespace Graphics::MacGUIConstants; + MacWindowBorder::MacWindowBorder() : _activeInitialized(false), _inactiveInitialized(false) { _activeBorder = nullptr; _inactiveBorder = nullptr; _hasOffsets = false; } - MacWindowBorder::~MacWindowBorder() { if (_activeBorder) delete _activeBorder; @@ -36,7 +42,7 @@ bool MacWindowBorder::hasOffsets() { return _hasOffsets; } -void MacWindowBorder::setBorderOffsets(int left, int right, int top, int bottom) { +void MacWindowBorder::setOffsets(int left, int right, int top, int bottom) { _borderOffsets[0] = left; _borderOffsets[1] = right; _borderOffsets[2] = top; @@ -44,7 +50,7 @@ void MacWindowBorder::setBorderOffsets(int left, int right, int top, int bottom) _hasOffsets = true; } -int MacWindowBorder::getBorderOffset(MacBorderOffset offset) { +int MacWindowBorder::getOffset(MacBorderOffset offset) { return _borderOffsets[offset]; } @@ -53,10 +59,14 @@ void MacWindowBorder::blitBorderInto(ManagedSurface &destination, bool active) { TransparentSurface srf; NinePatchBitmap *src = active ? _activeBorder : _inactiveBorder; - srf.create(destination.w, destination.h, src->getSource()->format); + srf.create(destination.w, destination.h, destination.format); + srf.fillRect(Common::Rect(0, 0, srf.w, srf.h), kColorGreen2); + + byte palette[kColorCount]; + g_system->getPaletteManager()->grabPalette(palette, 0, kColorCount); - src->blit(srf, 0, 0, srf.w, srf.h); - destination.transBlitFrom(srf, destination.format.ARGBToColor(0, 255, 255, 255)); + src->blit(srf, 0, 0, srf.w, srf.h, palette, kColorCount); + destination.transBlitFrom(srf, kColorGreen2); } } // End of namespace Graphics |