diff options
| author | Markus Braun <markus.braun@krawel.de> | 2002-08-09 12:29:46 +0000 |
|---|---|---|
| committer | Markus Braun <markus.braun@krawel.de> | 2002-08-09 12:29:46 +0000 |
| commit | e67db77d6a6a27861a10ac2ba8564e7f09486717 (patch) | |
| tree | 88291e5958555f8c9985b24088eb75050b61e59a /firmware/drivers/lcd.c | |
| parent | 6985f34bebc38585a1c57c6be29d27957655a09b (diff) | |
| download | rockbox-e67db77d6a6a27861a10ac2ba8564e7f09486717.zip rockbox-e67db77d6a6a27861a10ac2ba8564e7f09486717.tar.gz rockbox-e67db77d6a6a27861a10ac2ba8564e7f09486717.tar.bz2 rockbox-e67db77d6a6a27861a10ac2ba8564e7f09486717.tar.xz | |
made lcd_invertrect() working
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1644 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/drivers/lcd.c')
| -rw-r--r-- | firmware/drivers/lcd.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/firmware/drivers/lcd.c b/firmware/drivers/lcd.c index 056aca0..d38b1da 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) /* Invert a rectangular area at (x, y), size (nx, ny) */ void lcd_invertrect (int x, int y, int nx, int ny) { - int i; + int i,j; + + if (x>LCD_WIDTH) return; + if (y>LCD_HEIGHT) return; + + if (x+nx>LCD_WIDTH) nx=LCD_WIDTH-x; + if (y+ny>LCD_HEIGHT) ny=LCD_HEIGHT-y; + for (i = 0; i < nx; i++) - lcd_bitmap (ones, x+i, y, 1, ny, false); + for (j = 0; j < ny; j++) + INVERT_PIXEL((x+i),(y+j)); } void lcd_drawline( int x1, int y1, int x2, int y2 ) |