aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/codec/SkCodec_libpng.cpp
diff options
context:
space:
mode:
authorGravatar emmaleer <emmaleer@google.com>2015-07-10 07:48:03 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-07-10 07:48:03 -0700
commit21cea726e743aa05720adea456f26fcd58318505 (patch)
treec448cca65154a2a6f8fb40c988c7da45c8f0e21b /src/codec/SkCodec_libpng.cpp
parent5b4f05f709d2b45f1b61e613a4fd073c31fa66d8 (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.cpp11
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);