diff options
author | Aidan MacDonald <amachronic@protonmail.com> | 2022-10-01 23:56:57 +0100 |
---|---|---|
committer | Aidan MacDonald <amachronic@protonmail.com> | 2022-10-09 22:07:49 +0100 |
commit | f8e968991d0d94e3b1c5c5611c3d69a9c032d7da (patch) | |
tree | 2bb2d70d7d0cf3d2c16f65fe54e4d888a34e6875 | |
parent | eaccdeeae2ff57efe1859ba80b7558b328e16a10 (diff) | |
download | rockbox-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.c | 37 | ||||
-rw-r--r-- | firmware/drivers/lcd-2bit-horz.c | 42 | ||||
-rw-r--r-- | firmware/drivers/lcd-2bit-vert.c | 42 | ||||
-rw-r--r-- | firmware/drivers/lcd-2bit-vi.c | 42 | ||||
-rw-r--r-- | firmware/drivers/lcd-bitmap-common.c | 46 | ||||
-rw-r--r-- | firmware/drivers/lcd-color-common.c | 41 |
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 | |||
113 | void LCDFN(set_drawmode)(int mode) | ||
114 | { | ||
115 | CURRENT_VP->drawmode = mode & (DRMODE_SOLID|DRMODE_INVERSEVID); | ||
116 | } | ||
117 | |||
118 | int LCDFN(get_drawmode)(void) | ||
119 | { | ||
120 | return CURRENT_VP->drawmode; | ||
121 | } | ||
122 | |||
123 | int LCDFN(getwidth)(void) | ||
124 | { | ||
125 | return CURRENT_VP->width; | ||
126 | } | ||
127 | |||
128 | int LCDFN(getheight)(void) | ||
129 | { | ||
130 | return CURRENT_VP->height; | ||
131 | } | ||
132 | |||
133 | void LCDFN(setfont)(int newfont) | ||
134 | { | ||
135 | CURRENT_VP->font = newfont; | ||
136 | } | ||
137 | |||
138 | int LCDFN(getfont)(void) | ||
139 | { | ||
140 | return CURRENT_VP->font; | ||
141 | } | ||
142 | |||
143 | int 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 | ||
150 | static void setpixel(int x, int y) | 113 | static 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 | ||
108 | void lcd_set_drawmode(int mode) | ||
109 | { | ||
110 | lcd_current_viewport->drawmode = mode & (DRMODE_SOLID|DRMODE_INVERSEVID); | ||
111 | } | ||
112 | |||
113 | int lcd_get_drawmode(void) | ||
114 | { | ||
115 | return lcd_current_viewport->drawmode; | ||
116 | } | ||
117 | |||
118 | void lcd_set_foreground(unsigned brightness) | 108 | void 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 | ||
140 | void 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 | |||
147 | int lcd_getwidth(void) | ||
148 | { | ||
149 | return lcd_current_viewport->width; | ||
150 | } | ||
151 | |||
152 | int lcd_getheight(void) | ||
153 | { | ||
154 | return lcd_current_viewport->height; | ||
155 | } | ||
156 | |||
157 | void lcd_setfont(int newfont) | ||
158 | { | ||
159 | lcd_current_viewport->font = newfont; | ||
160 | } | ||
161 | |||
162 | int lcd_getfont(void) | ||
163 | { | ||
164 | return lcd_current_viewport->font; | ||
165 | } | ||
166 | |||
167 | int 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 | ||
174 | static void setpixel(int x, int y) | 132 | static 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 | ||
110 | void lcd_set_drawmode(int mode) | ||
111 | { | ||
112 | lcd_current_viewport->drawmode = mode & (DRMODE_SOLID|DRMODE_INVERSEVID); | ||
113 | } | ||
114 | |||
115 | int lcd_get_drawmode(void) | ||
116 | { | ||
117 | return lcd_current_viewport->drawmode; | ||
118 | } | ||
119 | |||
120 | void lcd_set_foreground(unsigned brightness) | 110 | void 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 | ||
142 | void 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 | |||
149 | int lcd_getwidth(void) | ||
150 | { | ||
151 | return lcd_current_viewport->width; | ||
152 | } | ||
153 | |||
154 | int lcd_getheight(void) | ||
155 | { | ||
156 | return lcd_current_viewport->height; | ||
157 | } | ||
158 | |||
159 | void lcd_setfont(int newfont) | ||
160 | { | ||
161 | lcd_current_viewport->font = newfont; | ||
162 | } | ||
163 | |||
164 | int lcd_getfont(void) | ||
165 | { | ||
166 | return lcd_current_viewport->font; | ||
167 | } | ||
168 | |||
169 | int 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 | ||
176 | static void setpixel(int x, int y) | 134 | static 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 | ||
139 | void LCDFN(set_drawmode)(int mode) | ||
140 | { | ||
141 | CURRENT_VP->drawmode = mode & (DRMODE_SOLID|DRMODE_INVERSEVID); | ||
142 | } | ||
143 | |||
144 | int LCDFN(get_drawmode)(void) | ||
145 | { | ||
146 | return CURRENT_VP->drawmode; | ||
147 | } | ||
148 | |||
149 | void LCDFN(set_foreground)(unsigned brightness) | 139 | void 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 | ||
171 | void 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 | |||
179 | int LCDFN(getwidth)(void) | ||
180 | { | ||
181 | return CURRENT_VP->width; | ||
182 | } | ||
183 | |||
184 | int LCDFN(getheight)(void) | ||
185 | { | ||
186 | return CURRENT_VP->height; | ||
187 | } | ||
188 | void LCDFN(setfont)(int newfont) | ||
189 | { | ||
190 | CURRENT_VP->font = newfont; | ||
191 | } | ||
192 | |||
193 | int LCDFN(getfont)(void) | ||
194 | { | ||
195 | return CURRENT_VP->font; | ||
196 | } | ||
197 | |||
198 | int 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 | ||
205 | static void setpixel(int x, int y) | 163 | static 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 | |||
169 | void LCDFN(set_drawmode)(int mode) | ||
170 | { | ||
171 | LCDFN(current_viewport)->drawmode = mode & (DRMODE_SOLID|DRMODE_INVERSEVID); | ||
172 | } | ||
173 | |||
174 | int LCDFN(get_drawmode)(void) | ||
175 | { | ||
176 | return LCDFN(current_viewport)->drawmode; | ||
177 | } | ||
178 | |||
179 | int LCDFN(getwidth)(void) | ||
180 | { | ||
181 | return LCDFN(current_viewport)->width; | ||
182 | } | ||
183 | |||
184 | int LCDFN(getheight)(void) | ||
185 | { | ||
186 | return LCDFN(current_viewport)->height; | ||
187 | } | ||
188 | |||
189 | void LCDFN(setfont)(int newfont) | ||
190 | { | ||
191 | LCDFN(current_viewport)->font = newfont; | ||
192 | } | ||
193 | |||
194 | int LCDFN(getfont)(void) | ||
195 | { | ||
196 | return LCDFN(current_viewport)->font; | ||
197 | } | ||
198 | |||
199 | int 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 | ||
205 | void 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 | ||
114 | void lcd_set_drawmode(int mode) | ||
115 | { | ||
116 | lcd_current_viewport->drawmode = mode & (DRMODE_SOLID|DRMODE_INVERSEVID); | ||
117 | } | ||
118 | |||
119 | int lcd_get_drawmode(void) | ||
120 | { | ||
121 | return lcd_current_viewport->drawmode; | ||
122 | } | ||
123 | |||
124 | void lcd_set_foreground(unsigned color) | 114 | void 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 | ||
144 | void 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 | |||
151 | int lcd_getwidth(void) | ||
152 | { | ||
153 | return lcd_current_viewport->width; | ||
154 | } | ||
155 | |||
156 | int lcd_getheight(void) | ||
157 | { | ||
158 | return lcd_current_viewport->height; | ||
159 | } | ||
160 | |||
161 | void lcd_setfont(int newfont) | ||
162 | { | ||
163 | lcd_current_viewport->font = newfont; | ||
164 | } | ||
165 | |||
166 | int lcd_getfont(void) | ||
167 | { | ||
168 | return lcd_current_viewport->font; | ||
169 | } | ||
170 | |||
171 | int 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 | ||
176 | void lcd_set_backdrop(fb_data* backdrop) | 135 | void lcd_set_backdrop(fb_data* backdrop) |
177 | { | 136 | { |