aboutsummaryrefslogtreecommitdiff
path: root/graphics
diff options
context:
space:
mode:
authorScott Percival2020-01-11 11:27:21 +0800
committerScott Percival2020-01-11 11:27:21 +0800
commitb31d5ac2b9efe04fa717f6c39b4ce1526b55fd19 (patch)
treecaa28efd10bb09b4b04fafdbca265db8998d0630 /graphics
parentc56584724049a609a31f49890c5dd9bec2a085b4 (diff)
downloadscummvm-rg350-b31d5ac2b9efe04fa717f6c39b4ce1526b55fd19.tar.gz
scummvm-rg350-b31d5ac2b9efe04fa717f6c39b4ce1526b55fd19.tar.bz2
scummvm-rg350-b31d5ac2b9efe04fa717f6c39b4ce1526b55fd19.zip
DIRECTOR: Align fill patterns to global origin
Diffstat (limited to 'graphics')
-rw-r--r--graphics/macgui/macwindowmanager.cpp6
-rw-r--r--graphics/macgui/macwindowmanager.h6
2 files changed, 7 insertions, 5 deletions
diff --git a/graphics/macgui/macwindowmanager.cpp b/graphics/macgui/macwindowmanager.cpp
index 12cd391f92..19448053a3 100644
--- a/graphics/macgui/macwindowmanager.cpp
+++ b/graphics/macgui/macwindowmanager.cpp
@@ -295,7 +295,7 @@ void macDrawPixel(int x, int y, int color, void *data) {
uint yu = (uint)y;
*((byte *)p->surface->getBasePtr(xu, yu)) =
- (pat[yu % 8] & (1 << (7 - xu % 8))) ?
+ (pat[(yu - p->fillOriginY) % 8] & (1 << (7 - (xu - p->fillOriginX) % 8))) ?
color : p->bgColor;
}
} else {
@@ -310,7 +310,7 @@ void macDrawPixel(int x, int y, int color, void *data) {
uint xu = (uint)x; // for letting compiler optimize it
uint yu = (uint)y;
*((byte *)p->surface->getBasePtr(xu, yu)) =
- (pat[yu % 8] & (1 << (7 - xu % 8))) ?
+ (pat[(yu - p->fillOriginY) % 8] & (1 << (7 - (xu - p->fillOriginX) % 8))) ?
color : p->bgColor;
}
}
@@ -319,7 +319,7 @@ void macDrawPixel(int x, int y, int color, void *data) {
void MacWindowManager::drawDesktop() {
Common::Rect r(_screen->getBounds());
- MacPlotData pd(_screen, &_patterns, kPatternCheckers, 1, _colorWhite);
+ MacPlotData pd(_screen, &_patterns, kPatternCheckers, 0, 0, 1, _colorWhite);
Graphics::drawRoundRect(r, kDesktopArc, _colorBlack, true, macDrawPixel, &pd);
diff --git a/graphics/macgui/macwindowmanager.h b/graphics/macgui/macwindowmanager.h
index c412e64f0a..5846bcba07 100644
--- a/graphics/macgui/macwindowmanager.h
+++ b/graphics/macgui/macwindowmanager.h
@@ -83,11 +83,13 @@ struct MacPlotData {
Graphics::ManagedSurface *surface;
MacPatterns *patterns;
uint fillType;
+ int fillOriginX;
+ int fillOriginY;
int thickness;
uint bgColor;
- MacPlotData(Graphics::ManagedSurface *s, MacPatterns *p, int f, int t, uint bg) :
- surface(s), patterns(p), fillType(f), thickness(t), bgColor(bg) {
+ MacPlotData(Graphics::ManagedSurface *s, MacPatterns *p, uint f, int fx, int fy, int t, uint bg) :
+ surface(s), patterns(p), fillType(f), fillOriginX(fx), fillOriginY(fy), thickness(t), bgColor(bg) {
}
};