summaryrefslogtreecommitdiff
path: root/firmware/drivers/lcd-16bit-common.c
diff options
context:
space:
mode:
authorAidan MacDonald <amachronic@protonmail.com>2022-10-02 00:54:11 +0100
committerAidan MacDonald <amachronic@protonmail.com>2022-10-12 07:34:15 -0400
commit6acc8a81a73114b614102beaaaf732b92f4e6ddd (patch)
treea04c7065ea1893fec08ae60910532ab578348391 /firmware/drivers/lcd-16bit-common.c
parent726673c638f5ecc8928ee66bb2e10b651e60e325 (diff)
downloadrockbox-6acc8a81a73114b614102beaaaf732b92f4e6ddd.tar.gz
rockbox-6acc8a81a73114b614102beaaaf732b92f4e6ddd.zip
lcd: Cosmetic variable renaming
Assign lcd_current_viewport to a local variable for easier typing. Change-Id: Ib5d4283fd1c5a21c94d3bd3c2c28ce206383fb96
Diffstat (limited to 'firmware/drivers/lcd-16bit-common.c')
-rw-r--r--firmware/drivers/lcd-16bit-common.c64
1 files changed, 34 insertions, 30 deletions
diff --git a/firmware/drivers/lcd-16bit-common.c b/firmware/drivers/lcd-16bit-common.c
index ad41485dfe..a3a6dc6663 100644
--- a/firmware/drivers/lcd-16bit-common.c
+++ b/firmware/drivers/lcd-16bit-common.c
@@ -31,14 +31,15 @@
31/* Clear the current viewport */ 31/* Clear the current viewport */
32void lcd_clear_viewport(void) 32void lcd_clear_viewport(void)
33{ 33{
34 struct viewport *vp = lcd_current_viewport;
34 fb_data *dst, *dst_end; 35 fb_data *dst, *dst_end;
35 int x, y, width, height; 36 int x, y, width, height;
36 int len, step; 37 int len, step;
37 38
38 x = lcd_current_viewport->x; 39 x = vp->x;
39 y = lcd_current_viewport->y; 40 y = vp->y;
40 width = lcd_current_viewport->width; 41 width = vp->width;
41 height = lcd_current_viewport->height; 42 height = vp->height;
42 43
43 len = STRIDE_MAIN(width, height); 44 len = STRIDE_MAIN(width, height);
44 step = STRIDE_MAIN(ROW_INC, COL_INC); 45 step = STRIDE_MAIN(ROW_INC, COL_INC);
@@ -46,18 +47,18 @@ void lcd_clear_viewport(void)
46 dst = FBADDR(x, y); 47 dst = FBADDR(x, y);
47 dst_end = FBADDR(x + width - 1 , y + height - 1); 48 dst_end = FBADDR(x + width - 1 , y + height - 1);
48 49
49 if (lcd_current_viewport->drawmode & DRMODE_INVERSEVID) 50 if (vp->drawmode & DRMODE_INVERSEVID)
50 { 51 {
51 do 52 do
52 { 53 {
53 memset16(dst, lcd_current_viewport->fg_pattern, len); 54 memset16(dst, vp->fg_pattern, len);
54 dst += step; 55 dst += step;
55 } 56 }
56 while (dst <= dst_end); 57 while (dst <= dst_end);
57 } 58 }
58 else 59 else
59 { 60 {
60 if (lcd_backdrop && lcd_current_viewport->buffer == &lcd_framebuffer_default) 61 if (lcd_backdrop && vp->buffer == &lcd_framebuffer_default)
61 { 62 {
62 do 63 do
63 { 64 {
@@ -71,19 +72,19 @@ void lcd_clear_viewport(void)
71 { 72 {
72 do 73 do
73 { 74 {
74 memset16(dst, lcd_current_viewport->bg_pattern, len); 75 memset16(dst, vp->bg_pattern, len);
75 dst += step; 76 dst += step;
76 } 77 }
77 while (dst <= dst_end); 78 while (dst <= dst_end);
78 } 79 }
79 } 80 }
80 81
81 if (lcd_current_viewport == &default_vp) 82 if (vp == &default_vp)
82 lcd_scroll_stop(); 83 lcd_scroll_stop();
83 else 84 else
84 lcd_scroll_stop_viewport(lcd_current_viewport); 85 lcd_scroll_stop_viewport(vp);
85 86
86 lcd_current_viewport->flags &= ~(VP_FLAG_VP_SET_CLEAN); 87 vp->flags &= ~(VP_FLAG_VP_SET_CLEAN);
87} 88}
88 89
89/*** low-level drawing functions ***/ 90/*** low-level drawing functions ***/
@@ -128,6 +129,7 @@ lcd_fastpixelfunc_type* const * lcd_fastpixelfuncs = lcd_fastpixelfuncs_bgcolor;
128/* Fill a rectangular area */ 129/* Fill a rectangular area */
129void lcd_fillrect(int x, int y, int width, int height) 130void lcd_fillrect(int x, int y, int width, int height)
130{ 131{
132 struct viewport *vp = lcd_current_viewport;
131 unsigned bits = 0; 133 unsigned bits = 0;
132 enum fill_opt fillopt = OPT_NONE; 134 enum fill_opt fillopt = OPT_NONE;
133 fb_data *dst, *dst_end; 135 fb_data *dst, *dst_end;
@@ -137,14 +139,14 @@ void lcd_fillrect(int x, int y, int width, int height)
137 return; 139 return;
138 140
139 /* drawmode and optimisation */ 141 /* drawmode and optimisation */
140 if (lcd_current_viewport->drawmode & DRMODE_INVERSEVID) 142 if (vp->drawmode & DRMODE_INVERSEVID)
141 { 143 {
142 if (lcd_current_viewport->drawmode & DRMODE_BG) 144 if (vp->drawmode & DRMODE_BG)
143 { 145 {
144 if (!lcd_backdrop) 146 if (!lcd_backdrop)
145 { 147 {
146 fillopt = OPT_SET; 148 fillopt = OPT_SET;
147 bits = lcd_current_viewport->bg_pattern; 149 bits = vp->bg_pattern;
148 } 150 }
149 else 151 else
150 fillopt = OPT_COPY; 152 fillopt = OPT_COPY;
@@ -152,13 +154,13 @@ void lcd_fillrect(int x, int y, int width, int height)
152 } 154 }
153 else 155 else
154 { 156 {
155 if (lcd_current_viewport->drawmode & DRMODE_FG) 157 if (vp->drawmode & DRMODE_FG)
156 { 158 {
157 fillopt = OPT_SET; 159 fillopt = OPT_SET;
158 bits = lcd_current_viewport->fg_pattern; 160 bits = vp->fg_pattern;
159 } 161 }
160 } 162 }
161 if (fillopt == OPT_NONE && lcd_current_viewport->drawmode != DRMODE_COMPLEMENT) 163 if (fillopt == OPT_NONE && vp->drawmode != DRMODE_COMPLEMENT)
162 return; 164 return;
163 165
164 dst = FBADDR(x, y); 166 dst = FBADDR(x, y);
@@ -213,6 +215,7 @@ void ICODE_ATTR lcd_mono_bitmap_part(const unsigned char *src, int src_x,
213 int src_y, int stride, int x, int y, 215 int src_y, int stride, int x, int y,
214 int width, int height) 216 int width, int height)
215{ 217{
218 struct viewport *vp = lcd_current_viewport;
216 if (!lcd_clip_viewport_rect(&x, &y, &width, &height, &src_x, &src_y)) 219 if (!lcd_clip_viewport_rect(&x, &y, &width, &height, &src_x, &src_y))
217 return; 220 return;
218 221
@@ -221,7 +224,7 @@ void ICODE_ATTR lcd_mono_bitmap_part(const unsigned char *src, int src_x,
221 src_y &= 7; 224 src_y &= 7;
222 225
223 unsigned dmask = 0; 226 unsigned dmask = 0;
224 int drmode = lcd_current_viewport->drawmode; 227 int drmode = vp->drawmode;
225 228
226 if (drmode & DRMODE_INVERSEVID) 229 if (drmode & DRMODE_INVERSEVID)
227 { 230 {
@@ -267,7 +270,7 @@ void ICODE_ATTR lcd_mono_bitmap_part(const unsigned char *src, int src_x,
267 break; 270 break;
268 271
269 case DRMODE_BG: 272 case DRMODE_BG:
270 bg = lcd_current_viewport->bg_pattern; 273 bg = vp->bg_pattern;
271 do { 274 do {
272 data = (*src_col++ ^ dmask) >> src_y; 275 data = (*src_col++ ^ dmask) >> src_y;
273 if(!(data & 0x01)) 276 if(!(data & 0x01))
@@ -278,7 +281,7 @@ void ICODE_ATTR lcd_mono_bitmap_part(const unsigned char *src, int src_x,
278 break; 281 break;
279 282
280 case DRMODE_FG: 283 case DRMODE_FG:
281 fg = lcd_current_viewport->fg_pattern; 284 fg = vp->fg_pattern;
282 do { 285 do {
283 data = (*src_col++ ^ dmask) >> src_y; 286 data = (*src_col++ ^ dmask) >> src_y;
284 if(data & 0x01) 287 if(data & 0x01)
@@ -289,7 +292,7 @@ void ICODE_ATTR lcd_mono_bitmap_part(const unsigned char *src, int src_x,
289 break; 292 break;
290 293
291 case DRMODE_SOLID|DRMODE_INT_BD: 294 case DRMODE_SOLID|DRMODE_INT_BD:
292 fg = lcd_current_viewport->fg_pattern; 295 fg = vp->fg_pattern;
293 bo = lcd_backdrop_offset; 296 bo = lcd_backdrop_offset;
294 do { 297 do {
295 data = (*src_col++ ^ dmask) >> src_y; 298 data = (*src_col++ ^ dmask) >> src_y;
@@ -303,8 +306,8 @@ void ICODE_ATTR lcd_mono_bitmap_part(const unsigned char *src, int src_x,
303 break; 306 break;
304 307
305 case DRMODE_SOLID: 308 case DRMODE_SOLID:
306 fg = lcd_current_viewport->fg_pattern; 309 fg = vp->fg_pattern;
307 bg = lcd_current_viewport->bg_pattern; 310 bg = vp->bg_pattern;
308 do { 311 do {
309 data = (*src_col++ ^ dmask) >> src_y; 312 data = (*src_col++ ^ dmask) >> src_y;
310 if(data & 0x01) 313 if(data & 0x01)
@@ -416,9 +419,10 @@ static void ICODE_ATTR lcd_alpha_bitmap_part_mix(const fb_data* image,
416 int width, int height, 419 int width, int height,
417 int stride_image, int stride_src) 420 int stride_image, int stride_src)
418{ 421{
422 struct viewport *vp = lcd_current_viewport;
419 fb_data *dst, *dst_row; 423 fb_data *dst, *dst_row;
420 unsigned dmask = 0x00000000; 424 unsigned dmask = 0x00000000;
421 int drmode = lcd_current_viewport->drawmode; 425 int drmode = vp->drawmode;
422 426
423 if (!lcd_clip_viewport_rect(&x, &y, &width, &height, &src_x, &src_y)) 427 if (!lcd_clip_viewport_rect(&x, &y, &width, &height, &src_x, &src_y))
424 return; 428 return;
@@ -545,7 +549,7 @@ static void ICODE_ATTR lcd_alpha_bitmap_part_mix(const fb_data* image,
545 while (--col); 549 while (--col);
546 break; 550 break;
547 case DRMODE_BG: 551 case DRMODE_BG:
548 bg = lcd_current_viewport->bg_pattern; 552 bg = vp->bg_pattern;
549 do 553 do
550 { 554 {
551 *dst = blend_two_colors(bg, *dst, data & ALPHA_COLOR_LOOKUP_SIZE ); 555 *dst = blend_two_colors(bg, *dst, data & ALPHA_COLOR_LOOKUP_SIZE );
@@ -565,7 +569,7 @@ static void ICODE_ATTR lcd_alpha_bitmap_part_mix(const fb_data* image,
565 while (--col); 569 while (--col);
566 break; 570 break;
567 case DRMODE_FG: 571 case DRMODE_FG:
568 fg = lcd_current_viewport->fg_pattern; 572 fg = vp->fg_pattern;
569 do 573 do
570 { 574 {
571 *dst = blend_two_colors(*dst, fg, data & ALPHA_COLOR_LOOKUP_SIZE ); 575 *dst = blend_two_colors(*dst, fg, data & ALPHA_COLOR_LOOKUP_SIZE );
@@ -576,7 +580,7 @@ static void ICODE_ATTR lcd_alpha_bitmap_part_mix(const fb_data* image,
576 break; 580 break;
577 case DRMODE_SOLID|DRMODE_INT_BD: 581 case DRMODE_SOLID|DRMODE_INT_BD:
578 bo = lcd_backdrop_offset; 582 bo = lcd_backdrop_offset;
579 fg = lcd_current_viewport->fg_pattern; 583 fg = vp->fg_pattern;
580 do 584 do
581 { 585 {
582 fb_data *c = (fb_data *)((uintptr_t)dst + bo); 586 fb_data *c = (fb_data *)((uintptr_t)dst + bo);
@@ -587,7 +591,7 @@ static void ICODE_ATTR lcd_alpha_bitmap_part_mix(const fb_data* image,
587 while (--col); 591 while (--col);
588 break; 592 break;
589 case DRMODE_SOLID|DRMODE_INT_IMG: 593 case DRMODE_SOLID|DRMODE_INT_IMG:
590 bg = lcd_current_viewport->bg_pattern; 594 bg = vp->bg_pattern;
591 img_offset = image - dst; 595 img_offset = image - dst;
592 do 596 do
593 { 597 {
@@ -610,8 +614,8 @@ static void ICODE_ATTR lcd_alpha_bitmap_part_mix(const fb_data* image,
610 while (--col); 614 while (--col);
611 break; 615 break;
612 case DRMODE_SOLID: 616 case DRMODE_SOLID:
613 bg = lcd_current_viewport->bg_pattern; 617 bg = vp->bg_pattern;
614 fg = lcd_current_viewport->fg_pattern; 618 fg = vp->fg_pattern;
615 do 619 do
616 { 620 {
617 *dst = blend_two_colors(bg, fg, data & ALPHA_COLOR_LOOKUP_SIZE ); 621 *dst = blend_two_colors(bg, fg, data & ALPHA_COLOR_LOOKUP_SIZE );