diff options
Diffstat (limited to 'firmware/target/arm/s3c2440')
-rw-r--r-- | firmware/target/arm/s3c2440/gigabeat-fx/lcd-meg-fx.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/firmware/target/arm/s3c2440/gigabeat-fx/lcd-meg-fx.c b/firmware/target/arm/s3c2440/gigabeat-fx/lcd-meg-fx.c index 1d5b431625..fc8822ba50 100644 --- a/firmware/target/arm/s3c2440/gigabeat-fx/lcd-meg-fx.c +++ b/firmware/target/arm/s3c2440/gigabeat-fx/lcd-meg-fx.c | |||
@@ -287,22 +287,22 @@ void lcd_bitmap_transparent_part(const fb_data *src, int src_x, int src_y, | |||
287 | int w, px; | 287 | int w, px; |
288 | fb_data *dst; | 288 | fb_data *dst; |
289 | 289 | ||
290 | if (x + width > LCD_WIDTH) | 290 | if (x + width > current_vp->width) |
291 | width = LCD_WIDTH - x; /* Clip right */ | 291 | width = current_vp->width - x; /* Clip right */ |
292 | if (x < 0) | 292 | if (x < 0) |
293 | width += x, x = 0; /* Clip left */ | 293 | width += x, x = 0; /* Clip left */ |
294 | if (width <= 0) | 294 | if (width <= 0) |
295 | return; /* nothing left to do */ | 295 | return; /* nothing left to do */ |
296 | 296 | ||
297 | if (y + height > LCD_HEIGHT) | 297 | if (y + height > current_vp->height) |
298 | height = LCD_HEIGHT - y; /* Clip bottom */ | 298 | height = current_vp->height - y; /* Clip bottom */ |
299 | if (y < 0) | 299 | if (y < 0) |
300 | height += y, y = 0; /* Clip top */ | 300 | height += y, y = 0; /* Clip top */ |
301 | if (height <= 0) | 301 | if (height <= 0) |
302 | return; /* nothing left to do */ | 302 | return; /* nothing left to do */ |
303 | 303 | ||
304 | src += stride * src_y + src_x; /* move starting point */ | 304 | src += stride * src_y + src_x; /* move starting point */ |
305 | dst = &lcd_framebuffer[y][x]; | 305 | dst = &lcd_framebuffer[current_vp->y+y][current_vp->x+x]; |
306 | 306 | ||
307 | asm volatile ( | 307 | asm volatile ( |
308 | ".rowstart: \r\n" | 308 | ".rowstart: \r\n" |