summaryrefslogtreecommitdiff
path: root/firmware/target/sh/archos/lcd-archos-bitmap.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/sh/archos/lcd-archos-bitmap.c')
-rw-r--r--firmware/target/sh/archos/lcd-archos-bitmap.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/firmware/target/sh/archos/lcd-archos-bitmap.c b/firmware/target/sh/archos/lcd-archos-bitmap.c
index 17c4d76092..18d48f4ead 100644
--- a/firmware/target/sh/archos/lcd-archos-bitmap.c
+++ b/firmware/target/sh/archos/lcd-archos-bitmap.c
@@ -155,10 +155,13 @@ void lcd_blit(const unsigned char* data, int x, int by, int width,
155 } 155 }
156} 156}
157 157
158/* Helper function for lcd_grey_phase_blit(). */
159void lcd_grey_data(unsigned char *values, unsigned char *phases, int count);
160
158/* Performance function that works with an external buffer 161/* Performance function that works with an external buffer
159 note that by and bheight are in 8-pixel units! */ 162 note that by and bheight are in 8-pixel units! */
160void lcd_grey_phase_blit(const struct grey_data *data, int x, int by, 163void lcd_grey_phase_blit(unsigned char *values, unsigned char *phases,
161 int width, int bheight, int stride) 164 int x, int by, int width, int bheight, int stride)
162{ 165{
163 stride <<= 3; /* 8 pixels per block */ 166 stride <<= 3; /* 8 pixels per block */
164 while (bheight--) 167 while (bheight--)
@@ -167,8 +170,9 @@ void lcd_grey_phase_blit(const struct grey_data *data, int x, int by,
167 lcd_write_command (LCD_CNTL_HIGHCOL | (((x+xoffset)>>4) & 0xf)); 170 lcd_write_command (LCD_CNTL_HIGHCOL | (((x+xoffset)>>4) & 0xf));
168 lcd_write_command (LCD_CNTL_LOWCOL | ((x+xoffset) & 0xf)); 171 lcd_write_command (LCD_CNTL_LOWCOL | ((x+xoffset) & 0xf));
169 172
170 lcd_grey_data(data, width); 173 lcd_grey_data(values, phases, width);
171 data += stride; 174 values += stride;
175 phases += stride;
172 } 176 }
173} 177}
174 178