Factor out back color

This commit is contained in:
elasota
2020-05-20 23:51:25 -04:00
parent 66fc278ce9
commit a1c45d4fc8
15 changed files with 64 additions and 92 deletions

View File

@@ -59,13 +59,13 @@ void ColorOval (DrawSurface *surface, const Rect &theRect, long color)
surface->SetForeColor(wasColor);
}
void ColorOvalMaskPattern(DrawSurface *surface, const Rect &theRect, long color, bool isMask, const uint8_t *pattern)
void ColorOvalMaskPattern(DrawSurface *surface, const Rect &theRect, long color, const uint8_t *pattern)
{
const PortabilityLayer::RGBAColor &rgbaColor = PortabilityLayer::StandardPalette::GetInstance()->GetColors()[color];
const PortabilityLayer::RGBAColor wasColor = surface->GetForeColor();
surface->SetForeColor(rgbaColor);
surface->FillEllipseWithPattern(theRect, isMask, pattern);
surface->FillEllipseWithMaskPattern(theRect, pattern);
surface->SetForeColor(wasColor);
}
@@ -74,13 +74,13 @@ void ColorOvalMaskPattern(DrawSurface *surface, const Rect &theRect, long color,
// Given a region and color index, this function draws a solid<69>
// region in that color. Current port, pen mode, etc. assumed.
void ColorRegionMaskPattern (DrawSurface *surface, PortabilityLayer::ScanlineMask *scanlineMask, long colorIndex, bool isMask, const uint8_t *pattern)
void ColorRegionMaskPattern (DrawSurface *surface, PortabilityLayer::ScanlineMask *scanlineMask, long colorIndex, const uint8_t *pattern)
{
const PortabilityLayer::RGBAColor &rgbaColor = PortabilityLayer::StandardPalette::GetInstance()->GetColors()[colorIndex];
const PortabilityLayer::RGBAColor wasColor = surface->GetForeColor();
surface->SetForeColor(rgbaColor);
surface->FillScanlineMaskWithPattern(scanlineMask, isMask, pattern);
surface->FillScanlineMaskWithMaskPattern(scanlineMask, pattern);
surface->SetForeColor(wasColor);
}

View File

@@ -719,7 +719,7 @@ void BorderDialogItem(Dialog *theDialog, short item, short sides, short thicknes
surface->SetForeColor(StdColors::White());
surface->FillRect(rect);
surface->SetForeColor(StdColors::Black());
surface->FillRectWithPattern8x8(rect, true, pattern);
surface->FillRectWithMaskPattern8x8(rect, pattern);
}
else
surface->FillRect(rect);
@@ -735,7 +735,7 @@ void BorderDialogItem(Dialog *theDialog, short item, short sides, short thicknes
surface->SetForeColor(StdColors::White());
surface->FillRect(rect);
surface->SetForeColor(StdColors::Black());
surface->FillRectWithPattern8x8(rect, true, pattern);
surface->FillRectWithMaskPattern8x8(rect, pattern);
}
else
surface->FillRect(rect);
@@ -751,7 +751,7 @@ void BorderDialogItem(Dialog *theDialog, short item, short sides, short thicknes
surface->SetForeColor(StdColors::White());
surface->FillRect(rect);
surface->SetForeColor(StdColors::Black());
surface->FillRectWithPattern8x8(rect, true, pattern);
surface->FillRectWithMaskPattern8x8(rect, pattern);
}
else
surface->FillRect(rect);
@@ -767,7 +767,7 @@ void BorderDialogItem(Dialog *theDialog, short item, short sides, short thicknes
surface->SetForeColor(StdColors::White());
surface->FillRect(rect);
surface->SetForeColor(StdColors::Black());
surface->FillRectWithPattern8x8(rect, true, pattern);
surface->FillRectWithMaskPattern8x8(rect, pattern);
}
else
surface->FillRect(rect);

View File

@@ -136,8 +136,8 @@ void BackSpinCursor (short);
void ColorText (DrawSurface *surface, const Point &, StringPtr, long); // --- ColorUtils.c
void ColorRect (DrawSurface *surface, const Rect &, long);
void ColorOval (DrawSurface *surface, const Rect &, long);
void ColorOvalMaskPattern (DrawSurface *surface, const Rect &, long, bool, const uint8_t *);
void ColorRegionMaskPattern (DrawSurface *surface, PortabilityLayer::ScanlineMask *scanlineMask, long colorIndex, bool isMask, const uint8_t *pattern);
void ColorOvalMaskPattern (DrawSurface *surface, const Rect &, long, const uint8_t *);
void ColorRegionMaskPattern (DrawSurface *surface, PortabilityLayer::ScanlineMask *scanlineMask, long colorIndex, const uint8_t *pattern);
void ColorLine (DrawSurface *surface, short, short, short, short, long);
void HiliteRect (DrawSurface *surface, const Rect &rect, short, short);
void ColorFrameRect (DrawSurface *surface, const Rect &theRect, long colorIndex);

View File

@@ -202,7 +202,6 @@ void OpenMainWindow (void)
mainWindowSurface->SetClipRect(mainWindowRect);
mainWindowSurface->SetForeColor(StdColors::Black());
mainWindowSurface->SetBackColor(StdColors::White());
whichRoom = GetFirstRoomNumber();
CopyRoomToThisRoom(whichRoom);
@@ -252,7 +251,6 @@ void OpenMainWindow (void)
mainWindowSurface->SetClipRect(mainWindowRect);
// CopyRgn(mainWindow->clipRgn, mainWindow->visRgn);
mainWindowSurface->SetForeColor(StdColors::Black());
mainWindowSurface->SetBackColor(StdColors::White());
mainWindowSurface->FillRect(mainWindowRect);
splashOriginH = ((thisMac.constrainedScreen.right - thisMac.constrainedScreen.left) - 640) / 2;

View File

@@ -258,7 +258,7 @@ void RedrawMapContents (void)
surface->SetForeColor(StdColors::Blue());
Pattern dummyPat;
surface->FillRectWithPattern8x8(aRoom, true, *GetQDGlobalsGray(&dummyPat));
surface->FillRectWithMaskPattern8x8(aRoom, *GetQDGlobalsGray(&dummyPat));
}
}
}

