Implement srcRect and dstRect functionality in SkBitmapSource. This is required for...
authorsenorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Thu, 5 Dec 2013 22:41:53 +0000 (22:41 +0000)
committersenorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Thu, 5 Dec 2013 22:41:53 +0000 (22:41 +0000)
commitaf35920e6d37035c052864bcf254a267a529dbd2
treeb06d8fba6544d8b43686f791d818ec5a2bccdf33
parentc94a9911b11783321cf9edd13bb69ea86aa4f929
Implement srcRect and dstRect functionality in SkBitmapSource. This is required for the "preserveAspectRatio" options of SVG's feImage. Covered by new GM "bitmapsource".

Note: I initially implemented this as a fully-generic SkResizeImageFilter, but then I realized that the dstRect should always be transformed by the filter matrix, but that the srcRect should not (since it's specified relative to the dimensions of the original bitmap). Since this would be confusing for someone attempting to use this as a generic resizing filter, I decided to build the functionality into SkBitmapSource instead.

BUG=
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12522 2bbb7eff-a529-9590-31e7-b0007b416f81
gm/bitmapsource.cpp [new file with mode: 0644]
gyp/gmslides.gypi
include/effects/SkBitmapSource.h
src/effects/SkBitmapSource.cpp