summaryrefslogtreecommitdiff
path: root/firmware/drivers/lcd.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers/lcd.c')
-rw-r--r--firmware/drivers/lcd.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/firmware/drivers/lcd.c b/firmware/drivers/lcd.c
index 056aca0769..d38b1daec5 100644
--- a/firmware/drivers/lcd.c
+++ b/firmware/drivers/lcd.c
@@ -910,9 +910,17 @@ void lcd_fillrect (int x, int y, int nx, int ny)
910/* Invert a rectangular area at (x, y), size (nx, ny) */ 910/* Invert a rectangular area at (x, y), size (nx, ny) */
911void lcd_invertrect (int x, int y, int nx, int ny) 911void lcd_invertrect (int x, int y, int nx, int ny)
912{ 912{
913 int i; 913 int i,j;
914
915 if (x>LCD_WIDTH) return;
916 if (y>LCD_HEIGHT) return;
917
918 if (x+nx>LCD_WIDTH) nx=LCD_WIDTH-x;
919 if (y+ny>LCD_HEIGHT) ny=LCD_HEIGHT-y;
920
914 for (i = 0; i < nx; i++) 921 for (i = 0; i < nx; i++)
915 lcd_bitmap (ones, x+i, y, 1, ny, false); 922 for (j = 0; j < ny; j++)
923 INVERT_PIXEL((x+i),(y+j));
916} 924}
917 925
918void lcd_drawline( int x1, int y1, int x2, int y2 ) 926void lcd_drawline( int x1, int y1, int x2, int y2 )