From 485d5bbdeafc23abc4a6c17f2d49909aa4f1bc2c Mon Sep 17 00:00:00 2001 From: bsongis Date: Fri, 28 Dec 2012 09:13:37 +0000 Subject: [PATCH] [X9D] lcd_img now works with GREY1 and GREY2 --- src/lcd.cpp | 13 +++++++++++-- src/lcd.h | 2 +- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/lcd.cpp b/src/lcd.cpp index 61591058a..8bc9df004 100644 --- a/src/lcd.cpp +++ b/src/lcd.cpp @@ -42,7 +42,7 @@ void lcd_clear() memset(displayBuf, 0, sizeof(displayBuf)); } -void lcd_img(xcoord_t x, uint8_t y, const pm_uchar * img, uint8_t idx, uint8_t mode) +void lcd_img(xcoord_t x, uint8_t y, const pm_uchar * img, uint8_t idx, LcdFlags att) { const pm_uchar *q = img; #if defined(LCD260) @@ -52,14 +52,23 @@ void lcd_img(xcoord_t x, uint8_t y, const pm_uchar * img, uint8_t idx, uint8_t m uint8_t w = pgm_read_byte(q++); #endif uint8_t hb = (pgm_read_byte(q++)+7)/8; - bool inv = (mode & INVERS) ? true : (mode & BLINK ? BLINK_ON_PHASE : false); + bool inv = (att & INVERS) ? true : (att & BLINK ? BLINK_ON_PHASE : false); q += idx*w*hb; for (uint8_t yb = 0; yb < hb; yb++) { uint8_t *p = &displayBuf[ (y / 8 + yb) * DISPLAY_W + x ]; for (xcoord_t i=0; i