diff options
author | 2015-07-10 07:48:03 -0700 | |
---|---|---|
committer | 2015-07-10 07:48:03 -0700 | |
commit | 21cea726e743aa05720adea456f26fcd58318505 (patch) | |
tree | c448cca65154a2a6f8fb40c988c7da45c8f0e21b /src/codec/SkCodec_libpng.cpp | |
parent | 5b4f05f709d2b45f1b61e613a4fd073c31fa66d8 (diff) |
Changing name of has_transpareny_in_palette to has_transparency_in_tRNS
This function checks for transparency info in the tRNS chunk
Other images besides paletted images can have tRNS chunks,
including Gray8 and RGB
has_transparency_in_tRNS is a better name for the function
BUG=skia:
Review URL: https://codereview.chromium.org/1224453002
Diffstat (limited to 'src/codec/SkCodec_libpng.cpp')
-rw-r--r-- | src/codec/SkCodec_libpng.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/codec/SkCodec_libpng.cpp b/src/codec/SkCodec_libpng.cpp index a14a67c349..a5d3834313 100644 --- a/src/codec/SkCodec_libpng.cpp +++ b/src/codec/SkCodec_libpng.cpp @@ -100,8 +100,9 @@ private: }; #define AutoCleanPng(...) SK_REQUIRE_LOCAL_VAR(AutoCleanPng) -// call only if color_type is PALETTE. Returns true if the ctable has alpha -static bool has_transparency_in_palette(png_structp png_ptr, +//checks if there is transparency info in the tRNS chunk +//image types which could have data in the tRNS chunk include: Index8, Gray8, RGB +static bool has_transparency_in_tRNS(png_structp png_ptr, png_infop info_ptr) { if (!png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) { return false; @@ -287,11 +288,11 @@ static bool read_header(SkStream* stream, png_structp* png_ptrp, switch (colorType) { case PNG_COLOR_TYPE_PALETTE: skColorType = kIndex_8_SkColorType; - skAlphaType = has_transparency_in_palette(png_ptr, info_ptr) ? + skAlphaType = has_transparency_in_tRNS(png_ptr, info_ptr) ? kUnpremul_SkAlphaType : kOpaque_SkAlphaType; break; case PNG_COLOR_TYPE_RGB: - if (has_transparency_in_palette(png_ptr, info_ptr)) { + if (has_transparency_in_tRNS(png_ptr, info_ptr)) { //convert to RGBA with tranparency information in tRNS chunk if it exists png_set_tRNS_to_alpha(png_ptr); skAlphaType = kUnpremul_SkAlphaType; @@ -303,7 +304,7 @@ static bool read_header(SkStream* stream, png_structp* png_ptrp, skColorType = kN32_SkColorType; break; case PNG_COLOR_TYPE_GRAY: - if (has_transparency_in_palette(png_ptr, info_ptr)) { + if (has_transparency_in_tRNS(png_ptr, info_ptr)) { //FIXME: support gray with alpha as a color type //convert to RGBA if there is transparentcy info in the tRNS chunk png_set_tRNS_to_alpha(png_ptr); |