core/src/image.c | 32 ++++++++++++++++---------------- 1 files changed, 16 insertions(+), 16 deletions(-) diff --git a/core/src/image.c b/core/src/image.c index 6973575..4fb21a9 100644 --- a/core/src/image.c +++ b/core/src/image.c @@ -61,27 +61,27 @@ static int load_png(stheme_t *theme, char *filename, u8 **data, struct fb_cmap * png_init_io(png_ptr, fp); png_read_info(png_ptr, info_ptr); - if (cmap && info_ptr->color_type != PNG_COLOR_TYPE_PALETTE) + if (cmap && png_get_color_type(png_ptr, info_ptr) != PNG_COLOR_TYPE_PALETTE) return -2; - if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY || - info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) + if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY || + png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA) png_set_gray_to_rgb(png_ptr); - if (info_ptr->bit_depth == 16) + if (png_get_bit_depth(png_ptr, info_ptr) == 16) png_set_strip_16(png_ptr); - if (!want_alpha && info_ptr->color_type & PNG_COLOR_MASK_ALPHA) + if (!want_alpha && png_get_color_type(png_ptr, info_ptr) & PNG_COLOR_MASK_ALPHA) png_set_strip_alpha(png_ptr); #ifndef TARGET_KERNEL - if (!(info_ptr->color_type & PNG_COLOR_MASK_ALPHA) & want_alpha) { + if (!(png_get_color_type(png_ptr, info_ptr) & PNG_COLOR_MASK_ALPHA) & want_alpha) { png_set_add_alpha(png_ptr, 0xff, PNG_FILLER_AFTER); } #endif png_read_update_info(png_ptr, info_ptr); - if (!cmap && info_ptr->color_type != PNG_COLOR_TYPE_RGB && info_ptr->color_type != PNG_COLOR_TYPE_RGBA) + if (!cmap && png_get_color_type(png_ptr, info_ptr) != PNG_COLOR_TYPE_RGB && png_get_color_type(png_ptr, info_ptr) != PNG_COLOR_TYPE_RGBA) return -3; if (cmap) { @@ -93,12 +93,12 @@ static int load_png(stheme_t *theme, char *filename, u8 **data, struct fb_cmap * rowbytes = png_get_rowbytes(png_ptr, info_ptr); - if ((width && *width && info_ptr->width != *width) || (height && *height && info_ptr->height != *height)) { + if ((width && *width && png_get_image_width(png_ptr, info_ptr) != *width) || (height && *height && png_get_image_height(png_ptr, info_ptr) != *height)) { iprint(MSG_ERROR, "Image size mismatch: %s.\n", filename); return -2; } else { - *width = info_ptr->width; - *height = info_ptr->height; + *width = png_get_image_width(png_ptr, info_ptr); + *height = png_get_image_height(png_ptr, info_ptr); } *data = malloc(theme->xres * theme->yres * fbd.bytespp); @@ -114,11 +114,11 @@ static int load_png(stheme_t *theme, char *filename, u8 **data, struct fb_cmap * return -4; } - for (i = 0; i < info_ptr->height; i++) { + for (i = 0; i < png_get_image_height(png_ptr, info_ptr); i++) { if (cmap) { - row_pointer = *data + info_ptr->width * i; + row_pointer = *data + png_get_image_width(png_ptr, info_ptr) * i; } else if (want_alpha) { - row_pointer = *data + info_ptr->width * i * 4; + row_pointer = *data + png_get_image_width(png_ptr, info_ptr) * i * 4; } else { row_pointer = buf; } @@ -127,7 +127,7 @@ static int load_png(stheme_t *theme, char *filename, u8 **data, struct fb_cmap * if (cmap) { int h = 256 - cmap->len; - t = *data + info_ptr->width * i; + t = *data + png_get_image_width(png_ptr, info_ptr) * i; if (h) { /* Move the colors up by 'h' offset. This is used because fbcon @@ -139,8 +139,8 @@ static int load_png(stheme_t *theme, char *filename, u8 **data, struct fb_cmap * /* We only need to convert the image if the alpha channel is not required */ } else if (!want_alpha) { - u8 *tmp = *data + info_ptr->width * bytespp * i; - rgba2fb((rgbacolor*)buf, tmp, tmp, info_ptr->width, i, 0, 0xff); + u8 *tmp = *data + png_get_image_width(png_ptr, info_ptr) * bytespp * i; + rgba2fb((rgbacolor*)buf, tmp, tmp, png_get_image_width(png_ptr, info_ptr), i, 0, 0xff); } }