float b=gamma().b_U8_to_F32((unsigned char)png_ptr->palette[row_pointers[y][x]].blue);
float a=1.0;
if(info_ptr->valid & PNG_INFO_tRNS)
+#if (PNG_LIBPNG_VER_MAJOR > 1) || ((PNG_LIBPNG_VER_MAJOR == 1) && (PNG_LIBPNG_VER_MINOR >= 4))
+ a = (float)(unsigned char)png_ptr->trans_alpha[row_pointers[y][x]]*(1.0/255.0);
+#else
a = (float)(unsigned char)png_ptr->trans[row_pointers[y][x]]*(1.0/255.0);
+#endif
surface_buffer[y][x]=Color(
r,
g,
trim = false;
- if (getenv("SYNFIG_DISABLE_CROP_IMPORTED_IMAGES"))
+ //if (getenv("SYNFIG_DISABLE_CROP_IMPORTED_IMAGES"))
return;
switch(color_type)
}
bool
-png_mptr::get_frame(synfig::Surface &surface,Time, synfig::ProgressCallback */*cb*/)
+png_mptr::get_frame(synfig::Surface &surface, const synfig::RendDesc &renddesc, Time, synfig::ProgressCallback */*cb*/)
{
//assert(0); // shouldn't be called?
surface=surface_buffer;
}
bool
-png_mptr::get_frame(synfig::Surface &surface,Time,
+png_mptr::get_frame(synfig::Surface &surface, const synfig::RendDesc &renddesc, Time,
bool &trimmed, unsigned int &width, unsigned int &height, unsigned int &top, unsigned int &left,
synfig::ProgressCallback */*cb*/)
{