05245900bf
Add an interface for decoding scanlines, and implement that interface in the PNG decoder. Use a separate method to determine whether an image that used a type with alpha was actually opaque. SkScanlineDecoder.h: New interface for decoding scanlines. SkCodec.h: Add getScanlineDecoder. Add a virtual function (with non-virtual caller) for determining whether the image truly had alpha. The client can call this to determine if the image was actually opaque if it reported having alpha. Remove code to sneakily change the passed in alpha type. SkCodec_libpng.*: Split up code onGetPixels into helper functions that can be shared with the scanline decoder. Implement scanline decoding. Implement onReallyHasAlpha. SkSwizzler.*: Add a new SrcConfig as a default, which is invalid. Add a function for setting fDstRow directly. Assert fDstRow is not NULL. BUG=skia:3257 Review URL: https://codereview.chromium.org/1010903003
49 lines
1.3 KiB
Python
49 lines
1.3 KiB
Python
# Copyright 2015 Google Inc.
|
|
#
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
# Copyright 2015 Google Inc.
|
|
#
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
# GYP file for codec project.
|
|
{
|
|
'targets': [
|
|
{
|
|
'target_name': 'codec',
|
|
'product_name': 'skia_codec',
|
|
'type': 'static_library',
|
|
'standalone_static_library': 1,
|
|
'dependencies': [
|
|
'core.gyp:*',
|
|
'libpng.gyp:libpng',
|
|
],
|
|
'cflags':[
|
|
# FIXME: This gets around a longjmp warning. See
|
|
# http://build.chromium.org/p/client.skia.compile/builders/Build-Ubuntu-GCC-x86_64-Release-Trybot/builds/113/steps/build%20most/logs/stdio
|
|
'-Wno-clobbered',
|
|
],
|
|
'include_dirs': [
|
|
'../include/codec',
|
|
'../src/codec',
|
|
'../src/core',
|
|
],
|
|
'sources': [
|
|
'../src/codec/SkCodec.cpp',
|
|
'../src/codec/SkCodec_libbmp.cpp',
|
|
'../src/codec/SkCodec_libico.cpp',
|
|
'../src/codec/SkCodec_libpng.cpp',
|
|
'../src/codec/SkMaskSwizzler.cpp',
|
|
'../src/codec/SkMasks.cpp',
|
|
'../src/codec/SkSwizzler.cpp',
|
|
],
|
|
'direct_dependent_settings': {
|
|
'include_dirs': [
|
|
'../include/codec',
|
|
],
|
|
},
|
|
},
|
|
],
|
|
}
|