Lines Matching refs:png_ptr
62 #define png_jmpbuf(png_ptr) ((png_ptr)->jmpbuf) argument
69 png_struct *png_ptr; in PetscDrawImageSavePNG() local
80 png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); in PetscDrawImageSavePNG()
81 PetscCheck(png_ptr, PETSC_COMM_SELF, PETSC_ERR_LIB, "Cannot create PNG context"); in PetscDrawImageSavePNG()
82 info_ptr = png_create_info_struct(png_ptr); in PetscDrawImageSavePNG()
87 if (setjmp(png_jmpbuf(png_ptr))) { in PetscDrawImageSavePNG()
88 png_destroy_write_struct(&png_ptr, &info_ptr); in PetscDrawImageSavePNG()
95 png_init_io(png_ptr, fp); in PetscDrawImageSavePNG()
96 …png_set_IHDR(png_ptr, info_ptr, w, h, /*depth*/ 8, palette ? PNG_COLOR_TYPE_PALETTE : PNG_COLOR_TY… in PetscDrawImageSavePNG()
97 if (palette) png_set_PLTE(png_ptr, info_ptr, (png_color *)palette, 256); in PetscDrawImageSavePNG()
100 png_write_info(png_ptr, info_ptr); in PetscDrawImageSavePNG()
101 for (row = 0; row < h; row++) png_write_row(png_ptr, pixels + row * stride); in PetscDrawImageSavePNG()
102 png_write_end(png_ptr, NULL); in PetscDrawImageSavePNG()
105 png_destroy_write_struct(&png_ptr, &info_ptr); in PetscDrawImageSavePNG()