diff options
author | 2015-03-16 11:55:18 -0700 | |
---|---|---|
committer | 2015-03-16 11:55:18 -0700 | |
commit | 741143878b23d22cd9cb7b9cba8055179115ce17 (patch) | |
tree | fc813d3048f08e1e641fac2e2552971acbc63db8 /src/codec/SkCodec_libpng.cpp | |
parent | 354eba5cb61801130a84378356434d3cc0a4b71a (diff) |
Revert "Revert of fix for invalid for loop syntax broke build (patchset #1 id:1 of https://codereview.chromium.org/1007373003/)"
This reverts commit d18475854ce232de71c5463e0654f459d4abfd43.
Revert "Revert "Implementation of image decoding for bmp files, in accordance with the new API.""
This reverts commit dfdec78a5d02e8690998741a9fe5b71a08ca3232.
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/1016443003
Diffstat (limited to 'src/codec/SkCodec_libpng.cpp')
-rw-r--r-- | src/codec/SkCodec_libpng.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/codec/SkCodec_libpng.cpp b/src/codec/SkCodec_libpng.cpp index 8e7ee33a95..f42af38fea 100644 --- a/src/codec/SkCodec_libpng.cpp +++ b/src/codec/SkCodec_libpng.cpp @@ -6,6 +6,7 @@ */ #include "SkCodec_libpng.h" +#include "SkCodecPriv.h" #include "SkColorPriv.h" #include "SkColorTable.h" #include "SkBitmap.h" @@ -346,10 +347,6 @@ SkPngCodec::~SkPngCodec() { // Getting the pixels /////////////////////////////////////////////////////////////////////////////// -static bool premul_and_unpremul(SkAlphaType A, SkAlphaType B) { - return kPremul_SkAlphaType == A && kUnpremul_SkAlphaType == B; -} - static bool conversion_possible(const SkImageInfo& A, const SkImageInfo& B) { // TODO: Support other conversions if (A.colorType() != B.colorType()) { @@ -466,7 +463,7 @@ SkCodec::Result SkPngCodec::onGetPixels(const SkImageInfo& requestedInfo, void* // Now swizzle it. uint8_t* row = base; for (int y = 0; y < height; y++) { - reallyHasAlpha |= swizzler->next(row); + reallyHasAlpha |= !SkSwizzler::IsOpaque(swizzler->next(row)); row += rowBytes; } } else { @@ -474,7 +471,7 @@ SkCodec::Result SkPngCodec::onGetPixels(const SkImageInfo& requestedInfo, void* uint8_t* srcRow = static_cast<uint8_t*>(storage.get()); for (int y = 0; y < requestedInfo.height(); y++) { png_read_rows(fPng_ptr, &srcRow, png_bytepp_NULL, 1); - reallyHasAlpha |= swizzler->next(srcRow); + reallyHasAlpha |= !SkSwizzler::IsOpaque(swizzler->next(srcRow)); } } |