diff options
Diffstat (limited to 'engines/adl/display.cpp')
-rw-r--r-- | engines/adl/display.cpp | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/engines/adl/display.cpp b/engines/adl/display.cpp index 2ecfbebfd7..b7f6eb9923 100644 --- a/engines/adl/display.cpp +++ b/engines/adl/display.cpp @@ -217,13 +217,6 @@ void Display::loadFrameBuffer(Common::ReadStream &stream) { error("Failed to read frame buffer"); } -void Display::putPixelRaw(const Common::Point &p, byte color) { - byte *b = _frameBuf + p.y * DISPLAY_PITCH + (p.x / 7); - color ^= *b; - color &= 0x80 | (1 << (p.x % 7)); - *b ^= color; -} - void Display::putPixel(const Common::Point &p, byte color) { byte offset = p.x / 7; byte mask = 0x80 | (1 << (p.x % 7)); @@ -241,14 +234,19 @@ void Display::putPixel(const Common::Point &p, byte color) { color ^= 0x7f; } - byte *b = _frameBuf + p.y * DISPLAY_PITCH + offset; - color ^= *b; - color &= mask; - *b ^= color; + writeFrameBuffer(p, color, mask); +} + +void Display::setPixelBit(const Common::Point &p, byte color) { + writeFrameBuffer(p, color, 1 << (p.x % 7)); +} + +void Display::setPixelPalette(const Common::Point &p, byte color) { + writeFrameBuffer(p, color, 0x80); } bool Display::getPixelBit(const Common::Point &p) const { - byte *b = _frameBuf + p.y * DISPLAY_PITCH + (p.x / 7); + byte *b = _frameBuf + p.y * DISPLAY_PITCH + p.x / 7; return *b & (1 << (p.x % 7)); } @@ -328,6 +326,13 @@ void Display::showCursor(bool enable) { _showCursor = enable; } +void Display::writeFrameBuffer(const Common::Point &p, byte color, byte mask) { + byte *b = _frameBuf + p.y * DISPLAY_PITCH + p.x / 7; + color ^= *b; + color &= mask; + *b ^= color; +} + void Display::showScanlines(bool enable) { byte pal[COLOR_PALETTE_ENTRIES * 3] = { }; |