[Scummvm-git-logs] scummvm master -> 04f7e8d1c254b13a259740b75b5bbbe47a6d680d
djsrv
dservilla at gmail.com
Fri Jul 31 20:44:03 UTC 2020
This automated email contains information about 5 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
d4c825b089 GRAPHICS: Allow using Mac WM best color in 9patch
313f4bda00 GRAPHICS: MACGUI: Fix MacWindowBorder::hasOffsets
6189a36d12 GRAPHICS: MACGUI: Add border types
2f1736892a GRAPHICS: MACGUI: Properly update border dims
04f7e8d1c2 DIRECTOR: Set window border types
Commit: d4c825b08903a9ec361054225aa5af3afb0a7ed7
https://github.com/scummvm/scummvm/commit/d4c825b08903a9ec361054225aa5af3afb0a7ed7
Author: djsrv (dservilla at gmail.com)
Date: 2020-07-31T16:38:37-04:00
Commit Message:
GRAPHICS: Allow using Mac WM best color in 9patch
Changed paths:
graphics/macgui/macwindow.cpp
graphics/macgui/macwindowborder.cpp
graphics/macgui/macwindowborder.h
graphics/nine_patch.cpp
graphics/nine_patch.h
diff --git a/graphics/macgui/macwindow.cpp b/graphics/macgui/macwindow.cpp
index f80459435e..34963c9c23 100644
--- a/graphics/macgui/macwindow.cpp
+++ b/graphics/macgui/macwindow.cpp
@@ -255,7 +255,7 @@ void MacWindow::drawBorderFromSurface(ManagedSurface *g) {
inside.moveTo(_macBorder.getOffset().left, _macBorder.getOffset().top);
g->fillRect(inside, kColorGreen);
- _macBorder.blitBorderInto(_borderSurface, _active);
+ _macBorder.blitBorderInto(*g, _active, _wm);
}
void MacWindow::drawSimpleBorder(ManagedSurface *g) {
diff --git a/graphics/macgui/macwindowborder.cpp b/graphics/macgui/macwindowborder.cpp
index 50fccd3577..995df01d33 100644
--- a/graphics/macgui/macwindowborder.cpp
+++ b/graphics/macgui/macwindowborder.cpp
@@ -84,7 +84,7 @@ Common::Rect &MacWindowBorder::getOffset() {
return _borderOffsets;
}
-void MacWindowBorder::blitBorderInto(ManagedSurface &destination, bool active) {
+void MacWindowBorder::blitBorderInto(ManagedSurface &destination, bool active, MacWindowManager *wm) {
TransparentSurface srf;
NinePatchBitmap *src = active ? _activeBorder : _inactiveBorder;
@@ -104,7 +104,7 @@ void MacWindowBorder::blitBorderInto(ManagedSurface &destination, bool active) {
byte palette[kColorCount * 3];
g_system->getPaletteManager()->grabPalette(palette, 0, kColorCount);
- src->blit(srf, 0, 0, srf.w, srf.h, palette, kColorCount);
+ src->blit(srf, 0, 0, srf.w, srf.h, NULL, 0, wm);
destination.transBlitFrom(srf, kColorGreen2);
srf.free();
}
diff --git a/graphics/macgui/macwindowborder.h b/graphics/macgui/macwindowborder.h
index 330e407460..bfe6f25100 100644
--- a/graphics/macgui/macwindowborder.h
+++ b/graphics/macgui/macwindowborder.h
@@ -98,8 +98,9 @@ public:
* It automatically resizes the border to fit the given surface.
* @param destination The surface we want to blit into.
* @param active True if we want to blit the active border, false otherwise.
+ * @param wm The window manager.
*/
- void blitBorderInto(ManagedSurface &destination, bool active);
+ void blitBorderInto(ManagedSurface &destination, bool active, MacWindowManager *wm);
private:
diff --git a/graphics/nine_patch.cpp b/graphics/nine_patch.cpp
index 155fc39ea9..dc1940c4d0 100644
--- a/graphics/nine_patch.cpp
+++ b/graphics/nine_patch.cpp
@@ -47,6 +47,7 @@
#include "common/array.h"
#include "graphics/transparent_surface.h"
#include "graphics/nine_patch.h"
+#include "graphics/macgui/macwindowmanager.h"
#include "graphics/managed_surface.h"
@@ -207,7 +208,7 @@ bad_bitmap:
}
}
-void NinePatchBitmap::blit(Graphics::Surface &target, int dx, int dy, int dw, int dh, byte *palette, int numColors) {
+void NinePatchBitmap::blit(Graphics::Surface &target, int dx, int dy, int dw, int dh, byte *palette, int numColors, MacWindowManager *wm) {
/* don't draw bitmaps that are smaller than the fixed area */
if (dw < _h._fix || dh < _v._fix)
return;
@@ -231,7 +232,7 @@ void NinePatchBitmap::blit(Graphics::Surface &target, int dx, int dy, int dw, in
/* Handle CLUT8 */
if (target.format.bytesPerPixel == 1) {
- if (!palette)
+ if (!palette && !wm)
error("NinePatchBitmap::blit(): Trying to blit into a surface with 8bpp, you need a palette.");
Surface *srf = new Surface();
@@ -244,11 +245,24 @@ void NinePatchBitmap::blit(Graphics::Surface &target, int dx, int dy, int dw, in
// recalculated when the palette changes.
_cached_colors.clear();
- for (uint i = 0; i < srf->w; ++i) {
- for (uint j = 0; j < srf->h; ++j) {
- uint32 color = *(uint32*)srf->getBasePtr(i, j);
- if (color > 0) {
- *((byte *)target.getBasePtr(i, j)) = closestGrayscale(color, palette, numColors);
+ if (palette) {
+ for (uint i = 0; i < srf->w; ++i) {
+ for (uint j = 0; j < srf->h; ++j) {
+ uint32 color = *(uint32*)srf->getBasePtr(i, j);
+ if (color > 0) {
+ *((byte *)target.getBasePtr(i, j)) = closestGrayscale(color, palette, numColors);
+ }
+ }
+ }
+ } else {
+ for (uint i = 0; i < srf->w; ++i) {
+ for (uint j = 0; j < srf->h; ++j) {
+ uint32 color = *(uint32*)srf->getBasePtr(i, j);
+ byte r, g, b;
+ _bmp->format.colorToRGB(color, r, g, b);
+ if (color > 0) {
+ *((byte *)target.getBasePtr(i, j)) = wm->findBestColor(r, g, b);
+ }
}
}
}
diff --git a/graphics/nine_patch.h b/graphics/nine_patch.h
index d341919baa..b45c92f09e 100644
--- a/graphics/nine_patch.h
+++ b/graphics/nine_patch.h
@@ -54,6 +54,7 @@ namespace Graphics {
struct TransparentSurface;
struct Surface;
+struct MacWindowManager;
struct NinePatchMark {
int offset;
@@ -88,7 +89,7 @@ public:
NinePatchBitmap(Graphics::TransparentSurface *bmp, bool owns_bitmap);
~NinePatchBitmap();
- void blit(Graphics::Surface &target, int dx, int dy, int dw, int dh, byte *palette = NULL, int numColors = 0);
+ void blit(Graphics::Surface &target, int dx, int dy, int dw, int dh, byte *palette = NULL, int numColors = 0, MacWindowManager *wm = NULL);
void blitClip(Graphics::Surface &target, Common::Rect clip, int dx, int dy, int dw, int dh);
int getWidth() { return _width; }
Commit: 313f4bda00c8e77862123a8314928a3e81bdb658
https://github.com/scummvm/scummvm/commit/313f4bda00c8e77862123a8314928a3e81bdb658
Author: djsrv (dservilla at gmail.com)
Date: 2020-07-31T16:38:37-04:00
Commit Message:
GRAPHICS: MACGUI: Fix MacWindowBorder::hasOffsets
Changed paths:
graphics/macgui/macwindowborder.cpp
diff --git a/graphics/macgui/macwindowborder.cpp b/graphics/macgui/macwindowborder.cpp
index 995df01d33..c12df9a64b 100644
--- a/graphics/macgui/macwindowborder.cpp
+++ b/graphics/macgui/macwindowborder.cpp
@@ -66,7 +66,8 @@ void MacWindowBorder::addInactiveBorder(TransparentSurface *source) {
}
bool MacWindowBorder::hasOffsets() {
- return _borderOffsets.isValidRect();
+ return _borderOffsets.left > -1 && _borderOffsets.right > -1
+ && _borderOffsets.top > -1 && _borderOffsets.bottom > -1;
}
void MacWindowBorder::setOffsets(int left, int right, int top, int bottom) {
Commit: 6189a36d12114ee205b46c7d9cd1ffa11ee1a04d
https://github.com/scummvm/scummvm/commit/6189a36d12114ee205b46c7d9cd1ffa11ee1a04d
Author: djsrv (dservilla at gmail.com)
Date: 2020-07-31T16:38:37-04:00
Commit Message:
GRAPHICS: MACGUI: Add border types
Changed paths:
A devtools/create_macgui/RoundClose_act.bmp
A devtools/create_macgui/RoundClose_inac.bmp
A devtools/create_macgui/StandardCloseZoom_act.bmp
A devtools/create_macgui/StandardCloseZoom_inac.bmp
A devtools/create_macgui/StandardClose_act.bmp
A devtools/create_macgui/StandardClose_inac.bmp
A devtools/create_macgui/Standard_act.bmp
A devtools/create_macgui/Standard_inac.bmp
A devtools/create_macgui/ThickNoTitle_act.bmp
A devtools/create_macgui/ThickNoTitle_inac.bmp
A devtools/create_macgui/ThickZoom_act.bmp
A devtools/create_macgui/ThickZoom_inac.bmp
A devtools/create_macgui/Thick_act.bmp
A devtools/create_macgui/Thick_inac.bmp
A devtools/create_macgui/ThinNoTitleShadow_act.bmp
A devtools/create_macgui/ThinNoTitleShadow_inac.bmp
A devtools/create_macgui/ThinNoTitle_act.bmp
A devtools/create_macgui/ThinNoTitle_inac.bmp
A devtools/create_macgui/create_macgui.sh
A graphics/macgui/datafiles.cpp
graphics/macgui/macwindow.cpp
graphics/macgui/macwindow.h
graphics/macgui/macwindowmanager.cpp
graphics/macgui/macwindowmanager.h
graphics/module.mk
diff --git a/devtools/create_macgui/RoundClose_act.bmp b/devtools/create_macgui/RoundClose_act.bmp
new file mode 100644
index 0000000000..aee9dfbc3e
Binary files /dev/null and b/devtools/create_macgui/RoundClose_act.bmp differ
diff --git a/devtools/create_macgui/RoundClose_inac.bmp b/devtools/create_macgui/RoundClose_inac.bmp
new file mode 100644
index 0000000000..6408a2c85d
Binary files /dev/null and b/devtools/create_macgui/RoundClose_inac.bmp differ
diff --git a/devtools/create_macgui/StandardCloseZoom_act.bmp b/devtools/create_macgui/StandardCloseZoom_act.bmp
new file mode 100644
index 0000000000..e307103f6b
Binary files /dev/null and b/devtools/create_macgui/StandardCloseZoom_act.bmp differ
diff --git a/devtools/create_macgui/StandardCloseZoom_inac.bmp b/devtools/create_macgui/StandardCloseZoom_inac.bmp
new file mode 100644
index 0000000000..fc54b8352e
Binary files /dev/null and b/devtools/create_macgui/StandardCloseZoom_inac.bmp differ
diff --git a/devtools/create_macgui/StandardClose_act.bmp b/devtools/create_macgui/StandardClose_act.bmp
new file mode 100644
index 0000000000..b18fdd321a
Binary files /dev/null and b/devtools/create_macgui/StandardClose_act.bmp differ
diff --git a/devtools/create_macgui/StandardClose_inac.bmp b/devtools/create_macgui/StandardClose_inac.bmp
new file mode 100644
index 0000000000..ca54f5af02
Binary files /dev/null and b/devtools/create_macgui/StandardClose_inac.bmp differ
diff --git a/devtools/create_macgui/Standard_act.bmp b/devtools/create_macgui/Standard_act.bmp
new file mode 100644
index 0000000000..b9d2d0f873
Binary files /dev/null and b/devtools/create_macgui/Standard_act.bmp differ
diff --git a/devtools/create_macgui/Standard_inac.bmp b/devtools/create_macgui/Standard_inac.bmp
new file mode 100644
index 0000000000..c574e27e61
Binary files /dev/null and b/devtools/create_macgui/Standard_inac.bmp differ
diff --git a/devtools/create_macgui/ThickNoTitle_act.bmp b/devtools/create_macgui/ThickNoTitle_act.bmp
new file mode 100644
index 0000000000..997c0cea85
Binary files /dev/null and b/devtools/create_macgui/ThickNoTitle_act.bmp differ
diff --git a/devtools/create_macgui/ThickNoTitle_inac.bmp b/devtools/create_macgui/ThickNoTitle_inac.bmp
new file mode 100644
index 0000000000..dabdeb9f38
Binary files /dev/null and b/devtools/create_macgui/ThickNoTitle_inac.bmp differ
diff --git a/devtools/create_macgui/ThickZoom_act.bmp b/devtools/create_macgui/ThickZoom_act.bmp
new file mode 100644
index 0000000000..47a8d42757
Binary files /dev/null and b/devtools/create_macgui/ThickZoom_act.bmp differ
diff --git a/devtools/create_macgui/ThickZoom_inac.bmp b/devtools/create_macgui/ThickZoom_inac.bmp
new file mode 100644
index 0000000000..8d4c1746f6
Binary files /dev/null and b/devtools/create_macgui/ThickZoom_inac.bmp differ
diff --git a/devtools/create_macgui/Thick_act.bmp b/devtools/create_macgui/Thick_act.bmp
new file mode 100644
index 0000000000..7c0bd82e6c
Binary files /dev/null and b/devtools/create_macgui/Thick_act.bmp differ
diff --git a/devtools/create_macgui/Thick_inac.bmp b/devtools/create_macgui/Thick_inac.bmp
new file mode 100644
index 0000000000..3e51069c90
Binary files /dev/null and b/devtools/create_macgui/Thick_inac.bmp differ
diff --git a/devtools/create_macgui/ThinNoTitleShadow_act.bmp b/devtools/create_macgui/ThinNoTitleShadow_act.bmp
new file mode 100644
index 0000000000..e8fa4d44a7
Binary files /dev/null and b/devtools/create_macgui/ThinNoTitleShadow_act.bmp differ
diff --git a/devtools/create_macgui/ThinNoTitleShadow_inac.bmp b/devtools/create_macgui/ThinNoTitleShadow_inac.bmp
new file mode 100644
index 0000000000..e8fa4d44a7
Binary files /dev/null and b/devtools/create_macgui/ThinNoTitleShadow_inac.bmp differ
diff --git a/devtools/create_macgui/ThinNoTitle_act.bmp b/devtools/create_macgui/ThinNoTitle_act.bmp
new file mode 100644
index 0000000000..8f73ea07db
Binary files /dev/null and b/devtools/create_macgui/ThinNoTitle_act.bmp differ
diff --git a/devtools/create_macgui/ThinNoTitle_inac.bmp b/devtools/create_macgui/ThinNoTitle_inac.bmp
new file mode 100644
index 0000000000..8f73ea07db
Binary files /dev/null and b/devtools/create_macgui/ThinNoTitle_inac.bmp differ
diff --git a/devtools/create_macgui/create_macgui.sh b/devtools/create_macgui/create_macgui.sh
new file mode 100755
index 0000000000..44b4116c51
--- /dev/null
+++ b/devtools/create_macgui/create_macgui.sh
@@ -0,0 +1,8 @@
+printf "Creating border file...\n"
+
+zip -r macgui.zip *.bmp
+mv macgui.zip macgui.dat
+
+echo done
+
+ls -l macgui.dat
diff --git a/graphics/macgui/datafiles.cpp b/graphics/macgui/datafiles.cpp
new file mode 100644
index 0000000000..8d3fe6a93d
--- /dev/null
+++ b/graphics/macgui/datafiles.cpp
@@ -0,0 +1,118 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+/*
+ * Based on MacVenture engine, based on
+ * WebVenture (c) 2010, Sean Kasun
+ * https://github.com/mrkite/webventure, http://seancode.com/webventure/
+ *
+ * Used with explicit permission from the author
+ */
+
+#include "graphics/macgui/macwindowmanager.h"
+
+#include "common/archive.h"
+#include "common/unzip.h"
+
+namespace Graphics {
+
+#define MACGUI_DATA_BUNDLE Common::String("macgui.dat")
+
+struct BorderName {
+ byte type;
+ const char *name;
+ int lo;
+ int ro;
+ int to;
+ int bo;
+};
+
+static const BorderName borders[] = {
+ {0x00, "StandardClose", 1, 2, 20, 2},
+ {0x01, "ThickNoTitle", 5, 5, 5, 5},
+ {0x02, "ThinNoTitle", 1, 1, 1, 1},
+ {0x03, "ThinNoTitleShadow", 1, 3, 1, 3},
+ {0x04, "StandardClose", 1, 2, 20, 2},
+ {0x05, "Thick", 5, 5, 20, 5},
+ {0x06, "ThinNoTitle", 1, 1, 1, 1},
+ {0x07, "ThinNoTitleShadow", 1, 3, 1, 3},
+ {0x08, "StandardCloseZoom", 1, 2, 20, 2},
+ {0x09, "ThickZoom", 5, 5, 20, 5},
+ {0x0A, "ThinNoTitle", 1, 1, 1, 1},
+ {0x0B, "ThinkNoTitleShadow", 1, 3, 1, 3},
+ {0x0C, "StandardCloseZoom", 1, 2, 20, 2},
+ {0x0D, "ThickZoom", 5, 5, 20, 5},
+ {0x0E, "ThinNoTitle", 1, 1, 1, 1},
+ {0x0F, "ThinNoTitleShadow", 1, 3, 1, 3},
+ {0x10, "RoundClose", 1, 1, 19, 6},
+ {0xFF, "No type", -1, -1, -1, -1}
+};
+
+Common::String windowTypeName(byte windowType) {
+ int i = 0;
+ while (borders[i].type != 0xFF) {
+ if (borders[i].type == windowType) {
+ return borders[i].name;
+ }
+ i++;
+ }
+ return "ThinNoTitle";
+}
+
+void MacWindowManager::loadDataBundle() {
+ _dataBundle = Common::makeZipArchive(MACGUI_DATA_BUNDLE);
+ if (!_dataBundle) {
+ warning("MACGUI: Couldn't load data bundle '%s'.", MACGUI_DATA_BUNDLE.c_str());
+ }
+}
+
+Common::Rect MacWindowManager::getBorderOffsets(byte windowType) {
+ int i = 0;
+ while (borders[i].type != 0xFF) {
+ if (borders[i].type == windowType) {
+ Common::Rect offsets;
+ offsets.left = borders[i].lo;
+ offsets.right = borders[i].ro;
+ offsets.top = borders[i].to;
+ offsets.bottom = borders[i].bo;
+ return offsets;
+ }
+ i++;
+ }
+ return Common::Rect(-1, -1, -1, -1);
+}
+
+Common::SeekableReadStream *MacWindowManager::getBorderFile(byte windowType, bool isActive) {
+ if (!_dataBundle)
+ return NULL;
+
+ Common::String filename = windowTypeName(windowType);
+ filename += (isActive ? "_act.bmp" : "_inac.bmp");
+ if (!_dataBundle->hasFile(filename)) {
+ warning("Missing border file '%s' in data bundle", filename.c_str());
+ return NULL;
+ }
+
+ return _dataBundle->createReadStreamForMember(filename);
+}
+
+} // End of namespace Graphics
diff --git a/graphics/macgui/macwindow.cpp b/graphics/macgui/macwindow.cpp
index 34963c9c23..b76dc9339d 100644
--- a/graphics/macgui/macwindow.cpp
+++ b/graphics/macgui/macwindow.cpp
@@ -67,6 +67,7 @@ MacWindow::MacWindow(int id, bool scrollable, bool resizable, bool editable, Mac
_closeable = false;
+ _borderType = -1;
_borderWidth = kBorderWidth;
_titleVisible = true;
@@ -580,4 +581,25 @@ bool MacWindow::processEvent(Common::Event &event) {
return false;
}
+void MacWindow::setBorderType(int borderType) {
+ _borderType = borderType;
+ if (borderType < 0) {
+ disableBorder();
+ } else {
+ Common::Rect offsets = _wm->getBorderOffsets(borderType);
+
+ Common::SeekableReadStream *activeFile = _wm->getBorderFile(borderType, true);
+ if (activeFile) {
+ loadBorder(*activeFile, true, offsets.left, offsets.right, offsets.top, offsets.bottom);
+ delete activeFile;
+ }
+
+ Common::SeekableReadStream *inactiveFile = _wm->getBorderFile(borderType, false);
+ if (inactiveFile) {
+ loadBorder(*inactiveFile, false, offsets.left, offsets.right, offsets.top, offsets.bottom);
+ delete inactiveFile;
+ }
+ }
+}
+
} // End of namespace Graphics
diff --git a/graphics/macgui/macwindow.h b/graphics/macgui/macwindow.h
index cf8fb1be62..1e99965389 100644
--- a/graphics/macgui/macwindow.h
+++ b/graphics/macgui/macwindow.h
@@ -293,6 +293,17 @@ public:
*/
void setCloseable(bool closeable);
+ /**
+ * Mutator to change the border type.
+ * @param borderType Border type.
+ */
+ void setBorderType(int borderType);
+ /**
+ * Accessor to get the border type.
+ * @return Border type.
+ */
+ int getBorderType() { return _borderType; };
+
private:
void prepareBorderSurface(ManagedSurface *g);
void drawSimpleBorder(ManagedSurface *g);
@@ -339,6 +350,8 @@ private:
Common::String _title;
bool _titleVisible;
+
+ int _borderType;
};
diff --git a/graphics/macgui/macwindowmanager.cpp b/graphics/macgui/macwindowmanager.cpp
index 729235688a..29baec33ef 100644
--- a/graphics/macgui/macwindowmanager.cpp
+++ b/graphics/macgui/macwindowmanager.cpp
@@ -196,6 +196,8 @@ MacWindowManager::MacWindowManager(uint32 mode, MacPatterns *patterns) {
CursorMan.replaceCursorPalette(palette, 0, ARRAYSIZE(palette) / 3);
CursorMan.replaceCursor(macCursorArrow, 11, 16, 1, 1, 3);
CursorMan.showMouse(true);
+
+ loadDataBundle();
}
MacWindowManager::~MacWindowManager() {
diff --git a/graphics/macgui/macwindowmanager.h b/graphics/macgui/macwindowmanager.h
index e4b56aefca..80d89f4866 100644
--- a/graphics/macgui/macwindowmanager.h
+++ b/graphics/macgui/macwindowmanager.h
@@ -33,6 +33,10 @@
#include "engines/engine.h"
+namespace Common {
+class Archive;
+}
+
namespace Graphics {
namespace MacGUIConstants {
@@ -283,6 +287,10 @@ public:
void removeMarked();
+ void loadDataBundle();
+ Common::Rect getBorderOffsets(byte windowType);
+ Common::SeekableReadStream *getBorderFile(byte windowType, bool isActive);
+
public:
MacFontManager *_fontMan;
uint32 _mode;
@@ -344,6 +352,8 @@ private:
Common::Array<ZoomBox *> _zoomBoxes;
Common::HashMap<uint32, uint> _colorHash;
+
+ Common::Archive *_dataBundle;
};
} // End of namespace Graphics
diff --git a/graphics/module.mk b/graphics/module.mk
index 142a2aab21..27cf06927e 100644
--- a/graphics/module.mk
+++ b/graphics/module.mk
@@ -14,6 +14,7 @@ MODULE_OBJS := \
fonts/winfont.o \
larryScale.o \
maccursor.o \
+ macgui/datafiles.o \
macgui/macbutton.o \
macgui/macfontmanager.o \
macgui/macmenu.o \
Commit: 2f1736892acd90f2e4c5afc5df11652d1fe32b30
https://github.com/scummvm/scummvm/commit/2f1736892acd90f2e4c5afc5df11652d1fe32b30
Author: djsrv (dservilla at gmail.com)
Date: 2020-07-31T16:38:37-04:00
Commit Message:
GRAPHICS: MACGUI: Properly update border dims
Changed paths:
graphics/macgui/macwindow.cpp
diff --git a/graphics/macgui/macwindow.cpp b/graphics/macgui/macwindow.cpp
index b76dc9339d..492aed6621 100644
--- a/graphics/macgui/macwindow.cpp
+++ b/graphics/macgui/macwindow.cpp
@@ -390,13 +390,11 @@ void MacWindow::setBorder(Graphics::TransparentSurface *surface, bool active, in
else
_macBorder.addInactiveBorder(surface);
- if (!_macBorder.hasOffsets()) {
- if (lo + ro + to + bo > -4) { // Checking against default -1
- _macBorder.setOffsets(lo, ro, to, bo);
- }
+ if (lo + ro + to + bo > -4) { // Checking against default -1
+ _macBorder.setOffsets(lo, ro, to, bo);
}
- updateInnerDims();
+ updateOuterDims();
}
void MacWindow::setCloseable(bool closeable) {
Commit: 04f7e8d1c254b13a259740b75b5bbbe47a6d680d
https://github.com/scummvm/scummvm/commit/04f7e8d1c254b13a259740b75b5bbbe47a6d680d
Author: djsrv (dservilla at gmail.com)
Date: 2020-07-31T16:38:37-04:00
Commit Message:
DIRECTOR: Set window border types
Changed paths:
engines/director/director.cpp
engines/director/lingo/lingo-builtins.cpp
diff --git a/engines/director/director.cpp b/engines/director/director.cpp
index 8ec235a211..f606dd5b8b 100644
--- a/engines/director/director.cpp
+++ b/engines/director/director.cpp
@@ -154,7 +154,9 @@ Common::Error DirectorEngine::run() {
_mainStage = new Stage(_wm->getNextId(), false, false, false, _wm, this);
*_mainStage->_refCount += 1;
- if (!debugChannelSet(-1, kDebugDesktop))
+ if (debugChannelSet(-1, kDebugDesktop))
+ _mainStage->setBorderType(3);
+ else
_mainStage->disableBorder();
_surface = new Graphics::ManagedSurface;
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index 17d82cdbb2..41855b4f99 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -2333,6 +2333,7 @@ void LB::b_window(int nargs) {
window->setTitle(windowName);
window->resize(1, 1, true);
window->setVisible(false, true);
+ window->setBorderType(0);
wm->addWindowInitialized(window);
windowList->push_back(window);
g_lingo->push(window);
More information about the Scummvm-git-logs
mailing list