Changing name of has_transpareny_in_palette to has_transparency_in_tRNS
authoremmaleer <emmaleer@google.com>
Fri, 10 Jul 2015 14:48:03 +0000 (07:48 -0700)
committerCommit bot <commit-bot@chromium.org>
Fri, 10 Jul 2015 14:48:03 +0000 (07:48 -0700)
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

src/codec/SkCodec_libpng.cpp

index a14a67c..a5d3834 100644 (file)
@@ -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);