From dbafddfbc3fecb8e1f3f7115c5028dad876a90a1 Mon Sep 17 00:00:00 2001 From: Fabrice Weinberg <Fabrice@weinberg.me> Date: Sat, 23 Jul 2016 23:09:34 +0200 Subject: [PATCH] Properly draw black lines. --- OLEDDisplay.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/OLEDDisplay.cpp b/OLEDDisplay.cpp index 1544dba..dc73f20 100644 --- a/OLEDDisplay.cpp +++ b/OLEDDisplay.cpp @@ -255,7 +255,7 @@ void OLEDDisplay::drawHorizontalLine(int16_t x, int16_t y, int16_t length) { } void OLEDDisplay::drawVerticalLine(int16_t x, int16_t y, int16_t length) { - if (x < 0 || x > DISPLAY_WIDTH) return; + if (x < 0 || x >= DISPLAY_WIDTH) return; if (y < 0) { length += y; @@ -285,9 +285,9 @@ void OLEDDisplay::drawVerticalLine(int16_t x, int16_t y, int16_t length) { } switch (color) { - case WHITE: *bufferPtr |= drawBit; break; - case BLACK: *bufferPtr &= drawBit; break; - case INVERSE: *bufferPtr ^= drawBit; break; + case WHITE: *bufferPtr |= drawBit; break; + case BLACK: *bufferPtr &= ~drawBit; break; + case INVERSE: *bufferPtr ^= drawBit; break; } if (length < yOffset) return; @@ -320,9 +320,9 @@ void OLEDDisplay::drawVerticalLine(int16_t x, int16_t y, int16_t length) { if (length > 0) { drawBit = (1 << (length & 7)) - 1; switch (color) { - case WHITE: *bufferPtr |= drawBit; break; - case BLACK: *bufferPtr &= drawBit; break; - case INVERSE: *bufferPtr ^= drawBit; break; + case WHITE: *bufferPtr |= drawBit; break; + case BLACK: *bufferPtr &= ~drawBit; break; + case INVERSE: *bufferPtr ^= drawBit; break; } } } -- GitLab