skia2/gm
senorblanco@chromium.org af35920e6d 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
2013-12-05 22:41:53 +00:00
..
rebaseline_server rebaseline_server: add "deep linking" to allow bookmarking of particular views 2013-12-05 18:03:24 +00:00
tests GM: remove deprecated --ignoreTests flag 2013-10-21 17:25:26 +00:00
viewer Create AJAX live-viewer of expected-vs-actual GM results 2013-08-02 19:08:52 +00:00
__init__.py rebaseline.py: if --tests is not specified, get test list from actual-results.json 2013-06-05 15:43:37 +00:00
aaclip.cpp Sanitizing source files in Housekeeper-Nightly 2013-08-16 07:01:49 +00:00
aarectmodes.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
alphagradients.cpp Sanitizing source files in Housekeeper-Nightly 2013-05-25 07:01:12 +00:00
androidfallback.cpp skip android_paint GM in pipe mode 2013-10-28 20:40:41 +00:00
arcofzorro.cpp Change old PRG to be SkLCGRandom; change new one to SkRandom 2013-09-09 20:09:12 +00:00
arithmode.cpp Provide a GPU implementation of SkArithmeticMode, using a custom GrEffect exposed via asNewEffectOrCoeff(). 2013-05-29 20:55:09 +00:00
beziereffects.cpp Change old PRG to be SkLCGRandom; change new one to SkRandom 2013-09-09 20:09:12 +00:00
bicubicfilter.cpp Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning"" 2013-10-31 17:28:30 +00:00
bigblurs.cpp Sanitizing source files in Housekeeper-Nightly 2013-11-08 07:01:56 +00:00
bigmatrix.cpp Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning"" 2013-10-31 17:28:30 +00:00
bigtext.cpp Sanitizing source files in Housekeeper-Nightly 2013-06-06 07:01:37 +00:00
bitmapalphathreshold.cpp Sanitizing source files in Housekeeper-Nightly 2013-09-07 07:01:16 +00:00
bitmapcopy.cpp Reverting r12427 2013-12-02 13:50:38 +00:00
bitmapfilters.cpp Reverting r12427 2013-12-02 13:50:38 +00:00
bitmapmatrix.cpp Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning"" 2013-10-31 17:28:30 +00:00
bitmappremul.cpp [PDF] Add unpremultiply support and a GM (try5) 2013-10-24 15:20:00 +00:00
bitmaprect.cpp Fixed remaining clang compiler warnings 2012-12-03 17:35:19 +00:00
bitmaprecttest.cpp augmenting fix in 8700 and 8701, be careful NOT to "sort" the result of mapRect 2013-04-18 15:37:14 +00:00
bitmapscroll.cpp fix warning from scalar --> int32 conversion 2013-01-07 19:54:40 +00:00
bitmapsource.cpp Implement srcRect and dstRect functionality in SkBitmapSource. This is required for the "preserveAspectRatio" options of SVG's feImage. Covered by new GM "bitmapsource". 2013-12-05 22:41:53 +00:00
bleed.cpp [GPU] Use view matrix + rect to implement subrect for drawBitmap when there is a mask filter and bleed. 2013-11-22 20:34:59 +00:00
blurquickreject.cpp Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning"" 2013-10-31 17:28:30 +00:00
blurrect.cpp remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
blurroundrect.cpp remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
blurs.cpp Push sigma-based blur interface into our GMs/benches/tests/samplecode 2013-09-06 14:16:12 +00:00
canvasstate.cpp Third wave of Win64 warning cleanup 2013-10-16 17:48:11 +00:00
circles.cpp Sanitizing source files in Housekeeper-Nightly 2013-09-10 07:01:44 +00:00
circularclips.cpp Use Path Ops to generate PDF clips 2013-08-08 02:52:05 +00:00
clippedbitmapshaders.cpp Sanitizing source files in Housekeeper-Nightly 2013-10-24 07:01:59 +00:00
cmykjpeg.cpp Sanitizing source files in Housekeeper-Nightly 2013-05-30 07:01:29 +00:00
coloremoji.cpp fix broken build due to coloremoji gm. 2013-09-17 16:17:52 +00:00
colorfilterimagefilter.cpp remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
colormatrix.cpp remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
colortype.cpp if we can't load Times, use default font 2013-06-03 17:45:29 +00:00
complexclip2.cpp remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
complexclip.cpp remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
composeshader.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
conicpaths.cpp Sanitizing source files in Housekeeper-Nightly 2013-06-21 07:00:53 +00:00
convexpaths.cpp remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
copyTo4444.cpp Fix build. 2013-08-07 19:39:56 +00:00
cubicpaths.cpp Change old PRG to be SkLCGRandom; change new one to SkRandom 2013-09-09 20:09:12 +00:00
dashcubics.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
dashing.cpp remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
degeneratesegments.cpp Change old PRG to be SkLCGRandom; change new one to SkRandom 2013-09-09 20:09:12 +00:00
deviceproperties.cpp Split SkDevice into SkBaseDevice and SkBitmapDevice 2013-08-29 11:54:56 +00:00
displacement.cpp Fix Win warning-as-error. 2013-10-15 19:30:58 +00:00
display_json_results.py gm_json.py: add ability to load JSON file from a string, not just a local file 2013-06-04 17:50:36 +00:00
distantclip.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2012-09-18 02:01:09 +00:00
downsamplebitmap.cpp clean up printf usage in gm 2013-07-25 19:14:37 +00:00
drawbitmaprect.cpp Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning"" 2013-10-31 17:28:30 +00:00
drawlooper.cpp Push sigma-based blur interface into our GMs/benches/tests/samplecode 2013-09-06 14:16:12 +00:00
dropshadowimagefilter.cpp Enhance SkDropShadowImageFilter to support separate X & Y sigmas, and crop rect. This required a new flavour of the constructor. 2013-11-26 21:52:38 +00:00
emptypath.cpp Change old PRG to be SkLCGRandom; change new one to SkRandom 2013-09-09 20:09:12 +00:00
extractbitmap.cpp Split SkDevice into SkBaseDevice and SkBitmapDevice 2013-08-29 11:54:56 +00:00
factory.cpp Big Cleanup: SkBitmapFactory, SkLazyPixelRef, SkImageCache 2013-12-05 18:31:42 +00:00
fatpathfill.cpp promote SkImage::AlphaType to SkAlphaType 2013-09-20 19:33:52 +00:00
filltypes.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
filltypespersp.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
filterbitmap.cpp clean up printf usage in gm 2013-07-25 19:14:37 +00:00
fontcache.cpp Sanitizing source files in Housekeeper-Nightly 2013-10-10 07:01:40 +00:00
fontmgr.cpp Fix leak detected in FontMgrMatchGM::onDraw by Valgrind. 2013-11-12 15:25:29 +00:00
fontscaler.cpp Reduce number of glyphs drawn by fontscaler GM to avoid N4 MSAA4 crash 2013-09-09 16:19:40 +00:00
gammatext.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:14:13 +00:00
getpostextpath.cpp Change old PRG to be SkLCGRandom; change new one to SkRandom 2013-09-09 20:09:12 +00:00
giantbitmap.cpp Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning"" 2013-10-31 17:28:30 +00:00
gm_error.h Add SkPDFDeviceFlatenner which extends SkPDFDevice to add support to flatten the path and the text when we have perspective. 2013-10-14 13:42:12 +00:00
gm_expectations.cpp Fix compilation with SK_ENABLE_INST_COUNT=1 2013-12-05 12:08:12 +00:00
gm_expectations.h Add JSON output option to bench. 2013-12-03 18:16:48 +00:00
gm_json.py Add ability to rebaseline skimage to rebaseline.py 2013-10-10 21:09:24 +00:00
gm.cpp Implement a benchmark for GrResourceCache 2013-11-21 06:21:58 +00:00
gm.h Implement a benchmark for GrResourceCache 2013-11-21 06:21:58 +00:00
gmmain.cpp Add JSON output option to bench. 2013-12-03 18:16:48 +00:00
gradient_matrix.cpp remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
gradientDirtyLaundry.cpp Sanitizing source files in Housekeeper-Nightly 2013-07-10 07:00:58 +00:00
gradients_no_texture.cpp Two and three color GPU gradients without textures. 2013-09-09 15:36:26 +00:00
gradients.cpp remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
gradtext.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
hairlines.cpp remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
hairmodes.cpp add onOnceBeforeDraw() virtual, so gm's can easily perform lazy initialization 2012-11-27 15:15:58 +00:00
hittestpath.cpp Change old PRG to be SkLCGRandom; change new one to SkRandom 2013-09-09 20:09:12 +00:00
image.cpp Implement a benchmark for GrResourceCache 2013-11-21 06:21:58 +00:00
image.h
imageblur.cpp text size is an SkScalar, Windows reminds me. 2013-09-16 19:05:44 +00:00
imagefiltersbase.cpp Adding more validation 2013-11-25 21:46:31 +00:00
imagefilterscropped.cpp Remove support for SK_CROP_RECT_IS_INT, now that it is no longer used in Blink or Chrome. 2013-10-16 15:46:00 +00:00
imagefiltersgraph.cpp Adding more validation 2013-11-25 21:46:31 +00:00
imagemagnifier.cpp Magnifier gpu path fix 2013-10-21 15:59:26 +00:00
internal_links.cpp Fix pipe/annotation. 2013-10-29 19:23:26 +00:00
inversepaths.cpp Inverse fill support in PDF 2013-07-31 22:54:31 +00:00
lcdtext.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:14:13 +00:00
lerpmode.cpp Sanitizing source files in Housekeeper-Nightly 2013-05-22 07:01:13 +00:00
lighting.cpp Remove support for SK_CROP_RECT_IS_INT, now that it is no longer used in Blink or Chrome. 2013-10-16 15:46:00 +00:00
linepaths.cpp Change old PRG to be SkLCGRandom; change new one to SkRandom 2013-09-09 20:09:12 +00:00
lumafilter.cpp Align SkLumaColorFilter with the spec. 2013-10-10 20:13:51 +00:00
matrixconvolution.cpp remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
megalooper.cpp Push sigma-based blur interface into our GMs/benches/tests/samplecode 2013-09-06 14:16:12 +00:00
mixedxfermodes.cpp Change old PRG to be SkLCGRandom; change new one to SkRandom 2013-09-09 20:09:12 +00:00
modecolorfilters.cpp Work around stack overflow 2013-03-14 17:24:16 +00:00
morphology.cpp Remove support for SK_CROP_RECT_IS_INT, now that it is no longer used in Blink or Chrome. 2013-10-16 15:46:00 +00:00
nested.cpp Change old PRG to be SkLCGRandom; change new one to SkRandom 2013-09-09 20:09:12 +00:00
ninepatchstretch.cpp Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning"" 2013-10-31 17:28:30 +00:00
nonclosedpaths.cpp add GM case nonclosedpaths. The 2 bugs below showed some non-closed paths which are easy to get wrong rendering results. So add a GM case for this kind paths to avoid potential bugs to be introduced. 2013-11-09 01:37:30 +00:00
offsetimagefilter.cpp Remove support for SK_CROP_RECT_IS_INT, now that it is no longer used in Blink or Chrome. 2013-10-16 15:46:00 +00:00
optimizations.cpp Remove unnamed namespace usage from 'gm'. 2013-11-20 21:32:10 +00:00
ovals.cpp remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
patheffects.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:19:56 +00:00
pathfill.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
pathinterior.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
pathopsinverse.cpp path ops -- crap, I checked in the wrong file 2013-04-22 20:12:47 +00:00
pathopsskpclip.cpp path ops : make it real 2013-04-25 13:34:40 +00:00
pathreverse.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:14:13 +00:00
perlinnoise.cpp remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
points.cpp Change old PRG to be SkLCGRandom; change new one to SkRandom 2013-09-09 20:09:12 +00:00
poly2poly.cpp Sanitizing source files in Housekeeper-Nightly 2013-06-22 07:00:58 +00:00
polygons.cpp Fix warning as error on Mac for implicit narrowing conversion from r12413. 2013-11-27 16:08:37 +00:00
quadpaths.cpp Change old PRG to be SkLCGRandom; change new one to SkRandom 2013-09-09 20:09:12 +00:00
rects.cpp add some GM tests for rects 2013-11-01 11:54:29 +00:00
roundrects.cpp remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
rrect.cpp GM : Unused parameters cleanup 2013-02-27 15:41:12 +00:00
rrects.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
samplerstress.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:19:56 +00:00
scalebitmap.cpp Sanitizing source files in Housekeeper-Nightly 2013-07-10 07:00:58 +00:00
selftest.cpp gm: record IntentionallySkipped tests 2013-04-10 12:17:34 +00:00
shaderbounds.cpp remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
shadertext2.cpp Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning"" 2013-10-31 17:28:30 +00:00
shadertext3.cpp Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning"" 2013-10-31 17:28:30 +00:00
shadertext.cpp Third wave of Win64 warning cleanup 2013-10-16 17:48:11 +00:00
shadows.cpp Push sigma-based blur interface into our GMs/benches/tests/samplecode 2013-09-06 14:16:12 +00:00
shallowgradient.cpp Fix minor memory leaks 2013-03-27 21:31:21 +00:00
simpleaaclip.cpp remove SkFloatToScalar macro 2013-11-25 19:44:07 +00:00
skbug1719.cpp detach blur result texture when it is the same texture used to render path mask 2013-10-16 13:53:54 +00:00
spritebitmap.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-17 07:06:06 +00:00
srcmode.cpp move SkImage::ColorType into SkColorType 2013-11-01 13:46:54 +00:00
stringart.cpp One more try at fixing warnings 2013-09-19 17:21:39 +00:00
strokefill.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:19:56 +00:00
strokerect.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
strokerects.cpp Change old PRG to be SkLCGRandom; change new one to SkRandom 2013-09-09 20:09:12 +00:00
strokes.cpp Change old PRG to be SkLCGRandom; change new one to SkRandom 2013-09-09 20:09:12 +00:00
system_preferences_default.cpp
system_preferences_mac.mm gm: Include system_preferences.h in mac file. 2012-09-26 15:41:42 +00:00
system_preferences.h
tablecolorfilter.cpp Defining new color constat for transparent color 2012-12-06 21:47:40 +00:00
techtalk1.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
testimagefilters.cpp Move SkComposeImageFilter into its own {.h, .cpp} files 2013-08-07 00:07:51 +00:00
texdata.cpp Implement a benchmark for GrResourceCache 2013-11-21 06:21:58 +00:00
texteffects.cpp Third wave of Win64 warning cleanup 2013-10-16 17:48:11 +00:00
thinrects.cpp Sanitizing source files in Housekeeper-Nightly 2013-05-15 07:01:09 +00:00
thinstrokedrects.cpp Add a new GM for very thin stroke widths 2013-06-26 17:06:45 +00:00
tileimagefilter.cpp Moving 4 SkImageFilter derived classes from blink to skia 2013-09-26 16:09:28 +00:00
tilemodes_scaled.cpp Sanitizing source files in Housekeeper-Nightly 2013-09-05 07:01:19 +00:00
tilemodes.cpp Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning"" 2013-10-31 17:28:30 +00:00
tinybitmap.cpp Revert "Revert "change SkColorTable to be immutable"" 2013-10-10 14:44:56 +00:00
twopointradial.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
typeface.cpp Sanitizing source files in Housekeeper-Nightly 2013-10-31 07:01:53 +00:00
valgrind.supp Update valgrind suppressions for new driver 2013-12-05 16:23:37 +00:00
verttext2.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:19:56 +00:00
verttext.cpp Revert unwanted change to verttext.cpp. 2013-10-24 22:38:48 +00:00
verylargebitmap.cpp Exclude verylargebitmap test from replay modes on windows. 2013-10-30 18:58:03 +00:00
xfermodeimagefilter.cpp Remove support for SK_CROP_RECT_IS_INT, now that it is no longer used in Blink or Chrome. 2013-10-16 15:46:00 +00:00
xfermodes2.cpp store SkAlphaType inside SkBitmap, on road to support unpremul 2013-10-21 14:00:07 +00:00
xfermodes3.cpp store SkAlphaType inside SkBitmap, on road to support unpremul 2013-10-21 14:00:07 +00:00
xfermodes.cpp [PDF] Fixes the cases where SkPDFDevice::finishContentEntry is called with empty content. 2013-12-03 21:08:46 +00:00