aboutsummaryrefslogtreecommitdiff
path: root/src/image.c
diff options
context:
space:
mode:
authorHarry Jeffery <harry@exec64.co.uk>2015-11-11 16:34:00 +0000
committerHarry Jeffery <harry@exec64.co.uk>2015-11-11 16:34:00 +0000
commit506dd25de52c5e26ce3160a16980d9f13bb523e1 (patch)
tree0ce305a281080f0c38c2428dc0d82a09719080e8 /src/image.c
parent587a51cf8b3a90063b8618b6e17b2aded01431c7 (diff)
downloadimv-506dd25de52c5e26ce3160a16980d9f13bb523e1.tar.gz
Merge some frame processing logic
Diffstat (limited to 'src/image.c')
-rw-r--r--src/image.c18
1 files changed, 2 insertions, 16 deletions
diff --git a/src/image.c b/src/image.c
index 8516bf5..a89523c 100644
--- a/src/image.c
+++ b/src/image.c
@@ -157,7 +157,8 @@ void imv_image_load_next_frame(struct imv_image *img)
FreeImage_UnlockPage(img->mbmp, frame, 0);
/* If this frame is inset, we need to expand it for compositing */
- if(left != 0 || top != 0) {
+ if(img->width != (int)FreeImage_GetWidth(frame32) ||
+ img->height != (int)FreeImage_GetHeight(frame32)) {
RGBQUAD color = {0,0,0,0};
FIBITMAP *expanded = FreeImage_EnlargeCanvas(frame32,
left,
@@ -170,21 +171,6 @@ void imv_image_load_next_frame(struct imv_image *img)
frame32 = expanded;
}
- /* If the frame is still too small, enlarge it to fit */
- if(img->width != (int)FreeImage_GetWidth(frame32) ||
- img->height != (int)FreeImage_GetHeight(frame32)) {
- RGBQUAD color = {0,0,0,0};
- FIBITMAP *expanded = FreeImage_EnlargeCanvas(frame32,
- 0,
- img->height - FreeImage_GetHeight(frame32),
- img->width - FreeImage_GetWidth(frame32),
- 0,
- &color,
- 0);
- FreeImage_Unload(frame32);
- frame32 = expanded;
- }
-
switch(disposal_method) {
case 0: /* nothing specified, just use the raw frame */
if(img->cur_bmp) {