summaryrefslogtreecommitdiff
path: root/firmware/drivers/lcd-16bit.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers/lcd-16bit.c')
-rw-r--r--firmware/drivers/lcd-16bit.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/firmware/drivers/lcd-16bit.c b/firmware/drivers/lcd-16bit.c
index f7d3cf22d4..71768b6744 100644
--- a/firmware/drivers/lcd-16bit.c
+++ b/firmware/drivers/lcd-16bit.c
@@ -41,10 +41,7 @@
41#define ROW_INC LCD_WIDTH 41#define ROW_INC LCD_WIDTH
42#define COL_INC 1 42#define COL_INC 1
43 43
44#define LCDADDR(x, y) (&lcd_framebuffer[(y)][(x)])
45
46#include "lcd-16bit-common.c" 44#include "lcd-16bit-common.c"
47
48#include "lcd-bitmap-common.c" 45#include "lcd-bitmap-common.c"
49 46
50/*** drawing functions ***/ 47/*** drawing functions ***/
@@ -54,7 +51,7 @@ void lcd_clear_viewport(void)
54{ 51{
55 fb_data *dst, *dst_end; 52 fb_data *dst, *dst_end;
56 53
57 dst = LCDADDR(current_vp->x, current_vp->y); 54 dst = FBADDR(current_vp->x, current_vp->y);
58 dst_end = dst + current_vp->height * LCD_WIDTH; 55 dst_end = dst + current_vp->height * LCD_WIDTH;
59 56
60 if (current_vp->drawmode & DRMODE_INVERSEVID) 57 if (current_vp->drawmode & DRMODE_INVERSEVID)
@@ -173,7 +170,7 @@ void lcd_hline(int x1, int x2, int y)
173 if (fillopt == OPT_NONE && current_vp->drawmode != DRMODE_COMPLEMENT) 170 if (fillopt == OPT_NONE && current_vp->drawmode != DRMODE_COMPLEMENT)
174 return; 171 return;
175 172
176 dst = LCDADDR(x1, y); 173 dst = FBADDR(x1, y);
177 174
178 switch (fillopt) 175 switch (fillopt)
179 { 176 {
@@ -241,7 +238,7 @@ void lcd_vline(int x, int y1, int y2)
241 y2 = LCD_HEIGHT-1; 238 y2 = LCD_HEIGHT-1;
242#endif 239#endif
243 240
244 dst = LCDADDR(x , y1); 241 dst = FBADDR(x , y1);
245 dst_end = dst + (y2 - y1) * LCD_WIDTH; 242 dst_end = dst + (y2 - y1) * LCD_WIDTH;
246 243
247 do 244 do
@@ -333,7 +330,7 @@ void lcd_fillrect(int x, int y, int width, int height)
333 if (fillopt == OPT_NONE && current_vp->drawmode != DRMODE_COMPLEMENT) 330 if (fillopt == OPT_NONE && current_vp->drawmode != DRMODE_COMPLEMENT)
334 return; 331 return;
335 332
336 dst = LCDADDR(x, y); 333 dst = FBADDR(x, y);
337 dst_end = dst + height * LCD_WIDTH; 334 dst_end = dst + height * LCD_WIDTH;
338 335
339 do 336 do
@@ -426,7 +423,7 @@ void ICODE_ATTR lcd_bitmap_part(const fb_data *src, int src_x, int src_y,
426#endif 423#endif
427 424
428 src += stride * src_y + src_x; /* move starting point */ 425 src += stride * src_y + src_x; /* move starting point */
429 dst = LCDADDR(x, y); 426 dst = FBADDR(x, y);
430 427
431 do 428 do
432 { 429 {
@@ -500,7 +497,7 @@ void ICODE_ATTR lcd_bitmap_transparent_part(const fb_data *src, int src_x,
500#endif 497#endif
501 498
502 src += stride * src_y + src_x; /* move starting point */ 499 src += stride * src_y + src_x; /* move starting point */
503 dst = LCDADDR(x, y); 500 dst = FBADDR(x, y);
504 501
505#ifdef CPU_ARM 502#ifdef CPU_ARM
506 { 503 {