summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAidan MacDonald <amachronic@protonmail.com>2022-10-01 23:56:57 +0100
committerAidan MacDonald <amachronic@protonmail.com>2022-10-09 22:07:49 +0100
commitf8e968991d0d94e3b1c5c5611c3d69a9c032d7da (patch)
tree2bb2d70d7d0cf3d2c16f65fe54e4d888a34e6875
parenteaccdeeae2ff57efe1859ba80b7558b328e16a10 (diff)
downloadrockbox-f8e968991d0d94e3b1c5c5611c3d69a9c032d7da.tar.gz
rockbox-f8e968991d0d94e3b1c5c5611c3d69a9c032d7da.zip
lcd: Move parameter handling calls to lcd-bitmap-common.c
No need to reimplement the same drawmode, getwidth, etc, calls for each pixel format. Change-Id: Ibbe32814f72e1492c190ba578cec303c1cf29b12
-rw-r--r--firmware/drivers/lcd-1bit-vert.c37
-rw-r--r--firmware/drivers/lcd-2bit-horz.c42
-rw-r--r--firmware/drivers/lcd-2bit-vert.c42
-rw-r--r--firmware/drivers/lcd-2bit-vi.c42
-rw-r--r--firmware/drivers/lcd-bitmap-common.c46
-rw-r--r--firmware/drivers/lcd-color-common.c41
6 files changed, 46 insertions, 204 deletions
diff --git a/firmware/drivers/lcd-1bit-vert.c b/firmware/drivers/lcd-1bit-vert.c
index ed66ee7e0c..9c69b82e51 100644
--- a/firmware/drivers/lcd-1bit-vert.c
+++ b/firmware/drivers/lcd-1bit-vert.c
@@ -108,43 +108,6 @@ void LCDFN(init)(void)
108 108
109} 109}
110 110
111/*** parameter handling ***/
112
113void LCDFN(set_drawmode)(int mode)
114{
115 CURRENT_VP->drawmode = mode & (DRMODE_SOLID|DRMODE_INVERSEVID);
116}
117
118int LCDFN(get_drawmode)(void)
119{
120 return CURRENT_VP->drawmode;
121}
122
123int LCDFN(getwidth)(void)
124{
125 return CURRENT_VP->width;
126}
127
128int LCDFN(getheight)(void)
129{
130 return CURRENT_VP->height;
131}
132
133void LCDFN(setfont)(int newfont)
134{
135 CURRENT_VP->font = newfont;
136}
137
138int LCDFN(getfont)(void)
139{
140 return CURRENT_VP->font;
141}
142
143int LCDFN(getstringsize)(const unsigned char *str, int *w, int *h)
144{
145 return font_getstringsize(str, w, h, CURRENT_VP->font);
146}
147
148/*** low-level drawing functions ***/ 111/*** low-level drawing functions ***/
149 112
150static void setpixel(int x, int y) 113static void setpixel(int x, int y)
diff --git a/firmware/drivers/lcd-2bit-horz.c b/firmware/drivers/lcd-2bit-horz.c
index 1b192377f6..cf7e20d4a8 100644
--- a/firmware/drivers/lcd-2bit-horz.c
+++ b/firmware/drivers/lcd-2bit-horz.c
@@ -105,16 +105,6 @@ void lcd_init(void)
105 105
106/*** parameter handling ***/ 106/*** parameter handling ***/
107 107
108void lcd_set_drawmode(int mode)
109{
110 lcd_current_viewport->drawmode = mode & (DRMODE_SOLID|DRMODE_INVERSEVID);
111}
112
113int lcd_get_drawmode(void)
114{
115 return lcd_current_viewport->drawmode;
116}
117
118void lcd_set_foreground(unsigned brightness) 108void lcd_set_foreground(unsigned brightness)
119{ 109{
120 lcd_current_viewport->fg_pattern = brightness; 110 lcd_current_viewport->fg_pattern = brightness;
@@ -137,38 +127,6 @@ unsigned lcd_get_background(void)
137 return lcd_current_viewport->bg_pattern; 127 return lcd_current_viewport->bg_pattern;
138} 128}
139 129
140void lcd_set_drawinfo(int mode, unsigned fg_brightness, unsigned bg_brightness)
141{
142 lcd_set_drawmode(mode);
143 lcd_set_foreground(fg_brightness);
144 lcd_set_background(bg_brightness);
145}
146
147int lcd_getwidth(void)
148{
149 return lcd_current_viewport->width;
150}
151
152int lcd_getheight(void)
153{
154 return lcd_current_viewport->height;
155}
156
157void lcd_setfont(int newfont)
158{
159 lcd_current_viewport->font = newfont;
160}
161
162int lcd_getfont(void)
163{
164 return lcd_current_viewport->font;
165}
166
167int lcd_getstringsize(const unsigned char *str, int *w, int *h)
168{
169 return font_getstringsize(str, w, h, lcd_current_viewport->font);
170}
171
172/*** low-level drawing functions ***/ 130/*** low-level drawing functions ***/
173 131
174static void setpixel(int x, int y) 132static void setpixel(int x, int y)
diff --git a/firmware/drivers/lcd-2bit-vert.c b/firmware/drivers/lcd-2bit-vert.c
index 9e1eb0ed37..c4bdba67cb 100644
--- a/firmware/drivers/lcd-2bit-vert.c
+++ b/firmware/drivers/lcd-2bit-vert.c
@@ -107,16 +107,6 @@ void lcd_init(void)
107 107
108/*** parameter handling ***/ 108/*** parameter handling ***/
109 109
110void lcd_set_drawmode(int mode)
111{
112 lcd_current_viewport->drawmode = mode & (DRMODE_SOLID|DRMODE_INVERSEVID);
113}
114
115int lcd_get_drawmode(void)
116{
117 return lcd_current_viewport->drawmode;
118}
119
120void lcd_set_foreground(unsigned brightness) 110void lcd_set_foreground(unsigned brightness)
121{ 111{
122 lcd_current_viewport->fg_pattern = brightness; 112 lcd_current_viewport->fg_pattern = brightness;
@@ -139,38 +129,6 @@ unsigned lcd_get_background(void)
139 return lcd_current_viewport->bg_pattern; 129 return lcd_current_viewport->bg_pattern;
140} 130}
141 131
142void lcd_set_drawinfo(int mode, unsigned fg_brightness, unsigned bg_brightness)
143{
144 lcd_set_drawmode(mode);
145 lcd_set_foreground(fg_brightness);
146 lcd_set_background(bg_brightness);
147}
148
149int lcd_getwidth(void)
150{
151 return lcd_current_viewport->width;
152}
153
154int lcd_getheight(void)
155{
156 return lcd_current_viewport->height;
157}
158
159void lcd_setfont(int newfont)
160{
161 lcd_current_viewport->font = newfont;
162}
163
164int lcd_getfont(void)
165{
166 return lcd_current_viewport->font;
167}
168
169int lcd_getstringsize(const unsigned char *str, int *w, int *h)
170{
171 return font_getstringsize(str, w, h, lcd_current_viewport->font);
172}
173
174/*** low-level drawing functions ***/ 132/*** low-level drawing functions ***/
175 133
176static void setpixel(int x, int y) 134static void setpixel(int x, int y)
diff --git a/firmware/drivers/lcd-2bit-vi.c b/firmware/drivers/lcd-2bit-vi.c
index 976af8f62d..99bd32c77b 100644
--- a/firmware/drivers/lcd-2bit-vi.c
+++ b/firmware/drivers/lcd-2bit-vi.c
@@ -136,16 +136,6 @@ unsigned lcd_remote_color_to_native(unsigned color)
136} 136}
137#endif 137#endif
138 138
139void LCDFN(set_drawmode)(int mode)
140{
141 CURRENT_VP->drawmode = mode & (DRMODE_SOLID|DRMODE_INVERSEVID);
142}
143
144int LCDFN(get_drawmode)(void)
145{
146 return CURRENT_VP->drawmode;
147}
148
149void LCDFN(set_foreground)(unsigned brightness) 139void LCDFN(set_foreground)(unsigned brightness)
150{ 140{
151 CURRENT_VP->fg_pattern = brightness; 141 CURRENT_VP->fg_pattern = brightness;
@@ -168,38 +158,6 @@ unsigned LCDFN(get_background)(void)
168 return CURRENT_VP->bg_pattern; 158 return CURRENT_VP->bg_pattern;
169} 159}
170 160
171void LCDFN(set_drawinfo)(int mode, unsigned fg_brightness,
172 unsigned bg_brightness)
173{
174 LCDFN(set_drawmode)(mode);
175 LCDFN(set_foreground)(fg_brightness);
176 LCDFN(set_background)(bg_brightness);
177}
178
179int LCDFN(getwidth)(void)
180{
181 return CURRENT_VP->width;
182}
183
184int LCDFN(getheight)(void)
185{
186 return CURRENT_VP->height;
187}
188void LCDFN(setfont)(int newfont)
189{
190 CURRENT_VP->font = newfont;
191}
192
193int LCDFN(getfont)(void)
194{
195 return CURRENT_VP->font;
196}
197
198int LCDFN(getstringsize)(const unsigned char *str, int *w, int *h)
199{
200 return font_getstringsize(str, w, h, CURRENT_VP->font);
201}
202
203/*** low-level drawing functions ***/ 161/*** low-level drawing functions ***/
204 162
205static void setpixel(int x, int y) 163static void setpixel(int x, int y)
diff --git a/firmware/drivers/lcd-bitmap-common.c b/firmware/drivers/lcd-bitmap-common.c
index cc42248b2d..6a3fd5f825 100644
--- a/firmware/drivers/lcd-bitmap-common.c
+++ b/firmware/drivers/lcd-bitmap-common.c
@@ -164,6 +164,52 @@ static bool LCDFN(clip_viewport_rect)(int *x, int *y, int *width, int *height,
164 return *width > 0 && *height > 0; 164 return *width > 0 && *height > 0;
165} 165}
166 166
167/*** parameter handling ***/
168
169void LCDFN(set_drawmode)(int mode)
170{
171 LCDFN(current_viewport)->drawmode = mode & (DRMODE_SOLID|DRMODE_INVERSEVID);
172}
173
174int LCDFN(get_drawmode)(void)
175{
176 return LCDFN(current_viewport)->drawmode;
177}
178
179int LCDFN(getwidth)(void)
180{
181 return LCDFN(current_viewport)->width;
182}
183
184int LCDFN(getheight)(void)
185{
186 return LCDFN(current_viewport)->height;
187}
188
189void LCDFN(setfont)(int newfont)
190{
191 LCDFN(current_viewport)->font = newfont;
192}
193
194int LCDFN(getfont)(void)
195{
196 return LCDFN(current_viewport)->font;
197}
198
199int LCDFN(getstringsize)(const unsigned char *str, int *w, int *h)
200{
201 return font_getstringsize(str, w, h, LCDFN(current_viewport)->font);
202}
203
204#if LCDM(DEPTH) > 1
205void LCDFN(set_drawinfo)(int mode, unsigned foreground, unsigned background)
206{
207 LCDFN(set_drawmode)(mode);
208 LCDFN(set_foreground)(foreground);
209 LCDFN(set_background)(background);
210}
211#endif
212
167/* 213/*
168 * draws the borders of the current viewport 214 * draws the borders of the current viewport
169 **/ 215 **/
diff --git a/firmware/drivers/lcd-color-common.c b/firmware/drivers/lcd-color-common.c
index a1d2f47c22..cce0bbbf4e 100644
--- a/firmware/drivers/lcd-color-common.c
+++ b/firmware/drivers/lcd-color-common.c
@@ -111,16 +111,6 @@ void lcd_clear_display(void)
111 111
112/*** parameter handling ***/ 112/*** parameter handling ***/
113 113
114void lcd_set_drawmode(int mode)
115{
116 lcd_current_viewport->drawmode = mode & (DRMODE_SOLID|DRMODE_INVERSEVID);
117}
118
119int lcd_get_drawmode(void)
120{
121 return lcd_current_viewport->drawmode;
122}
123
124void lcd_set_foreground(unsigned color) 114void lcd_set_foreground(unsigned color)
125{ 115{
126 lcd_current_viewport->fg_pattern = color; 116 lcd_current_viewport->fg_pattern = color;
@@ -141,37 +131,6 @@ unsigned lcd_get_background(void)
141 return lcd_current_viewport->bg_pattern; 131 return lcd_current_viewport->bg_pattern;
142} 132}
143 133
144void lcd_set_drawinfo(int mode, unsigned fg_color, unsigned bg_color)
145{
146 lcd_set_drawmode(mode);
147 lcd_current_viewport->fg_pattern = fg_color;
148 lcd_current_viewport->bg_pattern = bg_color;
149}
150
151int lcd_getwidth(void)
152{
153 return lcd_current_viewport->width;
154}
155
156int lcd_getheight(void)
157{
158 return lcd_current_viewport->height;
159}
160
161void lcd_setfont(int newfont)
162{
163 lcd_current_viewport->font = newfont;
164}
165
166int lcd_getfont(void)
167{
168 return lcd_current_viewport->font;
169}
170
171int lcd_getstringsize(const unsigned char *str, int *w, int *h)
172{
173 return font_getstringsize(str, w, h, lcd_current_viewport->font);
174}
175 134
176void lcd_set_backdrop(fb_data* backdrop) 135void lcd_set_backdrop(fb_data* backdrop)
177{ 136{