skia2/include
senorblanco@chromium.org c4b12f19a4 Implement correct clipping for image filters.
Image filters in Skia currently clip the size of the the offscreen
bitmap used for filtering to the device clip bounds. This means that
any pixel-moving filter (e.g., blur) has edge artifacts at the clip
boundaries. This is problematic for tiling, where a single SkPicture
is played back with a clip set to the tile boundaries.

By implementing the onFilterBounds() traversal, and using it in
saveLayer() when a filter is present, we can clip the layer to the
expanded clip rect. Note that this requires that the traversal be
performed in reverse as compared to computeFastBounds().  (It's also
done in device space, unlike computeFastBounds()).

New test imagefiltersclipped tests pixel-moving filters when clipped
by various clip rects.
New test imageblurtiled tests tiled (compositor-style) rendering of
blurred text. There should be no artifacts at the tile boundaries.

BUG=337831
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13323 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-05 17:51:22 +00:00
..
animator Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
config Revert "Revert "begin to remove SkLONGLONG and wean Skia off of Sk64"" 2013-12-20 14:24:21 +00:00
core Implement correct clipping for image filters. 2014-02-05 17:51:22 +00:00
device/xps Override drawRRect in fake SkBitmapDevices. 2013-11-12 17:10:02 +00:00
effects Implement correct clipping for image filters. 2014-02-05 17:51:22 +00:00
gpu remove SkCanvas::createCompatibleDevice, and add SkCanvas::newSurface 2014-02-05 15:32:21 +00:00
images Refactor read and write buffers. 2014-01-30 18:58:24 +00:00
pathops Export SkPathOps.h functions for external use. 2013-07-09 19:43:35 +00:00
pdf Revert "[PDF] Fix font embedding restrictions." 2013-12-10 17:22:41 +00:00
pipe Fixes for piping bitmaps with encoded data. 2013-04-30 02:32:41 +00:00
ports Make SkFontMgr interface const. 2014-02-04 22:35:01 +00:00
svg Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
text Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
utils remove (unused by chrome) SkDeferredCanvas(device) factory signature 2014-02-04 15:34:10 +00:00
views Remove unused methods from SkWindow. 2014-01-25 18:45:45 +00:00
xml Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00