aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/effects
Commit message (Collapse)AuthorAge
* Implement a computeFastBounds() traversal for SkImageFilter.Gravatar senorblanco@chromium.org2014-01-27
| | | | | | | | | | | This allows for correct culling of primitives which have image filters applied. R=reed@google.com BUG=skia: Review URL: https://codereview.chromium.org/137423005 git-svn-id: http://skia.googlecode.com/svn/trunk@13207 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove SkScalarMul from public headersGravatar reed@google.com2014-01-27
| | | | | | | | BUG=skia: Review URL: https://codereview.chromium.org/132453008 git-svn-id: http://skia.googlecode.com/svn/trunk@13189 2bbb7eff-a529-9590-31e7-b0007b416f81
* [Reland of r13154, since the Housekeeping bot seems to have reverted it in ↵Gravatar senorblanco@chromium.org2014-01-24
| | | | | | | | | | | | | | | | | | r13155. Next time I'll put the "do not disturb" sign on my commit.] Refactor SkMorphologyImageFilter, CPU and GPU paths. This required making opts/ dependent on effects/, so that we could use the SkMorphologyProc type in SkMorphologyImageFilter.h. Correctness and performance covered by existing tests; no change in functionality. R=bsalomon@google.com, djsollen@google.com, reed@google.com Committed: https://code.google.com/p/skia/source/detail?r=13154 BUG=skia: Review URL: https://codereview.chromium.org/135013004 git-svn-id: http://skia.googlecode.com/svn/trunk@13168 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-01-23
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13155 2bbb7eff-a529-9590-31e7-b0007b416f81
* Refactor SkMorphologyImageFilter, CPU and GPU paths. This required making ↵Gravatar senorblanco@chromium.org2014-01-23
| | | | | | | | | | | | opts/ dependent on effects/, so that we could use the SkMorphologyProc type in SkMorphologyImageFilter.h. Correctness and performance covered by existing tests; no change in functionality. R=bsalomon@google.com, djsollen@google.com, reed@google.com Review URL: https://codereview.chromium.org/135013004 git-svn-id: http://skia.googlecode.com/svn/trunk@13154 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement a resize image filter. This is needed for the "filterRes" feature ↵Gravatar senorblanco@chromium.org2014-01-15
| | | | | | | | | | | | | | | | | in SVG filter effects, which specifies the required size for intermediate processing buffers. In order to make this work, we need to render the primitive at the given resolution (doable at the callsite in Blink), and then to resize the result to the actual on-screen size. The latter is where this filter comes in. It simply applies a scaling factor (and the current CTM) to its input, and draws its input bitmap at that size. R=reed@google.com Committed: https://code.google.com/p/skia/source/detail?r=13077 Reverted: https://code.google.com/p/skia/source/detail?r=13078 BUG= Review URL: https://codereview.chromium.org/136863006 git-svn-id: http://skia.googlecode.com/svn/trunk@13082 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "Implement a resize image filter."Gravatar senorblanco@chromium.org2014-01-14
| | | | | | | | | | This reverts commit 3f996e31c7043929fc1553b9b5ecd6a82b5fe125 (r13077). TBR=reed Review URL: https://codereview.chromium.org/136793012 git-svn-id: http://skia.googlecode.com/svn/trunk@13078 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement a resize image filter. This is needed for the "filterRes" feature ↵Gravatar senorblanco@chromium.org2014-01-14
| | | | | | | | | | | | in SVG filter effects, which specifies the required size for intermediate processing buffers. In order to make this work, we need to render the primitive at the given resolution (doable at the callsite in Blink), and then to resize the result to the actual on-screen size. The latter is where this filter comes in. It simply applies a scaling factor (and the current CTM) to its input, and draws its input bitmap at that size. R=reed@google.com Review URL: https://codereview.chromium.org/136863006 git-svn-id: http://skia.googlecode.com/svn/trunk@13077 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add AlphaThreshold filter.Gravatar commit-bot@chromium.org2014-01-06
| | | | | | | | | | | | | This is based on the Bitmap Alpha Threshold filter, and will be used by Chromium to implement the window shape API. R=bsalomon@chromium.org, wez@chromium.org, bsalomon@google.com, reed@google.com Author: zork@chromium.org Review URL: https://codereview.chromium.org/115633002 git-svn-id: http://skia.googlecode.com/svn/trunk@12935 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove SkBitmapAlphaThresholdShaderGravatar commit-bot@chromium.org2013-12-18
| | | | | | | | | | R=bsalomon@google.com Author: zork@chromium.org Review URL: https://codereview.chromium.org/108653012 git-svn-id: http://skia.googlecode.com/svn/trunk@12759 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement an SkPicture image filter source. This is required for the ↵Gravatar senorblanco@chromium.org2013-12-12
| | | | | | | | | | external-SVG reference feature of feImage. It simply plays back an SkPicture to a given destination rect. R=reed@google.com Review URL: https://codereview.chromium.org/114263002 git-svn-id: http://skia.googlecode.com/svn/trunk@12661 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "Implement an SkPicture image filter source. This is required for the ↵Gravatar senorblanco@chromium.org2013-12-12
| | | | | | | | external-SVG reference feature of feImage. It simply plays back an SkPicture to a given destination rect." This reverts commit a620349a24471546ad2e8f0679774c1f5b4de0a4 (r12656). git-svn-id: http://skia.googlecode.com/svn/trunk@12657 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement an SkPicture image filter source. This is required for the ↵Gravatar senorblanco@chromium.org2013-12-12
| | | | | | | | | | external-SVG reference feature of feImage. It simply plays back an SkPicture to a given destination rect. R=reed@google.com Review URL: https://codereview.chromium.org/114263002 git-svn-id: http://skia.googlecode.com/svn/trunk@12656 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement srcRect and dstRect functionality in SkBitmapSource. This is ↵Gravatar senorblanco@chromium.org2013-12-09
| | | | | | | | | | | | | | required for the "preserveAspectRatio" options of SVG's feImage. Covered by new GM "bitmapsource". This also includes some changes to the xfermodeimagefilter and tileimagefilter GMs to properly handle the CTM. This worked before only because SkBitmapSource was ignoring the CTM. Now that it respects it, we need to give the correct transform. This also means the GMs now work while zoomed. It also implements CTM support for SkTileImageFilter. NOTE: this will require rebaselining a number of imagefilter GMs on Nexus4, since they render in perspective (using the CTM). The changes to the results should all be improvements. R=reed@google.com, robertphillips@google.com Review URL: https://codereview.chromium.org/106933002 git-svn-id: http://skia.googlecode.com/svn/trunk@12571 2bbb7eff-a529-9590-31e7-b0007b416f81
* Reverting 12528 & 12533 (Implement srcRect and dstRect functionality in ↵Gravatar robertphillips@google.com2013-12-06
| | | | | | | | | | SkBitmapSource) due to image differences on N4 https://codereview.chromium.org/108623002/ git-svn-id: http://skia.googlecode.com/svn/trunk@12534 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement srcRect and dstRect functionality in SkBitmapSource. This is ↵Gravatar commit-bot@chromium.org2013-12-06
| | | | | | | | | | | | | | required for the "preserveAspectRatio" options of SVG's feImage. Covered by new GM "bitmapsource". This also includes some changes to the xfermodeimagefilter and tileimagefilter GMs to properly handle the CTM. This worked before only because SkBitmapSource was ignoring the CTM. Now that it respects it, we need to give the correct transform. This also means the GMs now work while zoomed. R=reed@google.com Author: senorblanco@chromium.org Review URL: https://codereview.chromium.org/106933002 git-svn-id: http://skia.googlecode.com/svn/trunk@12528 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "Implement srcRect and dstRect functionality in SkBitmapSource. This ↵Gravatar senorblanco@chromium.org2013-12-05
| | | | | | | | | | | | | is required for the "preserveAspectRatio" options of SVG's feImage. Covered by new GM "bitmapsource"." until I can sort out the xfermodeimagefilter and tileimagefilter failures. This reverts commit b26725c8c9755415284c34399e76be098868e01a, aka r12522. BUG= TBR=reed@google.com Review URL: https://codereview.chromium.org/107093005 git-svn-id: http://skia.googlecode.com/svn/trunk@12523 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement srcRect and dstRect functionality in SkBitmapSource. This is ↵Gravatar senorblanco@chromium.org2013-12-05
| | | | | | | | | | | | | 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
* Reverting r12427Gravatar rmistry@google.com2013-12-02
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@12428 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2013-12-02
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@12427 2bbb7eff-a529-9590-31e7-b0007b416f81
* Enhance SkDropShadowImageFilter to support separate X & Y sigmas, and crop ↵Gravatar senorblanco@chromium.org2013-11-26
| | | | | | | | | | | | | | rect. This required a new flavour of the constructor. This is driven by the feDropShadow filter effect in SVG, which unlike the shorthand version accepts separate X & Y sigmas. Covered by new GM dropshadowimagefilter. R=reed@google.com Review URL: https://codereview.chromium.org/88243004 git-svn-id: http://skia.googlecode.com/svn/trunk@12401 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, ↵Gravatar reed@google.com2013-10-31
| | | | | | | | | | | | since it triggers a warning"" This reverts commit 1e787c38fa71f2a21fd728f1b1d620b9b09b0d3d. BUG= Review URL: https://codereview.chromium.org/54603004 git-svn-id: http://skia.googlecode.com/svn/trunk@12057 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it ↵Gravatar reed@google.com2013-10-31
| | | | | | | | triggers a warning" This reverts commit 1d22c4aaf9d8f053f25194a1ed74b137bfb19497. git-svn-id: http://skia.googlecode.com/svn/trunk@12056 2bbb7eff-a529-9590-31e7-b0007b416f81
* add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers ↵Gravatar reed@google.com2013-10-31
| | | | | | | | | | | a warning BUG= R=robertphillips@google.com, senorblanco@chromium.org, vandebo@chromium.org Review URL: https://codereview.chromium.org/51033004 git-svn-id: http://skia.googlecode.com/svn/trunk@12055 2bbb7eff-a529-9590-31e7-b0007b416f81
* Initial error handling codeGravatar commit-bot@chromium.org2013-10-23
| | | | | | | | | | | | | | | | I made it as simple as possible. The impact seems minimal and it should do what's necessary to make this code secure. BUG= Committed: http://code.google.com/p/skia/source/detail?r=11247 R=reed@google.com, scroggo@google.com, djsollen@google.com, sugoi@google.com, bsalomon@google.com, mtklein@google.com, senorblanco@google.com, senorblanco@chromium.org Author: sugoi@chromium.org Review URL: https://codereview.chromium.org/23021015 git-svn-id: http://skia.googlecode.com/svn/trunk@11922 2bbb7eff-a529-9590-31e7-b0007b416f81
* Reverting revert of r11862 (Constify SkFlattenable::getFactory()) or ↵Gravatar robertphillips@google.com2013-10-21
| | | | | | reverting r11871. git-svn-id: http://skia.googlecode.com/svn/trunk@11876 2bbb7eff-a529-9590-31e7-b0007b416f81
* Reverted due to Chromium compilation failures. Please see:Gravatar robertphillips@google.com2013-10-20
| | | | | | | | https://codereview.chromium.org/30973002/ git-svn-id: http://skia.googlecode.com/svn/trunk@11871 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement crop rect support for SkMatrixConvolutionImageFilter.Gravatar senorblanco@chromium.org2013-10-18
| | | | | | | | R=bsalomon@google.com Review URL: https://codereview.chromium.org/27471002 git-svn-id: http://skia.googlecode.com/svn/trunk@11863 2bbb7eff-a529-9590-31e7-b0007b416f81
* Constify SkFlattenable::getFactory().Gravatar commit-bot@chromium.org2013-10-18
| | | | | | | | | | | | | | This allows us to also constify the argument of SkFlattenableWriteBuffer::writeFlattenable() - which I've recently found myself const-casting for no apparent good reason. R=bungeman@google.com, mtklein@google.com, reed@google.com Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/29143005 git-svn-id: http://skia.googlecode.com/svn/trunk@11862 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make SkImageFilter::asNewEffect() (and all derived-class overrides) protected.Gravatar senorblanco@chromium.org2013-10-17
| | | | | | | | R=bsalomon@google.com, bsalomon Review URL: https://codereview.chromium.org/26937006 git-svn-id: http://skia.googlecode.com/svn/trunk@11847 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2013-10-16
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@11800 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add crop rect support for SkDisplacementMapEffect (raster and GPU paths).Gravatar senorblanco@chromium.org2013-10-15
| | | | | | | | | | Covered by new test cases added to displacement GM (will require rebaseline). R=bsalomon@google.com Review URL: https://codereview.chromium.org/26531002 git-svn-id: http://skia.googlecode.com/svn/trunk@11782 2bbb7eff-a529-9590-31e7-b0007b416f81
* SkRectShaderImageFilter: add a new factory method which takes a CropRect.Gravatar senorblanco@chromium.org2013-10-15
| | | | | | | | | | | This will become the preferred API, and the old Create method will be deprecated. R=reed@google.com, reed BUG= Review URL: https://codereview.chromium.org/26220004 git-svn-id: http://skia.googlecode.com/svn/trunk@11773 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove SkLumaXfermode.Gravatar commit-bot@chromium.org2013-10-14
| | | | | | | | | | | | | | Possibly the shortest-lived Skia feature, SkLumaXfermode is now replaced by a color filter implementation (SkLumaColorFilter). All known existing clients (Blink) have been converted. R=reed@google.com Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/26916002 git-svn-id: http://skia.googlecode.com/svn/trunk@11750 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement crop rect support for SkRectShaderImageFilter: remove fRect and ↵Gravatar senorblanco@chromium.org2013-10-10
| | | | | | | | | | use the cropRect from SkImageFilter in its place. R=reed@google.com Review URL: https://codereview.chromium.org/26009004 git-svn-id: http://skia.googlecode.com/svn/trunk@11720 2bbb7eff-a529-9590-31e7-b0007b416f81
* Align SkLumaColorFilter with the spec.Gravatar commit-bot@chromium.org2013-10-10
| | | | | | | | | | | | | | | | | | | | | | | | | The spec requires the resulting RGB channels for LuminanceToAlpha to be 0 (and not just scaled by the luminance value</facepalm>): | R' | | 0 0 0 0 0 | | R | | G' | | 0 0 0 0 0 | | G | | B' | = | 0 0 0 0 0 | * | B | | A' | | 0.2125 0.7154 0.0721 0 0 | | A | | 1 | | 0 0 0 0 1 | | 1 | (http://www.w3.org/TR/2011/REC-SVG11-20110816/filters.html#feColorMatrixElement) This doesn't affect luminance masking (which depends only on the resulting alpha channel), but other color filter users may care about all color components. R=bsalomon@google.com, reed@google.com, robertphillips@google.com Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/26467003 git-svn-id: http://skia.googlecode.com/svn/trunk@11713 2bbb7eff-a529-9590-31e7-b0007b416f81
* Change SkImageFilter's cropRect from SkIRect to a CropRect struct, ↵Gravatar senorblanco@chromium.org2013-10-10
| | | | | | | | | | | | | | containing an SkRect and flags indicating which parameters are set. NOTE: this will require SK_CROP_RECT_IS_INT=1 to be set in Chrome until Blink has been updated to use SkImageFilter::CropRect. Include https://codereview.chromium.org/26528002/ with the Skia roll. Note also that SK_CROP_RECT_IS_INT is a temporary measure until all call sites in Blink have been updated to use SkRect. R=reed@google.com Review URL: https://codereview.chromium.org/26371002 git-svn-id: http://skia.googlecode.com/svn/trunk@11692 2bbb7eff-a529-9590-31e7-b0007b416f81
* Luminance-to-alpha color filter (SkLumaColorFilter).Gravatar commit-bot@chromium.org2013-10-07
| | | | | | | | | | | | | Adding a color filter luma implementation. The plan is to convert existing clients and then deprecate SkLumaXfermode. R=bsalomon@google.com, reed@google.com, robertphillips@google.com Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/25453004 git-svn-id: http://skia.googlecode.com/svn/trunk@11636 2bbb7eff-a529-9590-31e7-b0007b416f81
* Added missing SK_APIGravatar sugoi@google.com2013-10-02
| | | | | | | | | BUG= R=senorblanco@chromium.org Review URL: https://codereview.chromium.org/25770002 git-svn-id: http://skia.googlecode.com/svn/trunk@11580 2bbb7eff-a529-9590-31e7-b0007b416f81
* Moving 4 SkImageFilter derived classes from blink to skiaGravatar commit-bot@chromium.org2013-09-26
| | | | | | | | | | | | | | | | | | | There were 4 classes in blink that derived from SkImageFilter : - TileImageFilter -> SkTileImageFilter - OffsetImageFilter -> SkOffsetImageFilter (already existed) - FloodImageFilter -> SkFloodImageFilter - CompositeImageFilter -> SkCompositeImageFilter All functions were copied as is, without modification (except for warnings fixes), except for the offset filter, which was merged into the existing SkOffsetImageFilter class, as a special case when a crop rect is provided. Since the names won't clash with the names in blink, it should be easy to integrate them in blink later and fix issues, if needed. BUG= R=senorblanco@google.com, senorblanco@chromium.org, bsalomon@google.com, reed@google.com, mtklein@google.com Author: sugoi@chromium.org Review URL: https://chromiumcodereview.appspot.com/24157005 git-svn-id: http://skia.googlecode.com/svn/trunk@11475 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement crop rect support for the merge image filter.Gravatar senorblanco@chromium.org2013-09-19
| | | | | | | | | | Note: this will require rebaselining of the imagefilterscropped and testimagefilters GMs. R=reed@google.com Review URL: https://codereview.chromium.org/23600047 git-svn-id: http://skia.googlecode.com/svn/trunk@11387 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement crop rect for the dilate and erode (morphology) filters. This ↵Gravatar senorblanco@chromium.org2013-09-17
| | | | | | | | | | | | provoked some cleanup on the GPU side: apply_morphology() now deals with SkBitmaps, rather than GrTextures. There's still a clear opportunity for more refactoring between the two filters. Note: this adds some test cases to the morphology GM, so it will require a rebaseline. R=bsalomon@google.com, reed@google.com Review URL: https://codereview.chromium.org/23892011 git-svn-id: http://skia.googlecode.com/svn/trunk@11313 2bbb7eff-a529-9590-31e7-b0007b416f81
* [External patch] Source-over support for SkLumaXfermode.Gravatar fmalita@google.com2013-09-17
| | | | | | | | | | | | | | | | | | | | | | This is a patch by Andrei Parvu <parvu@adobe.com> (Adobe CLA signer). Original CL/review: https://codereview.chromium.org/24078006/ GM:lumamode will need rebaselining after landing this. --- In order to use CSS luminance masking, we need to be able to create an instance of SkLumaXfermode which can receive a kSrcOver mode, and applies that mode after converting the source using the luminance-to-alpha coefficients. BUG=289420 R=reed@google.com Review URL: https://codereview.chromium.org/23710053 git-svn-id: http://skia.googlecode.com/svn/trunk@11312 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fixed issues found by fuzzerGravatar commit-bot@chromium.org2013-09-13
| | | | | | | | | | | | | | | Last week, the fuzzer found a few numerical issue with filters and I had written some fixes for them. Here are the fixes with some unit tests. For senorblanco : So I figured out what was asserting when we'd get a 0 width "result" in SkBicubicImageFilter::onFilterImage(). Basically, if the "result" SkBitmap object calls SkBitmap::setConfig() with "width" and/or "height" set to 0, then the SkBitmap object will call SkBitmap::reset(), making the SkBitmap object's config invalid. At this point, calling SkBitmap::getAddr32() will assert, even without attempting to dereference the data pointer, because the SkBitmap's config is invalid. If height is valid, but width is 0, then this call to SkBitmap::getAddr32() happens directly in SkBicubicImageFilter::onFilterImage() a few lines lower and asserts right away. BUG= R=senorblanco@google.com, senorblanco@chromium.org, bsalomon@google.com Author: sugoi@chromium.org Review URL: https://chromiumcodereview.appspot.com/23533042 git-svn-id: http://skia.googlecode.com/svn/trunk@11249 2bbb7eff-a529-9590-31e7-b0007b416f81
* alpha threshold bitmap shaderGravatar commit-bot@chromium.org2013-09-06
| | | | | | | | | | | | Committed: http://code.google.com/p/skia/source/detail?r=11122 R=reed@google.com Author: bsalomon@google.com Review URL: https://chromiumcodereview.appspot.com/23707019 git-svn-id: http://skia.googlecode.com/svn/trunk@11131 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "alpha threshold bitmap shader"Gravatar bsalomon@google.com2013-09-05
| | | | | | This reverts commit r11122. git-svn-id: http://skia.googlecode.com/svn/trunk@11123 2bbb7eff-a529-9590-31e7-b0007b416f81
* alpha threshold bitmap shaderGravatar commit-bot@chromium.org2013-09-05
| | | | | | | | | | R=reed@google.com Author: bsalomon@google.com Review URL: https://chromiumcodereview.appspot.com/23707019 git-svn-id: http://skia.googlecode.com/svn/trunk@11122 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2013-08-28
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@10968 2bbb7eff-a529-9590-31e7-b0007b416f81
* In image filters, apply the CTM and offset to the crop rect. This is ↵Gravatar senorblanco@chromium.org2013-08-27
| | | | | | | | | | | | | | necessary to compensate for both clipping applied by the compositor (communicated via the CTM) and for cropping applied in upstream image filters (communicated via the offset). This requires a few ugly conversions, since the crop rect is an SkIRect, and the ctm is an SkMatrix. I also had to offset the matrix passed to filter evaluation by drawSprite() and internalDrawBitmap() by the primitive position. This is the same offset that is applied when drawing the primitive, to compensate for the internal saveLayer(). Also apply the total matrix to the filter params in asNewEffect(), so that (for example) lighting params are offset by both the compositor clipping and upstream crop rects. R=reed@google.com Review URL: https://codereview.chromium.org/23295017 git-svn-id: http://skia.googlecode.com/svn/trunk@10961 2bbb7eff-a529-9590-31e7-b0007b416f81
* Blur refactoringGravatar robertphillips@google.com2013-08-27
| | | | | | | | https://codereview.chromium.org/21835004/ git-svn-id: http://skia.googlecode.com/svn/trunk@10936 2bbb7eff-a529-9590-31e7-b0007b416f81