aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/effects
Commit message (Collapse)AuthorAge
* fix leak of Light object (in this private instance, the caller is transferringGravatar reed@google.com2012-06-27
| | | | | | | ownership of the object, so the receive does not need to call ref). Review URL: https://codereview.appspot.com/6348045 git-svn-id: http://skia.googlecode.com/svn/trunk@4360 2bbb7eff-a529-9590-31e7-b0007b416f81
* Added Inst counting to SkFlattenable-derived classesGravatar robertphillips@google.com2012-06-27
| | | | | | | | http://codereview.appspot.com/6355043/ git-svn-id: http://skia.googlecode.com/svn/trunk@4359 2bbb7eff-a529-9590-31e7-b0007b416f81
* Cleanup flattening code to properly serialize lighting image filters.Gravatar djsollen@google.com2012-06-26
| | | | | | Review URL: https://codereview.appspot.com/6333070 git-svn-id: http://skia.googlecode.com/svn/trunk@4340 2bbb7eff-a529-9590-31e7-b0007b416f81
* Register some flattenable factories.Gravatar scroggo@google.com2012-06-25
| | | | | | | | | | | Now, SkComposeShaders, SkDiscreteMapper, SkCosineMapper, Line2DPathEffect, and SkTransparentShader can be flattened and unflattened. This makes more of our samples work when using a pipe. Review URL: https://codereview.appspot.com/6338064 git-svn-id: http://skia.googlecode.com/svn/trunk@4334 2bbb7eff-a529-9590-31e7-b0007b416f81
* Raster implementation of diffuse and specular lighting filters. Externally,Gravatar senorblanco@chromium.org2012-06-22
| | | | | | | | | | | | | the caller instantiates a light (distant, point or spot), and an SkDiffuseLightingFilter or SkSpecularLightingImageFilter with that light. A Sobel edge detection filter is applied to the alpha of the incoming bitmap, and the result is used as a height map for lighting calculations. Review URL: http://codereview.appspot.com/6302101/ git-svn-id: http://skia.googlecode.com/svn/trunk@4314 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move SkColorTable into its own header and reduce includes in SkFlattenable.hGravatar djsollen@google.com2012-06-12
| | | | | | Review URL: https://codereview.appspot.com/6299072 git-svn-id: http://skia.googlecode.com/svn/trunk@4236 2bbb7eff-a529-9590-31e7-b0007b416f81
* Register Two_Point_Conical_Gradient for flattening.Gravatar scroggo@google.com2012-06-11
| | | | | | | | | Without being registered, the twopointconical GM fails when using --pipe or --serialize, since this gradient will not be flattened/unflattened. Review URL: https://codereview.appspot.com/6294060 git-svn-id: http://skia.googlecode.com/svn/trunk@4226 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix typo: fA is dx^2 + dx^2 - dr^2, not dx^2 - dy^2 - dr^2Gravatar mike@reedtribe.org2012-06-09
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@4217 2bbb7eff-a529-9590-31e7-b0007b416f81
* extend asAGradient for Conical type (to be implemented by PDF and XPS)Gravatar reed@google.com2012-06-07
| | | | | | Review URL: https://codereview.appspot.com/6308051 git-svn-id: http://skia.googlecode.com/svn/trunk@4207 2bbb7eff-a529-9590-31e7-b0007b416f81
* optimize quad-root for conical gradientsGravatar reed@google.com2012-06-07
| | | | | | Review URL: https://codereview.appspot.com/6307052 git-svn-id: http://skia.googlecode.com/svn/trunk@4204 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add new gradient to support HTML Canvas2D two-point-radial-gradient. Ours isGravatar reed@google.com2012-06-06
| | | | | | | | | | | | called (for now at least) TwoPointConical, to distinguish it from the existing one (TwoPointRadial), and to reflect its odd behavior where it draws transparent outside the boundary of the "cone" between the two circles. This impl is unsupported by GPU and Printing at the moment, and Chrome does not yet invoke it. Review URL: https://codereview.appspot.com/6299051 git-svn-id: http://skia.googlecode.com/svn/trunk@4197 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix warnings on Mac in src/effectsGravatar caryclark@google.com2012-06-06
| | | | | | | | | | | | | | | | | | Fix these class of warnings: - unused functions - unused locals - sign mismatch - missing function prototypes - missing newline at end of file - 64 to 32 bit truncation The changes prefer to link in dead code in the debug build with 'if (false)' than to comment it out, but trivial cases are commented out or sometimes deleted if it appears to be a copy/paste error. Review URL: https://codereview.appspot.com/6299049 git-svn-id: http://skia.googlecode.com/svn/trunk@4181 2bbb7eff-a529-9590-31e7-b0007b416f81
* temporary avoid zero-divide (to avoid assert in fixedpoint build)Gravatar reed@google.com2012-06-05
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@4166 2bbb7eff-a529-9590-31e7-b0007b416f81
* temporary:Gravatar reed@google.com2012-06-05
| | | | | | | | | - suppress PDF for twopointradial GM until we fix its assert/failure (vandebo) - detect divide-by-zero and abort for now (reed) git-svn-id: http://skia.googlecode.com/svn/trunk@4165 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fixed flattening of SkStippleMaskFilterGravatar robertphillips@google.com2012-06-05
| | | | | | | | http://codereview.appspot.com/6279052/ git-svn-id: http://skia.googlecode.com/svn/trunk@4154 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove mutable apis on SkColorMatrixFilter, must use constructor.Gravatar reed@google.com2012-06-04
| | | | | | | | | | fix flattening to not write function-ptrs (no go for serialization), so we store the raw float values now. Slight change to GM/DRT images for GPU possible. Just rebaseline. Review URL: https://codereview.appspot.com/6273052 git-svn-id: http://skia.googlecode.com/svn/trunk@4143 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove public function-ptr based colorfilterGravatar reed@google.com2012-06-04
| | | | | | Review URL: https://codereview.appspot.com/6286046 git-svn-id: http://skia.googlecode.com/svn/trunk@4141 2bbb7eff-a529-9590-31e7-b0007b416f81
* Windows compiler complaint cleanupGravatar robertphillips@google.com2012-05-31
| | | | | | | | http://codereview.appspot.com/6262047/ git-svn-id: http://skia.googlecode.com/svn/trunk@4098 2bbb7eff-a529-9590-31e7-b0007b416f81
* Refactor dictionaries for use by entities other than just SkPictureGravatar djsollen@google.com2012-05-30
| | | | | | Review URL: https://codereview.appspot.com/6101043 git-svn-id: http://skia.googlecode.com/svn/trunk@4077 2bbb7eff-a529-9590-31e7-b0007b416f81
* special-case dashing a single line-segment. We can go much faster since weGravatar reed@google.com2012-05-29
| | | | | | | can apply the stroke as we go, eliminating the generic stroker. Review URL: https://codereview.appspot.com/6250070 git-svn-id: http://skia.googlecode.com/svn/trunk@4062 2bbb7eff-a529-9590-31e7-b0007b416f81
* Change patheffect to take a (new) StrokeRec object, which encapsulates the fillGravatar reed@google.com2012-05-25
| | | | | | | | | | | | | | | | | | | or stroke parameters for a path. Today, the patheffect only sees if the caller was going to stroke or fill, and if stroke, it just sees the width. With this change, the effect can see all of the related parameters (e.g. cap/join/miter). No other change is intended at this time. After this change, I hope to use this additional data to allow SkDashPathEffect to, at times, apply the stroke as part of its effect, which may be much more efficient than first dashing, and then reading that and stroking it. Most of these files changed just because of the new parameter to filterPath. The key changes are in SkPathEffect.[h,cpp], SkPaint.cpp and SkScalerContext.cpp Review URL: https://codereview.appspot.com/6250051 git-svn-id: http://skia.googlecode.com/svn/trunk@4048 2bbb7eff-a529-9590-31e7-b0007b416f81
* revert 4046 -- GM:pathfill failed on one bot, maybe uninitialized memory ↵Gravatar reed@google.com2012-05-24
| | | | | | somewhere? git-svn-id: http://skia.googlecode.com/svn/trunk@4047 2bbb7eff-a529-9590-31e7-b0007b416f81
* Change patheffect to take a (new) StrokeRec object, which encapsulates the fillGravatar reed@google.com2012-05-24
| | | | | | | | | | | | | | | | | | | or stroke parameters for a path. Today, the patheffect only sees if the caller was going to stroke or fill, and if stroke, it just sees the width. With this change, the effect can see all of the related parameters (e.g. cap/join/miter). No other change is intended at this time. After this change, I hope to use this additional data to allow SkDashPathEffect to, at times, apply the stroke as part of its effect, which may be much more efficient than first dashing, and then reading that and stroking it. Most of these files changed just because of the new parameter to filterPath. The key changes are in SkPathEffect.[h,cpp], SkPaint.cpp and SkScalerContext.cpp Review URL: https://codereview.appspot.com/6249050 git-svn-id: http://skia.googlecode.com/svn/trunk@4046 2bbb7eff-a529-9590-31e7-b0007b416f81
* Iter::next takes a bool (defaults to true for now) if we want to consume ↵Gravatar reed@google.com2012-05-16
| | | | | | | | | | degenerates. path-filling and stroking pass false, as they already are written to handle small segments (and it makes next() run 2x faster if you pass false). Review URL: https://codereview.appspot.com/6214049 git-svn-id: http://skia.googlecode.com/svn/trunk@3974 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix SK_RESTRICT warnings related to overrides on windowsGravatar reed@google.com2012-05-11
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@3913 2bbb7eff-a529-9590-31e7-b0007b416f81
* move SkStrokePathEffect into hiding for now, as its functionality is rethought.Gravatar reed@google.com2012-05-10
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@3890 2bbb7eff-a529-9590-31e7-b0007b416f81
* Clean up DashPathEffect modulo math from r3761Gravatar epoger@google.com2012-04-27
| | | | | | Review URL: https://codereview.appspot.com/6124048 git-svn-id: http://skia.googlecode.com/svn/trunk@3773 2bbb7eff-a529-9590-31e7-b0007b416f81
* check for numerical imprecision on phaseGravatar reed@google.com2012-04-24
| | | | | | | | fixes http://code.google.com/p/chromium/issues/detail?id=124652 git-svn-id: http://skia.googlecode.com/svn/trunk@3761 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix the Android build.Gravatar scroggo@google.com2012-04-20
| | | | | | | Use the correct macro for SkEmbossMaskFilter Review URL: https://codereview.appspot.com/6081045 git-svn-id: http://skia.googlecode.com/svn/trunk@3743 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fixes for drawing through an SkGPipe.Gravatar scroggo@google.com2012-04-20
| | | | | | | | | | | | | | | | | | | Implement SkGPipeCanvas::drawBitmap. Fix a bug where needOpBytes did not necessarily provide as many bytes as requested. Fix a bug where needOpBytes would wipe old data without calling notify. Register SkEmbossMaskFilter so it can be flattened. Override drawBitmapNine (currently unimplemented) so an SkGPipeCanvas does not call its base class' method (which would fail). Review URL: https://codereview.appspot.com/6071045 git-svn-id: http://skia.googlecode.com/svn/trunk@3741 2bbb7eff-a529-9590-31e7-b0007b416f81
* proper handling if SkMatrix::invert failes, addresses hack fix in rev. 3657Gravatar mike@reedtribe.org2012-04-14
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@3679 2bbb7eff-a529-9590-31e7-b0007b416f81
* add SK_WARN_UNUSED_RESULT warning to SkPathMeasure methods that might leaveGravatar reed@google.com2012-04-12
| | | | | | | | POD var-arguments uninitialized. git-svn-id: http://skia.googlecode.com/svn/trunk@3665 2bbb7eff-a529-9590-31e7-b0007b416f81
* always check the result of SkMatrix::invertGravatar reed@google.com2012-04-12
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@3657 2bbb7eff-a529-9590-31e7-b0007b416f81
* Decouple the SkFlattenable from SkReader32/SkWriter32.Gravatar djsollen@google.com2012-04-12
| | | | | | | | | | The current impl for SkFlattenable read/write buffers is that they extend from SkReader32 and SkWriter32, but that dependency must be abstract if we are to add any other serialization format. Review URL: https://codereview.appspot.com/5999045 git-svn-id: http://skia.googlecode.com/svn/trunk@3654 2bbb7eff-a529-9590-31e7-b0007b416f81
* Clean up more Visual Studio warnings, including apparent bug in Arithmetic mode.Gravatar tomhudson@google.com2012-04-10
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@3645 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix miscellaneous compiler warnings from Visual Studio 2010.Gravatar tomhudson@google.com2012-04-10
| | | | | | | | | Changes serialization path for MorphologyImageFilter, handling of Windows HRESULTS; otherwise just tweaks tests. git-svn-id: http://skia.googlecode.com/svn/trunk@3642 2bbb7eff-a529-9590-31e7-b0007b416f81
* Clamp dilate and erode radius to image width and height.Gravatar senorblanco@chromium.org2012-04-10
| | | | | | | | NOTE: This will require new baselines for the morphology GM. git-svn-id: http://skia.googlecode.com/svn/trunk@3641 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fixing the drawing of blurred shodows for hairline paths with software renderingGravatar junov@chromium.org2012-04-04
| | | | | | | | | BUG=http://code.google.com/p/chromium/issues/detail?id=121251 REVIEW=http://codereview.appspot.com/5981053/ git-svn-id: http://skia.googlecode.com/svn/trunk@3592 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove unused static functions from SampleApp and effectsGravatar djsollen@google.com2012-03-29
| | | | | | Review URL: https://codereview.appspot.com/5956050 git-svn-id: http://skia.googlecode.com/svn/trunk@3543 2bbb7eff-a529-9590-31e7-b0007b416f81
* Cleanup code related to SkFlattenable::flatten()Gravatar djsollen@google.com2012-03-29
| | | | | | | | | | | | | | | | | The following changes were made by this CL: 1. Make flatten() a protected method as callers should use SkFlattenableWriteBuffer to flatten an object 2. Make flatten a const method (including subclasses) 3. Mark subclass implementation of flatten with SK_OVERRIDE 4. Ensure overridden flatten impls call their parent 5. Remove no-op implementations of flatten from subclasses Additionally, if necessary the unflattening constructor was also moved to the protected section of the subclasses header if it was not already there. git-svn-id: http://skia.googlecode.com/svn/trunk@3540 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move SkColorMatrix to effects.Gravatar bungeman@google.com2012-03-28
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@3535 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix a bunch of Coverity defects - class members not initialized in the ↵Gravatar vandebo@chromium.org2012-03-28
| | | | | | | | | | constructor. CID=14533,14036,9275,9271,4156,4153,4151,1666,1665,1618,1617,1616,1615 Review URL: https://codereview.appspot.com/5940049 git-svn-id: http://skia.googlecode.com/svn/trunk@3532 2bbb7eff-a529-9590-31e7-b0007b416f81
* Create macro for registering classes for deserializationGravatar djsollen@google.com2012-03-26
| | | | | | Review URL: https://codereview.appspot.com/5909063 git-svn-id: http://skia.googlecode.com/svn/trunk@3494 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix android buildGravatar djsollen@google.com2012-03-23
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@3484 2bbb7eff-a529-9590-31e7-b0007b416f81
* Cleanup Macros arround static initializers for SkFlattenable.Gravatar djsollen@google.com2012-03-23
| | | | | | | This CL also removes an unused debugging function from the class Review URL: https://codereview.appspot.com/5890043 git-svn-id: http://skia.googlecode.com/svn/trunk@3483 2bbb7eff-a529-9590-31e7-b0007b416f81
* Upstream changes from Android repository.Gravatar djsollen@google.com2012-03-21
| | | | | | Review URL: https://codereview.appspot.com/5752055 git-svn-id: http://skia.googlecode.com/svn/trunk@3449 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move SkClampRange into src/effects, where it isn't being advertised asGravatar tomhudson@google.com2012-03-20
| | | | | | | | | | something for end-users. http://codereview.appspot.com/5864044/ git-svn-id: http://skia.googlecode.com/svn/trunk@3445 2bbb7eff-a529-9590-31e7-b0007b416f81
* Updating SkAvoidXferMode to use new 4byte interp function.Gravatar djsollen@google.com2012-03-12
| | | | | | Review URL: https://codereview.appspot.com/5795058 git-svn-id: http://skia.googlecode.com/svn/trunk@3363 2bbb7eff-a529-9590-31e7-b0007b416f81
* Erode and dilate image filter effects, CPU and GPU implementations.Gravatar senorblanco@chromium.org2012-03-02
| | | | | | | | Review URL: http://codereview.appspot.com/5656067/ git-svn-id: http://skia.googlecode.com/svn/trunk@3310 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix SkFixed build (I hope)Gravatar reed@google.com2012-02-15
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@3201 2bbb7eff-a529-9590-31e7-b0007b416f81