aboutsummaryrefslogtreecommitdiffhomepage
path: root/include
Commit message (Collapse)AuthorAge
* Add required parens for r13779.Gravatar bungeman@google.com2014-03-12
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13781 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove SK_SUPPORT_LEGACY_COPYTO_CONFIGGravatar commit-bot@chromium.org2014-03-12
| | | | | | | | | | TBR=robertphillips@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/196413009 git-svn-id: http://skia.googlecode.com/svn/trunk@13780 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix (1 << 31) to (1u << 31) in SkOTTable_OS_2.Gravatar bungeman@google.com2014-03-12
| | | | | | | | | | | | When ints are 32 bits, (1 << 31) is undefined. R=reed@google.com Committed: https://code.google.com/p/skia/source/detail?r=13757 Review URL: https://codereview.chromium.org/189093020 git-svn-id: http://skia.googlecode.com/svn/trunk@13779 2bbb7eff-a529-9590-31e7-b0007b416f81
* De-virtualize SkCanvas save/restore.Gravatar commit-bot@chromium.org2014-03-12
| | | | | | | | | | | | | This moves the state management logic into non-virtual SkCanvas methods, and turns the virtuals into protected notifiers. R=reed@google.com, robertphillips@google.com Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/194713008 git-svn-id: http://skia.googlecode.com/svn/trunk@13776 2bbb7eff-a529-9590-31e7-b0007b416f81
* support direct writing to top layer, and hide getTopLayer()Gravatar reed@google.com2014-03-12
| | | | | | | | | | | | | | | | this should remove many of the chrome callers that today call accessBitmap on the toplayer, so they can read/write those pixels. The ultimate fix will be to support custom allocation of raster layers (via GDI/cairo/mac) so we can remove PlatformDevice subclassing in skia/ext BUG=skia: R=bsalomon@google.com, scroggo@google.com Review URL: https://codereview.chromium.org/197433002 git-svn-id: http://skia.googlecode.com/svn/trunk@13774 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add capture snapshot as data to SkWriter32, use it to optimise record->playback.Gravatar commit-bot@chromium.org2014-03-12
| | | | | | | | | | | | | | This is a new way of implementing https://codereview.chromium.org/155863005/ It uses copy on write semantics to return a buffer without copying it, so that record -> playback does not need to copy the buffer. BUG=skia:2125 R=tomhudson@google.com, mtklein@google.com, reed@google.com, iancottrell@chromium.org Author: iancottrell@google.com Review URL: https://codereview.chromium.org/167113003 git-svn-id: http://skia.googlecode.com/svn/trunk@13769 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert of Revert of Revert "De-virtualize SkCanvas save/restore." ↵Gravatar commit-bot@chromium.org2014-03-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/196323003/) Reason for revert: Pulling out to rename the virtuals. Original issue's description: > Revert of Revert "De-virtualize SkCanvas save/restore." (https://codereview.chromium.org/194923008/) > > Reason for revert: > Re-landing after roll fix. > > Original issue's description: > > Revert "De-virtualize SkCanvas save/restore." > > > > (To allow a roll fix into the tree). > > > > This reverts commit edf702204be42c945254191f9f9cd6585b3d189b. > > > > R=halcanary@google.com > > > > Committed: https://code.google.com/p/skia/source/detail?r=13748 > > TBR=halcanary@google.com,fmalita@chromium.org > NOTREECHECKS=true > NOTRY=true > > Committed: http://code.google.com/p/skia/source/detail?r=13754 R=halcanary@google.com, fmalita@chromium.org TBR=fmalita@chromium.org, halcanary@google.com NOTREECHECKS=true NOTRY=true Author: fmalita@google.com Review URL: https://codereview.chromium.org/197553002 git-svn-id: http://skia.googlecode.com/svn/trunk@13765 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fixing SkPicture serializationGravatar commit-bot@chromium.org2014-03-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed a few issues while attempting to use the new serialization path for SkPicture inside a fuzzer: - SkReadBuffer and SkValidatingReadBuffer both had a fReader member instead of sharing the same member, which leads to problems if a base class function is used - In SkPicture, a header is now written as a single chunk of data, so it also has to be read as a single chunk of data - In the SkPicturePlayback destructor, a bad deserialization would lead to a crash if we don't safely unref fOpData - Also in SkPicturePlayback, if we only use a ReadBuffer for the whole deserialization, additional tags must be added to parseBufferTag() - SkValidatingReadBuffer::readBitmap() was broken, but this path wasn't usen't since the only use case for SkValidatingReadBuffer is currently image filters and bitmaps are unflattened as part of the deserialization of SkBitmapSource - SkPictureImageFilter was not deserializable. Added it to SkGlobalInitialization* - Added a test that exercises the SkPicture serialization / deserialization code BUG=skia: R=senorblanco@google.com, senorblanco@chromium.org, reed@google.com, robertphillips@google.com Author: sugoi@chromium.org Review URL: https://codereview.chromium.org/195223003 git-svn-id: http://skia.googlecode.com/svn/trunk@13764 2bbb7eff-a529-9590-31e7-b0007b416f81
* [WIP] Add Context to SkDrawLooper.Gravatar commit-bot@chromium.org2014-03-12
| | | | | | | | | | | | | | | | SkDrawLooper carries some state during draws. This CL extracts this state into a separate class Context, which is then passed by the users of SkDrawLooper into the appropriate methods. This is a step towards making SkDrawLooper immutable. BUG=skia:2141 R=scroggo@google.com, reed@google.com, sugoi@google.com Author: dominikg@chromium.org Review URL: https://codereview.chromium.org/155513012 git-svn-id: http://skia.googlecode.com/svn/trunk@13760 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert 13757.Gravatar bungeman@google.com2014-03-12
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13758 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix (1 << 31) to (1u << 31) in SkOTTable_OS_2.Gravatar bungeman@google.com2014-03-12
| | | | | | | | | | When ints are 32 bits, (1 << 31) is undefined. R=reed@google.com Review URL: https://codereview.chromium.org/189093020 git-svn-id: http://skia.googlecode.com/svn/trunk@13757 2bbb7eff-a529-9590-31e7-b0007b416f81
* make onReadPixels protected and have default impl (so we can remove chrome ↵Gravatar commit-bot@chromium.org2014-03-12
| | | | | | | | | | | | | override) R=reed@google.com TBR=bsalomon@google.com Author: reed@chromium.org Review URL: https://codereview.chromium.org/196543004 git-svn-id: http://skia.googlecode.com/svn/trunk@13756 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert of Revert "De-virtualize SkCanvas save/restore." ↵Gravatar commit-bot@chromium.org2014-03-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/194923008/) Reason for revert: Re-landing after roll fix. Original issue's description: > Revert "De-virtualize SkCanvas save/restore." > > (To allow a roll fix into the tree). > > This reverts commit edf702204be42c945254191f9f9cd6585b3d189b. > > R=halcanary@google.com > > Committed: https://code.google.com/p/skia/source/detail?r=13748 R=halcanary@google.com, fmalita@chromium.org TBR=fmalita@chromium.org, halcanary@google.com NOTREECHECKS=true NOTRY=true Author: fmalita@google.com Review URL: https://codereview.chromium.org/196323003 git-svn-id: http://skia.googlecode.com/svn/trunk@13754 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "De-virtualize SkCanvas save/restore."Gravatar fmalita@google.com2014-03-11
| | | | | | | | | | | | (To allow a roll fix into the tree). This reverts commit edf702204be42c945254191f9f9cd6585b3d189b. R=halcanary@google.com Review URL: https://codereview.chromium.org/194923008 git-svn-id: http://skia.googlecode.com/svn/trunk@13748 2bbb7eff-a529-9590-31e7-b0007b416f81
* De-virtualize SkCanvas save/restore.Gravatar fmalita@google.com2014-03-11
| | | | | | | | | | | This moves the state management logic into non-virtual SkCanvas methods, and turns the virtuals into protected notifiers. R=robertphillips@google.com, reed@google.com Review URL: https://codereview.chromium.org/194713008 git-svn-id: http://skia.googlecode.com/svn/trunk@13747 2bbb7eff-a529-9590-31e7-b0007b416f81
* Drop executable flag from headers so that they can be packagedGravatar robertphillips@google.com2014-03-11
| | | | | | | | https://codereview.chromium.org/194883004/ git-svn-id: http://skia.googlecode.com/svn/trunk@13746 2bbb7eff-a529-9590-31e7-b0007b416f81
* Enable use of distance fields via SkPaint flag.Gravatar commit-bot@chromium.org2014-03-11
| | | | | | | | | | | | | Now that distance field generation is fast enough to make it practical, this makes distances field fonts easily available to anyone who wants to try them out (i.e Chromium). BUG=skia:2173 R=reed@google.com, bsalomon@google.com Author: jvanverth@google.com Review URL: https://codereview.chromium.org/193163003 git-svn-id: http://skia.googlecode.com/svn/trunk@13741 2bbb7eff-a529-9590-31e7-b0007b416f81
* plumbing for GPU fast blurGravatar commit-bot@chromium.org2014-03-10
| | | | | | | | | | | BUG=skia:2281 R=bsalomon@google.com Author: humper@google.com Review URL: https://codereview.chromium.org/193193002 git-svn-id: http://skia.googlecode.com/svn/trunk@13735 2bbb7eff-a529-9590-31e7-b0007b416f81
* flag to make kClipToLayer_SaveFlag the default behaviorGravatar reed@google.com2014-03-10
| | | | | | | | | | | | #define SK_SUPPORT_LEGACY_CLIPTOLAYERFLAG to get the old behavior The goal is to remove the feature of saveLayer that allows the canvas to draw outside of the top-most layer. R=robertphillips@google.com, scroggo@google.com Review URL: https://codereview.chromium.org/190723004 git-svn-id: http://skia.googlecode.com/svn/trunk@13730 2bbb7eff-a529-9590-31e7-b0007b416f81
* Factory methods for heap-allocated SkImageFilter objects.Gravatar commit-bot@chromium.org2014-03-10
| | | | | | | | | | | | | | | | | | This is part of an effort to ensure that all SkPaint effects can only be allocated on the heap. This patch makes the constructors of SkImageFilter and its subclasses non-public and instead provides factory methods for creating these objects on the heap. We temporarily keep constructor of publicly visible classes public behind a flag. BUG=skia:2187 R=scroggo@google.com, mtklein@chromium.org, reed@google.com, senorblanco@google.com, senorblanco@chromium.org, bsalomon@google.com, sugoi@chromium.org, zork@chromium.org Author: dominikg@chromium.org Review URL: https://codereview.chromium.org/182983003 git-svn-id: http://skia.googlecode.com/svn/trunk@13718 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add API for GrContext to recommend rendertarget sample countGravatar commit-bot@chromium.org2014-03-10
| | | | | | | | | | | | | | | | | | | | Add GrContext::getRecommendedSampleCount method that can be used to determine which GPU backend and what exact sample count is recommendeded for a particular render target at particular dpi. Make this initially recommend 4xMSAA for contexts which have NVPR enabled if dpi is 250 or more, 16 if dpi is less than 250 and no MSAA for others. BUG=chromium:347962 R=bsalomon@google.com Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/188403003 git-svn-id: http://skia.googlecode.com/svn/trunk@13717 2bbb7eff-a529-9590-31e7-b0007b416f81
* hide getTotalClip, so we can eventually remove it Gravatar commit-bot@chromium.org2014-03-08
| | | | | | | | | | | | | | hide getClipType, so we can eventually remove it patch from issue 189443007 TBR=robertphilips@google.com Author: reed@chromium.org Review URL: https://codereview.chromium.org/189883010 git-svn-id: http://skia.googlecode.com/svn/trunk@13715 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add SkCanvas::writePixels that takes info+pixels directlyGravatar commit-bot@chromium.org2014-03-07
| | | | | | | | | | | | | add corresponding methods to device (w/ diff name to avoid colliding with exising virtuals) BUG=skia: R=bsalomon@google.com, robertphillips@google.com, junov@google.com, junov@chromium.org Author: reed@google.com Review URL: https://codereview.chromium.org/180113010 git-svn-id: http://skia.googlecode.com/svn/trunk@13697 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add a class to allocate small objects w/o extra calls to new.Gravatar commit-bot@chromium.org2014-03-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add SkSmallAllocator, a template for allocating small (as defined by the instantiation) objects without extra calls to new. Add a helper macro to make using it simple. Remove SkTemplatesPriv.h, whose behavior is replaced by SkSmallAllocator. The old SK_PLACEMENT_NEW had the following drawbacks: - Easily confused with SkNEW_PLACEMENT. - Requires passing around lots of void*s along with the storageSize. - Requires using a separate class for deleting it. - We had multiple ways Auto objects for deleting in different places. - It always did a straight heap allocation on Windows, meaning Windows did not get any advantages from the confusing code. The new SkSmallAllocator simplifies things: - It is clear about what it does. - It takes care of the deletion in one place that is automatically handled. Further, the new class can be used to create more than one object. This is in preparation for BUG=skia:1976, for which we would like to create a new object without extra heap allocations. The plan is to create both the blitter and the new object on the stack using the SkSmallAllocator. Add a new test for SkSmallAllocator. SkShader.h: Move the private version of CreateBitmapShader to SkBitmapProcShader (which already has the implementation) and remove the friend class (which was only used to call this private function). This allows SkSmallAllocator to reside in the private src/ directory. SkBitmapProcShader: Move CreateBitmapShader and the macro for the storage size here. With the macro in a (private) header, the (private) headers with function declarations (which now depend on the storage size used) can see the macro. Use SkSmallAllocator in CreateBitmapShader. Change the macro to kBlitterStorageByteCount, since SkSmallAllocator takes a byte count as its template parameter. SkBlitter: Use the SkSmallAllocator. Remove Sk3DShader::fKillProc and SkAutoCallProc. Both of their behaviors have been moved into SkSmallAllocator (SkAutoCallProc was unnecessary anyway, because the only time we ever used it we also called detach(), so its auto behavior never happened). Create the Sk3DShader on the stack, if there's room. Remove the helper version of Choose, which was unused. SmallAllocatorTest: Test for the new class. The rest: Use SkSmallAllocator. BUG=skia:1976 R=reed@google.com, mtklein@google.com Author: scroggo@google.com Review URL: https://codereview.chromium.org/179343005 git-svn-id: http://skia.googlecode.com/svn/trunk@13696 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add size_t bytesWritten() const to SkWStream.Gravatar commit-bot@chromium.org2014-03-06
| | | | | | | | | | | BUG=skia: R=reed@google.com, mtklein@google.com, robertphillips@google.com, bungeman@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/187653003 git-svn-id: http://skia.googlecode.com/svn/trunk@13684 2bbb7eff-a529-9590-31e7-b0007b416f81
* Begin making SkPerlinNoiseShader const.Gravatar commit-bot@chromium.org2014-03-06
| | | | | | | | | | | | | | | | | | | | | The overall goal is to make SkShader itself immutable (BUG=skia:1976). The fields cannot yet be made constant, due to the constructor which takes an SkReadBuffer. Other than that constructor, the fields are now unchanged. Remove setTileSize and initPaint. Merge initPaint with the constructor of PaintingData, since it is only ever used on a new PaintingData. Merge setTileSize with the SkPerlinNoiseShader constructor, its only call site. BUG=skia:1976 R=reed@google.com, sugoi@google.com, dominikg@chromium.org, senorblanco@google.com, senorblanco@chromium.org Author: scroggo@google.com Review URL: https://codereview.chromium.org/169973002 git-svn-id: http://skia.googlecode.com/svn/trunk@13682 2bbb7eff-a529-9590-31e7-b0007b416f81
* Now that the matching changes have landed in Chromium we can clean up the ↵Gravatar commit-bot@chromium.org2014-03-06
| | | | | | | | | | | | API on our side. R=reed@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/187553003 git-svn-id: http://skia.googlecode.com/svn/trunk@13680 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-03-06
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13679 2bbb7eff-a529-9590-31e7-b0007b416f81
* Unify edge type enums across GrEffect subclasses that clip rendering to a ↵Gravatar commit-bot@chromium.org2014-03-05
| | | | | | | | | | | | | geometry. BUG=skia: R=egdaniel@google.com, robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/183893023 git-svn-id: http://skia.googlecode.com/svn/trunk@13674 2bbb7eff-a529-9590-31e7-b0007b416f81
* This CL is motivated by the desire to make the skpinfo tool work a bit ↵Gravatar commit-bot@chromium.org2014-03-05
| | | | | | | | | | | | better. The main concern is that the assumptions made w.r.t. written bytes may not be valid for all SkWStream sub-classes. R=bungeman@gmail.com, bungeman@google.com, reed@google.com, mtklein@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/182733008 git-svn-id: http://skia.googlecode.com/svn/trunk@13673 2bbb7eff-a529-9590-31e7-b0007b416f81
* DM: read image files without an extra copyGravatar commit-bot@chromium.org2014-03-05
| | | | | | | | | | | BUG=skia: R=halcanary@google.com, reed@google.com, bsalomon@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/185263012 git-svn-id: http://skia.googlecode.com/svn/trunk@13669 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-03-05
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13665 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove SK_SUPPORT_DEEPCOPYTO_CONFIG code -- no longer usedGravatar commit-bot@chromium.org2014-03-05
| | | | | | | | | | | R=reed@google.com TBR=bsalomon@google.com Author: reed@chromium.org Review URL: https://codereview.chromium.org/183763035 git-svn-id: http://skia.googlecode.com/svn/trunk@13664 2bbb7eff-a529-9590-31e7-b0007b416f81
* The motivation for this CL is to de-clutter SkPicture's beginRecording method.Gravatar commit-bot@chromium.org2014-03-04
| | | | | | | | | | R=reed@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/186813003 git-svn-id: http://skia.googlecode.com/svn/trunk@13658 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add GM that directly tests GrRRectEffect and add inverse fill version of effect.Gravatar commit-bot@chromium.org2014-03-04
| | | | | | | | | | | BUG=skia: R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/176843016 git-svn-id: http://skia.googlecode.com/svn/trunk@13653 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-03-04
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13651 2bbb7eff-a529-9590-31e7-b0007b416f81
* Cleanup patch to move all of SkImageFilterUtils into SkImageFilter.Gravatar senorblanco@chromium.org2014-03-03
| | | | | | | | | | | | | | This was a utility class that dates from before GPU code was allowed in core. Now that it is, there's no reason not to have this functionality in SkImageFilter. Covered by existing tests. R=reed@google.com Review URL: https://codereview.chromium.org/185973003 git-svn-id: http://skia.googlecode.com/svn/trunk@13646 2bbb7eff-a529-9590-31e7-b0007b416f81
* Generating the 1M skps frequently yields truncated skps. This tool is ↵Gravatar commit-bot@chromium.org2014-03-03
| | | | | | | | | | | | | | | | | | intended to help automate weeding these out. Please see skbug:1057 rmistry for tools, gyp mtklein for src\core & include\core BUG=skia:1057 R=rmistry@google.com, mtklein@google.com, reed@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/176863004 git-svn-id: http://skia.googlecode.com/svn/trunk@13643 2bbb7eff-a529-9590-31e7-b0007b416f81
* Adding code to calculate Underline Thickness from Font Metrics, this will be ↵Gravatar commit-bot@chromium.org2014-03-01
| | | | | | | | | | | | | useful when Skia is used with Blink/Chrome. Blink changes are uploaded with code change in patch https://codereview.chromium.org/147703002/ BUG=skia: R=reed@android.com, edisonn@google.com, reed@google.com, mtklein@google.com, mtklein@chromium.org, bungeman@google.com Author: h.joshi@samsung.com Review URL: https://codereview.chromium.org/152073003 git-svn-id: http://skia.googlecode.com/svn/trunk@13635 2bbb7eff-a529-9590-31e7-b0007b416f81
* DM: make GPU tasks multithreaded again. Big refactor.Gravatar commit-bot@chromium.org2014-02-28
| | | | | | | | | | | | | | | | | | | | | | The main meat of things is in SkThreadPool. We can now give SkThreadPool a type for each thread to create and destroy on its local stack. It's TLS without going through SkTLS. I've split the DM tasks into CpuTasks that run on threads with no TLS, and GpuTasks that run on threads with a thread local GrContextFactory. The old CpuTask and GpuTask have been renamed to CpuGMTask and GpuGMTask. Upshot: default run of out/Debug/dm goes from ~45 seconds to ~20 seconds. BUG=skia: R=bsalomon@google.com, mtklein@google.com, reed@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/179233005 git-svn-id: http://skia.googlecode.com/svn/trunk@13632 2bbb7eff-a529-9590-31e7-b0007b416f81
* Cleanup GrGLInterface after Chromium changesGravatar commit-bot@chromium.org2014-02-28
| | | | | | | | | | | | Depends on landing https://codereview.chromium.org/143263014 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/149533002 git-svn-id: http://skia.googlecode.com/svn/trunk@13630 2bbb7eff-a529-9590-31e7-b0007b416f81
* add new onClip* methods to SkCanvasGravatar robertphillips@google.com2014-02-28
| | | | | | | | https://codereview.chromium.org/183453002/ git-svn-id: http://skia.googlecode.com/svn/trunk@13627 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove SK_SUPPORT_LEGACY_LAYERDRAWLOOPER_PAINTFLAGS -- not neededGravatar reed@google.com2014-02-28
| | | | | | | | | BUG=skia: R=scroggo@google.com Review URL: https://codereview.chromium.org/180483004 git-svn-id: http://skia.googlecode.com/svn/trunk@13623 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert of r13620 (add new onClip* methods to SkCanvas - ↵Gravatar robertphillips@google.com2014-02-28
| | | | | | https://codereview.chromium.org/183453002/) due to broken Chrome Canary and failing tests. git-svn-id: http://skia.googlecode.com/svn/trunk@13622 2bbb7eff-a529-9590-31e7-b0007b416f81
* add new onClip* methods to SkCanvasGravatar robertphillips@google.com2014-02-28
| | | | | | | | https://codereview.chromium.org/183453002/ git-svn-id: http://skia.googlecode.com/svn/trunk@13620 2bbb7eff-a529-9590-31e7-b0007b416f81
* add SkCanvas::NewRaster factory -- a very common use-case in chromeGravatar commit-bot@chromium.org2014-02-27
| | | | | | | | | | | BUG=skia: R=scroggo@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/183533004 git-svn-id: http://skia.googlecode.com/svn/trunk@13617 2bbb7eff-a529-9590-31e7-b0007b416f81
* Culling APIGravatar commit-bot@chromium.org2014-02-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | *** SKP format breaking change *** Adding a couple of culling primitives: pushCull(SkRect) & popCull(). These are currently only plumbed for SKP playback quickreject. At record time, we perform a couple of optimizations to trim down the number of redundant culls: * collapse empty pushCull/popCull pairs * skip pushCull/popCull pairs nested within an identical cull rect Things still missing/to consider: * use an inlineable, simplified quickreject (Mike's old prototype) * debugger visualization for cull boxes * BBH integration: the initial prototype had some minimal BBH support, but since the optimizations required expensive rewinds and culling is expected to be a BBH alternative, it got dropped. R=bsalomon@google.com, reed@google.com, robertphillips@google.com, caryclark@google.com, tomhudson@google.com, iancottrell@google.com Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/138013009 git-svn-id: http://skia.googlecode.com/svn/trunk@13611 2bbb7eff-a529-9590-31e7-b0007b416f81
* Use SkTLazy to hold path in SkClipStack::ElementGravatar commit-bot@chromium.org2014-02-27
| | | | | | | | | | R=reed@google.com, robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/178583002 git-svn-id: http://skia.googlecode.com/svn/trunk@13610 2bbb7eff-a529-9590-31e7-b0007b416f81
* try to deprecate fFlagsMask from SkLayerDrawLooperGravatar reed@google.com2014-02-27
| | | | | | | | | | | | | | | We think we want to move around how flags/fields like linearText and strikeThru are specified. SkPaint has helpers for nearly all of these, but LayerInfo in the draw looper just exposes the raw bitfield. On survey of chrome/android, it appears that no one uses those, so it may be safe to just remove the feature entirely from the looper. R=bungeman@google.com, scroggo@google.com Review URL: https://codereview.chromium.org/181433009 git-svn-id: http://skia.googlecode.com/svn/trunk@13607 2bbb7eff-a529-9590-31e7-b0007b416f81
* Factory methods for heap-allocated SkAnnotation objects.Gravatar commit-bot@chromium.org2014-02-27
| | | | | | | | | | | | | | | | | This is part of an effort to ensure that all SkPaint effects can only be allocated on the heap. This patch makes the constructors of SkAnnotation non-public and instead provides factory methods for creating these objects on the heap. BUG=skia:2187 R=reed@google.com, mtklein@google.com, scroggo@google.com Author: dominikg@chromium.org Review URL: https://codereview.chromium.org/181703003 git-svn-id: http://skia.googlecode.com/svn/trunk@13605 2bbb7eff-a529-9590-31e7-b0007b416f81