Implement support for a Context parameter in image filters
authorsenorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Fri, 14 Mar 2014 15:44:01 +0000 (15:44 +0000)
committersenorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Fri, 14 Mar 2014 15:44:01 +0000 (15:44 +0000)
commit4cb543d6057b692e1099e9f115155f0bf323a0c8
tree66f8cbe4e7ef74221766ade874096f934c8b2031
parent0d30c51c6cf45b3a08a3000b6d348c16bdec7f05
Implement support for a Context parameter in image filters

Some upcoming work (support for expanding crop rects) requires
the clip bounds to be available during filter traversal. This change
replaces the SkMatrix parameter in the onFilterImage() traversals
with a Context parameter. It contains the CTM, as well as the clip
bounds.

BUG=skia:
R=reed@google.com

Review URL: https://codereview.chromium.org/189913021

git-svn-id: http://skia.googlecode.com/svn/trunk@13803 2bbb7eff-a529-9590-31e7-b0007b416f81
53 files changed:
gm/imagefiltersbase.cpp
gm/imagefiltersgraph.cpp
include/core/SkBitmapDevice.h
include/core/SkDevice.h
include/core/SkImageFilter.h
include/effects/SkBicubicImageFilter.h
include/effects/SkBitmapSource.h
include/effects/SkBlurImageFilter.h
include/effects/SkColorFilterImageFilter.h
include/effects/SkComposeImageFilter.h
include/effects/SkDisplacementMapEffect.h
include/effects/SkDropShadowImageFilter.h
include/effects/SkMagnifierImageFilter.h
include/effects/SkMatrixConvolutionImageFilter.h
include/effects/SkMergeImageFilter.h
include/effects/SkMorphologyImageFilter.h
include/effects/SkOffsetImageFilter.h
include/effects/SkPictureImageFilter.h
include/effects/SkRectShaderImageFilter.h
include/effects/SkResizeImageFilter.h
include/effects/SkTestImageFilters.h
include/effects/SkTileImageFilter.h
include/effects/SkXfermodeImageFilter.h
include/gpu/SkGpuDevice.h
src/core/SkBitmapDevice.cpp
src/core/SkCanvas.cpp
src/core/SkDeviceImageFilterProxy.h
src/core/SkImageFilter.cpp
src/effects/SkAlphaThresholdFilter.cpp
src/effects/SkBicubicImageFilter.cpp
src/effects/SkBitmapSource.cpp
src/effects/SkBlurImageFilter.cpp
src/effects/SkColorFilterImageFilter.cpp
src/effects/SkComposeImageFilter.cpp
src/effects/SkDisplacementMapEffect.cpp
src/effects/SkDropShadowImageFilter.cpp
src/effects/SkLightingImageFilter.cpp
src/effects/SkMagnifierImageFilter.cpp
src/effects/SkMatrixConvolutionImageFilter.cpp
src/effects/SkMergeImageFilter.cpp
src/effects/SkMorphologyImageFilter.cpp
src/effects/SkOffsetImageFilter.cpp
src/effects/SkPictureImageFilter.cpp
src/effects/SkRectShaderImageFilter.cpp
src/effects/SkResizeImageFilter.cpp
src/effects/SkTestImageFilters.cpp
src/effects/SkTileImageFilter.cpp
src/effects/SkXfermodeImageFilter.cpp
src/gpu/SkGpuDevice.cpp
src/utils/SkDeferredCanvas.cpp
src/utils/SkGatherPixelRefsAndRects.h
src/utils/SkPictureUtils.cpp
tests/ImageFilterTest.cpp