diff --git a/firmware/lcd.c b/firmware/lcd.c index 5d31529ec0..5e1672b321 100644 --- a/firmware/lcd.c +++ b/firmware/lcd.c @@ -580,6 +580,7 @@ void lcd_invertrect (int x, int y, int nx, int ny) } #define DRAW_PIXEL(x,y) display[x][y/8] |= (1<<(y%7)) +#define CLEAR_PIXEL(x,y) display[x][y/8] &= ~(1<<(y%7)) void lcd_drawline( int x1, int y1, int x2, int y2 ) { @@ -651,6 +652,23 @@ void lcd_drawline( int x1, int y1, int x2, int y2 ) } } +/* + * Set a single pixel + */ +void lcd_drawpixel(int x, int y) +{ + DRAW_PIXEL(x,y); +} + +/* + * Clear a single pixel + */ +void lcd_clearpixel(int x, int y) +{ + CLEAR_PIXEL(x,y); +} + + #else /* no LCD defined, no code to use */ #endif diff --git a/firmware/lcd.h b/firmware/lcd.h index 6b0d861f76..dcfa1d587e 100644 --- a/firmware/lcd.h +++ b/firmware/lcd.h @@ -132,7 +132,9 @@ void lcd_bitmap (const unsigned char *src, int x, int y, int nx, int ny, void lcd_clearrect (int x, int y, int nx, int ny); void lcd_fillrect (int x, int y, int nx, int ny); void lcd_invertrect (int x, int y, int nx, int ny); - +void lcd_drawline( int x1, int y1, int x2, int y2 ); +void lcd_drawpixel(int x, int y); +void lcd_clearpixel(int x, int y); #endif