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.c54
1 files changed, 27 insertions, 27 deletions
diff --git a/firmware/drivers/lcd-16bit.c b/firmware/drivers/lcd-16bit.c
index 20d30c572c..dab29efef7 100644
--- a/firmware/drivers/lcd-16bit.c
+++ b/firmware/drivers/lcd-16bit.c
@@ -204,32 +204,27 @@ int lcd_getstringsize(const unsigned char *str, int *w, int *h)
204 204
205#define LCDADDR(x, y) (&lcd_framebuffer[(y)][(x)]) 205#define LCDADDR(x, y) (&lcd_framebuffer[(y)][(x)])
206 206
207static void setpixel(fb_data *address) ICODE_ATTR; 207static void ICODE_ATTR setpixel(fb_data *address)
208static void setpixel(fb_data *address)
209{ 208{
210 *address = current_vp->fg_pattern; 209 *address = current_vp->fg_pattern;
211} 210}
212 211
213static void clearpixel(fb_data *address) ICODE_ATTR; 212static void ICODE_ATTR clearpixel(fb_data *address)
214static void clearpixel(fb_data *address)
215{ 213{
216 *address = current_vp->bg_pattern; 214 *address = current_vp->bg_pattern;
217} 215}
218 216
219static void clearimgpixel(fb_data *address) ICODE_ATTR; 217static void ICODE_ATTR clearimgpixel(fb_data *address)
220static void clearimgpixel(fb_data *address)
221{ 218{
222 *address = *(fb_data *)((long)address + lcd_backdrop_offset); 219 *address = *(fb_data *)((long)address + lcd_backdrop_offset);
223} 220}
224 221
225static void flippixel(fb_data *address) ICODE_ATTR; 222static void ICODE_ATTR flippixel(fb_data *address)
226static void flippixel(fb_data *address)
227{ 223{
228 *address = ~(*address); 224 *address = ~(*address);
229} 225}
230 226
231static void nopixel(fb_data *address) ICODE_ATTR; 227static void ICODE_ATTR nopixel(fb_data *address)
232static void nopixel(fb_data *address)
233{ 228{
234 (void)address; 229 (void)address;
235} 230}
@@ -349,8 +344,20 @@ void lcd_drawline(int x1, int y1, int x2, int y2)
349 int y, yinc1, yinc2; 344 int y, yinc1, yinc2;
350 lcd_fastpixelfunc_type *pfunc = lcd_fastpixelfuncs[current_vp->drawmode]; 345 lcd_fastpixelfunc_type *pfunc = lcd_fastpixelfuncs[current_vp->drawmode];
351 346
352 deltax = abs(x2 - x1);
353 deltay = abs(y2 - y1); 347 deltay = abs(y2 - y1);
348 if (deltay == 0)
349 {
350 DEBUGF("lcd_drawline() called for horizontal line - optimisation.\n");
351 lcd_hline(x1, x2, y1);
352 return;
353 }
354 deltax = abs(x2 - x1);
355 if (deltax == 0)
356 {
357 DEBUGF("lcd_drawline() called for vertical line - optimisation.\n");
358 lcd_vline(x1, y1, y2);
359 return;
360 }
354 xinc2 = 1; 361 xinc2 = 1;
355 yinc2 = 1; 362 yinc2 = 1;
356 363
@@ -699,11 +706,9 @@ static void lcd_gradient_rect_scroll(int x1, int x2, int y, int h,
699 706
700/* Draw a partial monochrome bitmap */ 707/* Draw a partial monochrome bitmap */
701 708
702void lcd_mono_bitmap_part(const unsigned char *src, int src_x, int src_y, 709void ICODE_ATTR lcd_mono_bitmap_part(const unsigned char *src, int src_x,
703 int stride, int x, int y, int width, int height) 710 int src_y, int stride, int x, int y,
704 ICODE_ATTR; 711 int width, int height)
705void lcd_mono_bitmap_part(const unsigned char *src, int src_x, int src_y,
706 int stride, int x, int y, int width, int height)
707{ 712{
708 const unsigned char *src_end; 713 const unsigned char *src_end;
709 bool has_backdrop; 714 bool has_backdrop;
@@ -798,11 +803,9 @@ void lcd_mono_bitmap(const unsigned char *src, int x, int y, int width, int heig
798} 803}
799 804
800/* Draw a partial native bitmap */ 805/* Draw a partial native bitmap */
801void lcd_bitmap_part(const fb_data *src, int src_x, int src_y, 806void ICODE_ATTR lcd_bitmap_part(const fb_data *src, int src_x, int src_y,
802 int stride, int x, int y, int width, int height) 807 int stride, int x, int y, int width,
803 ICODE_ATTR; 808 int height)
804void lcd_bitmap_part(const fb_data *src, int src_x, int src_y,
805 int stride, int x, int y, int width, int height)
806{ 809{
807 fb_data *dst, *dst_end; 810 fb_data *dst, *dst_end;
808 811
@@ -851,12 +854,9 @@ void lcd_bitmap(const fb_data *src, int x, int y, int width, int height)
851#if !defined(TOSHIBA_GIGABEAT_F) && !defined(TOSHIBA_GIGABEAT_S) \ 854#if !defined(TOSHIBA_GIGABEAT_F) && !defined(TOSHIBA_GIGABEAT_S) \
852 || defined(SIMULATOR) 855 || defined(SIMULATOR)
853/* Draw a partial native bitmap */ 856/* Draw a partial native bitmap */
854void lcd_bitmap_transparent_part(const fb_data *src, int src_x, int src_y, 857void ICODE_ATTR lcd_bitmap_transparent_part(const fb_data *src, int src_x,
855 int stride, int x, int y, int width, 858 int src_y, int stride, int x,
856 int height) ICODE_ATTR; 859 int y, int width, int height)
857void lcd_bitmap_transparent_part(const fb_data *src, int src_x, int src_y,
858 int stride, int x, int y, int width,
859 int height)
860{ 860{
861 fb_data *dst, *dst_end; 861 fb_data *dst, *dst_end;
862 862