View File

@@ -164,9 +164,9 @@ void DrawTable (Rect *tableTop, short down)
GetQDGlobalsGray(&dummyPattern);
if (thisMac.isDepth == 4)
ColorOvalMaskPattern(backSrcMap, tempRect, 15, true, dummyPattern);
ColorOvalMaskPattern(backSrcMap, tempRect, 15, dummyPattern);
else
ColorOvalMaskPattern(backSrcMap, tempRect, k8DkstGrayColor, true, dummyPattern);
ColorOvalMaskPattern(backSrcMap, tempRect, k8DkstGrayColor, dummyPattern);
InsetRect(tableTop, 0, 1);
ColorRect(backSrcMap, *tableTop, brownC);
@@ -279,9 +279,9 @@ void DrawShelf (Rect *shelfTop)
{
GetQDGlobalsGray(&dummyPattern);
if (thisMac.isDepth == 4)
ColorRegionMaskPattern(backSrcMap, mask, 15, true, dummyPattern);
ColorRegionMaskPattern(backSrcMap, mask, 15, dummyPattern);
else
ColorRegionMaskPattern(backSrcMap, mask, k8DkstGrayColor, true, dummyPattern);
ColorRegionMaskPattern(backSrcMap, mask, k8DkstGrayColor, dummyPattern);
mask->Destroy();
}
@@ -367,9 +367,9 @@ void DrawCabinet (Rect *cabinet)
{
GetQDGlobalsGray(&dummyPattern);
if (thisMac.isDepth == 4)
ColorRegionMaskPattern(backSrcMap, mask, 15, true, dummyPattern);
ColorRegionMaskPattern(backSrcMap, mask, 15, dummyPattern);
else
ColorRegionMaskPattern(backSrcMap, mask, dkGrayC, true, dummyPattern);
ColorRegionMaskPattern(backSrcMap, mask, dkGrayC, dummyPattern);
mask->Destroy();
}
@@ -504,9 +504,9 @@ void DrawCounter(Rect *counter)
{
GetQDGlobalsGray(&dummyPattern);
if (thisMac.isDepth == 4)
ColorRegionMaskPattern(backSrcMap, mask, 15, true, dummyPattern);
ColorRegionMaskPattern(backSrcMap, mask, 15, dummyPattern);
else
ColorRegionMaskPattern(backSrcMap, mask, dkGrayC, true, dummyPattern);
ColorRegionMaskPattern(backSrcMap, mask, dkGrayC, dummyPattern);
mask->Destroy();
}
@@ -747,7 +747,7 @@ void DrawDeckTable (Rect *tableTop, short down)
-HalfRectTall(&tempRect) + kTableShadowTop + down);
QOffsetRect(&tempRect, kTableShadowOffset, -kTableShadowOffset);
GetQDGlobalsGray(&dummyPattern);
ColorOvalMaskPattern(backSrcMap, tempRect, dkGrayC, true, dummyPattern);
ColorOvalMaskPattern(backSrcMap, tempRect, dkGrayC, dummyPattern);
InsetRect(tableTop, 0, 1);
ColorRect(backSrcMap, *tableTop, kGoldColor);

View File

@@ -2251,7 +2251,7 @@ void DrawThisRoomsObjects (void)
{
if (GetNumberOfLights(thisRoomNumber) <= 0)
{
surface->FillRectWithPattern8x8(backSrcRect, true, *GetQDGlobalsGray(&dummyPattern));
surface->FillRectWithMaskPattern8x8(backSrcRect, *GetQDGlobalsGray(&dummyPattern));
}
for (i = 0; i < kMaxRoomObs; i++)

View File

@@ -127,7 +127,6 @@ void OpenMessageWindow (const PLPasStr &title)
surface->SetClipRect(mssgWindowRect);
surface->SetForeColor(StdColors::Black());
surface->SetBackColor(StdColors::White());
surface->SetSystemFont(12, 0);
}