diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/drivers/lcd-recorder.c | 23 | ||||
-rw-r--r-- | firmware/export/lcd.h | 1 |
2 files changed, 24 insertions, 0 deletions
diff --git a/firmware/drivers/lcd-recorder.c b/firmware/drivers/lcd-recorder.c index 597c7d246a..a409c9fc63 100644 --- a/firmware/drivers/lcd-recorder.c +++ b/firmware/drivers/lcd-recorder.c | |||
@@ -543,6 +543,29 @@ void lcd_invertrect (int x, int y, int nx, int ny) | |||
543 | INVERT_PIXEL((x + i), (y + j)); | 543 | INVERT_PIXEL((x + i), (y + j)); |
544 | } | 544 | } |
545 | 545 | ||
546 | /* Reverse the invert setting of the scrolling line (if any) at given char | ||
547 | position. Setting will go into affect next time line scrolls. */ | ||
548 | void lcd_invertscroll(int x, int y) | ||
549 | { | ||
550 | struct scrollinfo* s; | ||
551 | int index; | ||
552 | |||
553 | for ( index = 0; index < SCROLLABLE_LINES; index++ ) { | ||
554 | /* is this a scrolling line? */ | ||
555 | if ( !(scrolling_lines&(1<<index)) ) | ||
556 | continue; | ||
557 | |||
558 | s = &scroll[index]; | ||
559 | |||
560 | if (s->startx == x && s->starty == y) | ||
561 | { | ||
562 | /* Found the line */ | ||
563 | s->invert = !s->invert; | ||
564 | break; | ||
565 | } | ||
566 | } | ||
567 | } | ||
568 | |||
546 | void lcd_drawline( int x1, int y1, int x2, int y2 ) | 569 | void lcd_drawline( int x1, int y1, int x2, int y2 ) |
547 | { | 570 | { |
548 | int numpixels; | 571 | int numpixels; |
diff --git a/firmware/export/lcd.h b/firmware/export/lcd.h index 3f3ea972c3..f4fa3372cf 100644 --- a/firmware/export/lcd.h +++ b/firmware/export/lcd.h | |||
@@ -126,6 +126,7 @@ extern void lcd_clearrect (int x, int y, int nx, int ny); | |||
126 | extern void lcd_fillrect (int x, int y, int nx, int ny); | 126 | extern void lcd_fillrect (int x, int y, int nx, int ny); |
127 | extern void lcd_drawrect (int x, int y, int nx, int ny); | 127 | extern void lcd_drawrect (int x, int y, int nx, int ny); |
128 | extern void lcd_invertrect (int x, int y, int nx, int ny); | 128 | extern void lcd_invertrect (int x, int y, int nx, int ny); |
129 | extern void lcd_invertscroll(int x, int y); | ||
129 | extern void lcd_drawline( int x1, int y1, int x2, int y2 ); | 130 | extern void lcd_drawline( int x1, int y1, int x2, int y2 ); |
130 | extern void lcd_clearline( int x1, int y1, int x2, int y2 ); | 131 | extern void lcd_clearline( int x1, int y1, int x2, int y2 ); |
131 | extern void lcd_drawpixel(int x, int y); | 132 | extern void lcd_drawpixel(int x, int y); |