diff options
Diffstat (limited to 'WebCore/platform/image-decoders/png/PNGImageDecoder.cpp')
-rw-r--r-- | WebCore/platform/image-decoders/png/PNGImageDecoder.cpp | 36 |
1 files changed, 3 insertions, 33 deletions
diff --git a/WebCore/platform/image-decoders/png/PNGImageDecoder.cpp b/WebCore/platform/image-decoders/png/PNGImageDecoder.cpp index ad79fc8..d14333f 100644 --- a/WebCore/platform/image-decoders/png/PNGImageDecoder.cpp +++ b/WebCore/platform/image-decoders/png/PNGImageDecoder.cpp @@ -1,6 +1,5 @@ /* * Copyright (C) 2006 Apple Computer, Inc. - * Copyright (C) 2007-2009 Torch Mobile, Inc. * * Portions are Copyright (C) 2001 mozilla.org * @@ -243,9 +242,6 @@ void PNGImageDecoder::headerAvailable() longjmp(png->jmpbuf, 1); return; } -#if ENABLE(IMAGE_DECODER_DOWN_SAMPLING) - prepareScaleDataIfNecessary(); -#endif } int bitDepth, colorType, interlaceType, compressionType, filterType, channels; @@ -317,14 +313,7 @@ void PNGImageDecoder::rowAvailable(unsigned char* rowBuffer, unsigned rowIndex, // Initialize the framebuffer if needed. RGBA32Buffer& buffer = m_frameBufferCache[0]; if (buffer.status() == RGBA32Buffer::FrameEmpty) { -#if ENABLE(IMAGE_DECODER_DOWN_SAMPLING) - int width = m_scaled ? m_scaledColumns.size() : size().width(); - int height = m_scaled ? m_scaledRows.size() : size().height(); -#else - int width = size().width(); - int height = size().height(); -#endif - if (!buffer.setSize(width, height)) { + if (!buffer.setSize(size().width(), size().height())) { static_cast<PNGImageDecoder*>(png_get_progressive_ptr(reader()->pngPtr()))->decodingFailed(); longjmp(reader()->pngPtr()->jmpbuf, 1); return; @@ -369,7 +358,7 @@ void PNGImageDecoder::rowAvailable(unsigned char* rowBuffer, unsigned rowIndex, * to pass the current row, and the function will combine the * old row and the new row. */ - + png_structp png = reader()->pngPtr(); bool hasAlpha = reader()->hasAlpha(); unsigned colorChannels = hasAlpha ? 4 : 3; @@ -383,27 +372,8 @@ void PNGImageDecoder::rowAvailable(unsigned char* rowBuffer, unsigned rowIndex, row = rowBuffer; // Copy the data into our buffer. -#if ENABLE(IMAGE_DECODER_DOWN_SAMPLING) - if (m_scaled) { - int destY = scaledY(rowIndex); - if (destY < 0) - return; - int columns = m_scaledColumns.size(); - bool sawAlpha = buffer.hasAlpha(); - for (int x = 0; x < columns; ++x) { - png_bytep pixel = row + m_scaledColumns[x] * 4; - unsigned alpha = pixel[3]; - buffer.setRGBA(x, destY, pixel[0], pixel[1], pixel[2], alpha); - if (!sawAlpha && alpha < 255) { - sawAlpha = true; - buffer.setHasAlpha(true); - } - } - return; - } -#endif int width = size().width(); - bool sawAlpha = buffer.hasAlpha(); + bool sawAlpha = false; for (int x = 0; x < width; x++) { unsigned red = *row++; unsigned green = *row++; |