diff options
Diffstat (limited to 'firmware/drivers/lcd-16bit.c')
-rw-r--r-- | firmware/drivers/lcd-16bit.c | 54 |
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 | ||
207 | static void setpixel(fb_data *address) ICODE_ATTR; | 207 | static void ICODE_ATTR setpixel(fb_data *address) |
208 | static void setpixel(fb_data *address) | ||
209 | { | 208 | { |
210 | *address = current_vp->fg_pattern; | 209 | *address = current_vp->fg_pattern; |
211 | } | 210 | } |
212 | 211 | ||
213 | static void clearpixel(fb_data *address) ICODE_ATTR; | 212 | static void ICODE_ATTR clearpixel(fb_data *address) |
214 | static void clearpixel(fb_data *address) | ||
215 | { | 213 | { |
216 | *address = current_vp->bg_pattern; | 214 | *address = current_vp->bg_pattern; |
217 | } | 215 | } |
218 | 216 | ||
219 | static void clearimgpixel(fb_data *address) ICODE_ATTR; | 217 | static void ICODE_ATTR clearimgpixel(fb_data *address) |
220 | static 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 | ||
225 | static void flippixel(fb_data *address) ICODE_ATTR; | 222 | static void ICODE_ATTR flippixel(fb_data *address) |
226 | static void flippixel(fb_data *address) | ||
227 | { | 223 | { |
228 | *address = ~(*address); | 224 | *address = ~(*address); |
229 | } | 225 | } |
230 | 226 | ||
231 | static void nopixel(fb_data *address) ICODE_ATTR; | 227 | static void ICODE_ATTR nopixel(fb_data *address) |
232 | static 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 | ||
702 | void lcd_mono_bitmap_part(const unsigned char *src, int src_x, int src_y, | 709 | void 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) |
705 | void 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 */ |
801 | void lcd_bitmap_part(const fb_data *src, int src_x, int src_y, | 806 | void 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) |
804 | void 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 */ |
854 | void lcd_bitmap_transparent_part(const fb_data *src, int src_x, int src_y, | 857 | void 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) |
857 | void 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 | ||