aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkCanvas.cpp
Commit message (Collapse)AuthorAge
...
* 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
* 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
* Renaming SkCanvas::fLayerCount to fSaveLayerCount for readabilityGravatar junov@chromium.org2012-04-05
| | | | | | | | REVIEW=http://codereview.appspot.com/5992047/ git-svn-id: http://skia.googlecode.com/svn/trunk@3619 2bbb7eff-a529-9590-31e7-b0007b416f81
* handle null-device correctly in setDeviceGravatar reed@google.com2012-03-28
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@3518 2bbb7eff-a529-9590-31e7-b0007b416f81
* apply imagefilter to all draw callsGravatar reed@google.com2012-03-23
| | | | | | Review URL: https://codereview.appspot.com/5856048 git-svn-id: http://skia.googlecode.com/svn/trunk@3476 2bbb7eff-a529-9590-31e7-b0007b416f81
* add optional updateMatrixClip param to getTopDevice(). Chrome should set thisGravatar reed@google.com2012-03-19
| | | | | | | | | only when it is needed, and in doing so it can stop using the layeriter just to get its top device. git-svn-id: http://skia.googlecode.com/svn/trunk@3432 2bbb7eff-a529-9590-31e7-b0007b416f81
* reapply r3259 (that was reverted) with fix.Gravatar djsollen@google.com2012-02-27
| | | | | | | The SkASSERT was incorrect and failing on debug runs. Review URL: https://codereview.appspot.com/5699071 git-svn-id: http://skia.googlecode.com/svn/trunk@3263 2bbb7eff-a529-9590-31e7-b0007b416f81
* Modify SkDeferredCanvas so that it uses its inherited SkCanvas to track ↵Gravatar junov@chromium.org2012-02-24
| | | | | | | | | | | | | | matrix and clipping state Removed 'virtual' from a few canvas methods that no longer need it thanks to this change. BUG=http://code.google.com/p/skia/issues/detail?id=506 TEST=Canvas unit test REVIEW=http://codereview.appspot.com/5697052/ git-svn-id: http://skia.googlecode.com/svn/trunk@3261 2bbb7eff-a529-9590-31e7-b0007b416f81
* reverting r3259 because of gm/test failure.Gravatar djsollen@google.com2012-02-24
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@3260 2bbb7eff-a529-9590-31e7-b0007b416f81
* Enable quickRejectY in SkCanvas to be inlined.Gravatar djsollen@google.com2012-02-24
| | | | | | | | | This CL was tested against the picturePlayback bench and showed an approx 10-13% improvement on Android when playing back text. Review URL: https://codereview.appspot.com/5687083 git-svn-id: http://skia.googlecode.com/svn/trunk@3259 2bbb7eff-a529-9590-31e7-b0007b416f81
* reverting r3257 because of gm failure.Gravatar junov@chromium.org2012-02-24
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@3258 2bbb7eff-a529-9590-31e7-b0007b416f81
* Modify SkDeferredCanvas so that it uses its inherited SkCanvas to track ↵Gravatar junov@chromium.org2012-02-24
| | | | | | | | | | | | | | matrix and clipping state Removed 'virtual' from a few canvas methods that no longer need it thanks to this change. BUG=http://code.google.com/p/skia/issues/detail?id=506 TEST=Canvas unit test REVIEW=http://codereview.appspot.com/5697052/ git-svn-id: http://skia.googlecode.com/svn/trunk@3256 2bbb7eff-a529-9590-31e7-b0007b416f81
* check for null-device in iteratorGravatar reed@google.com2012-02-24
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@3251 2bbb7eff-a529-9590-31e7-b0007b416f81
* Merge changes from the android repo upstream to SkiaGravatar djsollen@google.com2012-02-15
| | | | | | Review URL: https://codereview.appspot.com/5545070 git-svn-id: http://skia.googlecode.com/svn/trunk@3199 2bbb7eff-a529-9590-31e7-b0007b416f81
* add bandage to pin out-of-range values when converting our integral clip ↵Gravatar reed@google.com2012-01-30
| | | | | | | | | | | bounds to a SkRect (when SkScalar==fixed). Eliminates a (valid) assert, but does not really return the "correct" value (which can't be represented in SkRect). git-svn-id: http://skia.googlecode.com/svn/trunk@3105 2bbb7eff-a529-9590-31e7-b0007b416f81
* extend fastbounds impls to include maskfilters and drawloopers. This allowsGravatar reed@google.com2012-01-30
| | | | | | | | | | us to perform quick-rejects when drawing objects with shadows (esp. text). WebKit draws shadows w/ a looper (fg and shadow) and a maskfilter on the shadow layer. git-svn-id: http://skia.googlecode.com/svn/trunk@3103 2bbb7eff-a529-9590-31e7-b0007b416f81
* Adding a flush method to SkCanvasGravatar junov@chromium.org2012-01-30
| | | | | | | | | | BUG=http://code.google.com/p/skia/issues/detail?id=467 REVIEW=http://codereview.appspot.com/5600044/ TEST=gm uses the new code path on all its test cases git-svn-id: http://skia.googlecode.com/svn/trunk@3102 2bbb7eff-a529-9590-31e7-b0007b416f81
* Formatting cleanup: remove extra whitespaceGravatar vandebo@chromium.org2012-01-28
| | | | | | | | Change by arthurhsu@chromium.org, original CL: http://codereview.appspot.com/5587049/ Review URL: https://codereview.appspot.com/5594043 git-svn-id: http://skia.googlecode.com/svn/trunk@3098 2bbb7eff-a529-9590-31e7-b0007b416f81
* Adding class SkDeferredCanvas for deferred rendering.Gravatar junov@google.com2012-01-18
| | | | | | | | | TEST=added a new pass to gm, so all gm tests are run through SkDeferredCanvas REVIEW=http://codereview.appspot.com/5430058/ git-svn-id: http://skia.googlecode.com/svn/trunk@3059 2bbb7eff-a529-9590-31e7-b0007b416f81
* add allowImageFilter() so a device can allow/disallow filtersGravatar reed@google.com2012-01-06
| | | | | | | | (esp. for printing) git-svn-id: http://skia.googlecode.com/svn/trunk@2981 2bbb7eff-a529-9590-31e7-b0007b416f81
* add filterImage() entry-point to SkDevice, to allow it to specialize on ↵Gravatar reed@google.com2012-01-05
| | | | | | | | | | subclasses of SkImageFilter. If that returns false, then the filter itself is invoked. git-svn-id: http://skia.googlecode.com/svn/trunk@2977 2bbb7eff-a529-9590-31e7-b0007b416f81
* add canvas::isDrawingToLayer(), as a fast query for chrome; faster thanGravatar reed@google.com2011-12-14
| | | | | | | | setting up a drawiter and counting the layers. git-svn-id: http://skia.googlecode.com/svn/trunk@2875 2bbb7eff-a529-9590-31e7-b0007b416f81
* rename hasValidCoordinates to isFinite (on SkRect) and reimplement for speedGravatar reed@google.com2011-12-06
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@2811 2bbb7eff-a529-9590-31e7-b0007b416f81
* call getSaveCount inside restoreToCount, in case it goes virtual...Gravatar reed@google.com2011-11-28
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@2752 2bbb7eff-a529-9590-31e7-b0007b416f81
* don't quickReject bitmaps if there is a looper or other possible bounds-modifierGravatar reed@google.com2011-11-21
| | | | | | | | add unittest for the above change git-svn-id: http://skia.googlecode.com/svn/trunk@2722 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add config8888 support to writePixelsGravatar bsalomon@google.com2011-11-10
| | | | | | | | Review URL: http://codereview.appspot.com/5374052/ git-svn-id: http://skia.googlecode.com/svn/trunk@2662 2bbb7eff-a529-9590-31e7-b0007b416f81
* handle NaN values in clipPathGravatar reed@google.com2011-11-08
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@2632 2bbb7eff-a529-9590-31e7-b0007b416f81
* Update files to use SK_BUILD_FOR_ANDROID.Gravatar djsollen@google.com2011-11-08
| | | | | | | | This CL also removes any unecessary references to the ANDROID definition. Review URL: http://codereview.appspot.com/5354049 git-svn-id: http://skia.googlecode.com/svn/trunk@2629 2bbb7eff-a529-9590-31e7-b0007b416f81
* Override 32BPP format in SkCanvas::readPixelsGravatar bsalomon@google.com2011-11-03
| | | | | | | | Review URL: http://codereview.appspot.com/5330073/ git-svn-id: http://skia.googlecode.com/svn/trunk@2600 2bbb7eff-a529-9590-31e7-b0007b416f81
* Line-endings only change (some windows line-endings snuck in)Gravatar bsalomon@google.com2011-11-02
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@2588 2bbb7eff-a529-9590-31e7-b0007b416f81
* Recommit r2584 with gpu pass of the new ReadPixels test disabled in fixed pt ↵Gravatar bsalomon@google.com2011-11-02
| | | | | | (gpu code doesn't work in general in fixed pt). git-svn-id: http://skia.googlecode.com/svn/trunk@2586 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert r2584 (new test fails in fixed pt builds)Gravatar bsalomon@google.com2011-11-02
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@2585 2bbb7eff-a529-9590-31e7-b0007b416f81
* Changes the SkCanvas::readPixels API. Allows caller to read into prealloced ↵Gravatar bsalomon@google.com2011-11-02
| | | | | | | | | | bitmap pixels. Changes how clipping to device bounds is handled. Review URL: http://codereview.appspot.com/5307077/ git-svn-id: http://skia.googlecode.com/svn/trunk@2584 2bbb7eff-a529-9590-31e7-b0007b416f81
* add getDeviceSize() so callers won't need to call getDevice() so muchGravatar reed@google.com2011-11-01
| | | | | | | | ... we hope to make devices private in the future git-svn-id: http://skia.googlecode.com/svn/trunk@2577 2bbb7eff-a529-9590-31e7-b0007b416f81
* enable soft clipping (yikes)Gravatar reed@google.com2011-10-24
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@2515 2bbb7eff-a529-9590-31e7-b0007b416f81
* use SkRasterClip inside canvas (check-point for soft clipping)Gravatar reed@google.com2011-10-12
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@2462 2bbb7eff-a529-9590-31e7-b0007b416f81
* add bool arg to clipRect and clipPathGravatar reed@google.com2011-10-12
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@2460 2bbb7eff-a529-9590-31e7-b0007b416f81
* add getTotalClipBounds() as a partial replacement for getTotalClip. This can beGravatar reed@google.com2011-10-10
| | | | | | | | | faster than getTotalClip, since it doesn't need to compute the actual complex region for the answer. git-svn-id: http://skia.googlecode.com/svn/trunk@2452 2bbb7eff-a529-9590-31e7-b0007b416f81
* move call to nothingToDraw into our iterator, so it sees the results of ↵Gravatar reed@google.com2011-10-06
| | | | | | | | | | filters and loopers before making its decision. git-svn-id: http://skia.googlecode.com/svn/trunk@2417 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fixup rendering of empty paths (including inverted fills)Gravatar bsalomon@google.com2011-10-05
| | | | | | | | | | Add GM and Sample that draw empty paths with various styles and fills Review URL: http://codereview.appspot.com/5185047/ git-svn-id: http://skia.googlecode.com/svn/trunk@2414 2bbb7eff-a529-9590-31e7-b0007b416f81
* disable CHECK_NOTHING_TO_DRAW for now, since it doesn't play well with ↵Gravatar reed@google.com2011-10-04
| | | | | | DrawLooper git-svn-id: http://skia.googlecode.com/svn/trunk@2405 2bbb7eff-a529-9590-31e7-b0007b416f81
* quick-rejects based on xfermode, using SkPaint::nothingToDraw()Gravatar reed@google.com2011-10-04
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@2402 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add SkCanvas::getClipDescription() and getClipDeviceBounds() so clients don'tGravatar tomhudson@google.com2011-09-13
| | | | | | | | | need to explicitly get the exact clip & compute those values themselves. (We may be able to provide description/bounds more cheaply than the exact clip.) git-svn-id: http://skia.googlecode.com/svn/trunk@2255 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert r2250 - removal of setMatrixClip() - because Chrome makes heavy useGravatar tomhudson@google.com2011-09-13
| | | | | | | | of those functions in a way we're not yet ready to clean up. git-svn-id: http://skia.googlecode.com/svn/trunk@2254 2bbb7eff-a529-9590-31e7-b0007b416f81
* Replaces SkDevice::setMatrixClip() with markMatrixDirty() and markClipDirty(),Gravatar tomhudson@google.com2011-09-12
| | | | | | | | | | | which require no arguments and so may be called without requiring the matrix and clip to be completely evaluated. De-inlines virtual functions in SkDevice interface. git-svn-id: http://skia.googlecode.com/svn/trunk@2250 2bbb7eff-a529-9590-31e7-b0007b416f81
* add impl for drawBitmapNineGravatar reed@google.com2011-09-07
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@2234 2bbb7eff-a529-9590-31e7-b0007b416f81
* rolling back the experimental rollbacks in r2178-2179Gravatar epoger@google.com2011-08-26
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@2180 2bbb7eff-a529-9590-31e7-b0007b416f81
* rolling tree back to its state as of r2169 to see if that fixes Windows ↵Gravatar epoger@google.com2011-08-26
| | | | | | buildbots git-svn-id: http://skia.googlecode.com/svn/trunk@2179 2bbb7eff-a529-9590-31e7-b0007b416f81
* Don't intersect clipstack with root device boundsGravatar bsalomon@google.com2011-08-25
| | | | | | | | Review URL: Don't intersect clipstack with root device bounds git-svn-id: http://skia.googlecode.com/svn/trunk@2175 2bbb7eff-a529-9590-31e7-b0007b416f81
* Gpu can draw underlined text.Gravatar bungeman@google.com2011-08-22
| | | | | | | http://codereview.appspot.com/4919047/ git-svn-id: http://skia.googlecode.com/svn/trunk@2154 2bbb7eff-a529-9590-31e7-b0007b416f81