benjaminwagner
1c2729c8bb
Add SK_SUPPORT_LEGACY_DRAWFILTER guard around calls to SkCanvas::(get|set)DrawFilter.
...
Fixes Google3 dm build. (Can't enable SK_INTERNAL for Google3 dm without enabling it for all dependents.)
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1626543002
Review URL: https://codereview.chromium.org/1626543002
2016-01-22 09:45:14 -08:00
fmalita
32cdc32522
SkTCopyOnFirstWrite-based SkPaintFilterCanvas API
...
I find this version preferable because
1) it consolidates the in/out paint args without compromising
efficiency or flexibility
2) relieves overriders from having to set the SkTLazy explicitly
BUG=skia:4782
R=mtklein@google.com ,reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1576183002
Review URL: https://codereview.chromium.org/1576183002
2016-01-12 07:21:11 -08:00
fmalita
bad23dc9ed
SkPaintFilterCanvas skip-draw support
...
At the time SkPaintFilterCanvas was introduced as a SkDrawFilter replacement,
no clients were relying on the draw veto logic. Now Chromium does.
To facilitate migrating off SkDrawFilter, let's augment SkPaintFilterCanvas
with skip-draw semantics.
A side effect of the CL is that now we call the filter virtual even for null
paints.
BUG=skia:4782
R=reed@google.com ,robertphillips@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1577933002
Review URL: https://codereview.chromium.org/1577933002
2016-01-11 13:58:30 -08:00
scroggo
565901db95
Switch SkAutoMalloc to SkAutoTMalloc to avoid cast
...
Make SkAutoTMalloc's interface look more like SkAutoMalloc:
- add free(), which does what you expect
- make reset() return a pointer fPtr
No public API changes (SkAutoTMalloc is in include/private)
BUG=skia:2148
Review URL: https://codereview.chromium.org/1516833003
2015-12-10 10:44:13 -08:00
halcanary
96fcdcc219
Style Change: NULL->nullptr
...
DOCS_PREVIEW= https://skia.org/?cl=1316233002
Review URL: https://codereview.chromium.org/1316233002
2015-08-27 07:41:16 -07:00
halcanary
385fe4d4b6
Style Change: SkNEW->new; SkDELETE->delete
...
DOCS_PREVIEW= https://skia.org/?cl=1316123003
Review URL: https://codereview.chromium.org/1316123003
2015-08-26 13:07:49 -07:00
reed
451af5062e
remove SkDeferredCanvas
...
Waiting a day or so to see if the blink-removal of SkDeferredCanvas sticks
BUG=skia:
Review URL: https://codereview.chromium.org/1269093002
2015-08-19 08:18:04 -07:00
fmalita
f433bb2beb
SkPaintFilterCanvas should inherit the target canvas state
...
Currently, SkPaintFilterCanvas does not provide any help in cloning
target canvas state. While that could be handled in subclasses, it is
easy to miss (see linked bug).
This CL adds a new constructor variant which ensures that the initial
matrix and clip bounds are inherited from the target canvas.
BUG=516790
R=reed@google.com ,robertphillips@google.com
Review URL: https://codereview.chromium.org/1294013002
2015-08-17 08:05:13 -07:00
halcanary
2ccdb636e8
SkPDF: clean up overuse of SK_SUPPORT_PDF
...
When possible use run-time checks (via SkDocument::CreatePDF)
When PDF is disabled, do not compile tests/PDF*.cpp
Review URL: https://codereview.chromium.org/1278403006
2015-08-11 13:35:12 -07:00
halcanary
8ee06f21a2
SkPDF: allow PDF module to be disabled in DM and SampleApp
...
To disable PDF:
GYP_DEFINES='skia_pdf=0' bin/sync-and-gyp
ninja -C out/Debug dm SampleApp
When disabled, SkDocument::CreatePDF() always returns NULL.
Review URL: https://codereview.chromium.org/1279123007
2015-08-11 10:30:12 -07:00
fmalita
109a23d64f
Remove the SkCanvas comment API
...
No longer used in Chromium/Blink.
R=reed@google.com ,robertphillips@google.com,mtklein@google.com
Review URL: https://codereview.chromium.org/1153593003
2015-06-15 13:15:31 -07:00
tfarina
567ff2f614
Cleanup: Remove unnecessary double-semicolons.
...
The entries were found by the following command line:
$ find . -regex ".*\.[cChH]\(pp\)?" | xargs git grep -e ';;' --and --not
-e 'for *(.*;;'
Which is a combination of http://stackoverflow.com/a/3858879 and
http://gitster.livejournal.com/27674.html
BUG=None
R=mtklein@google.com
Review URL: https://codereview.chromium.org/1088763005
2015-04-27 07:01:45 -07:00
reed
687fa1c745
restore clipstack to heap-ptr, so clients can ref it
...
BUG=skia:
Review URL: https://codereview.chromium.org/1068883004
2015-04-07 08:00:56 -07:00
mtklein
36352bf5e3
C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla}
...
NOPRESUBMIT=true
BUG=skia:
DOCS_PREVIEW= https://skia.org/?cl=1037793002
Review URL: https://codereview.chromium.org/1037793002
2015-03-25 18:17:32 -07:00
reed
c1b11f1db6
Handle paths that do not report empty, but have no edges.
...
patch from issue 999963005 at patchset 1 (http://crrev.com/999963005#ps1 )
BUG=skia:3527
Review URL: https://codereview.chromium.org/1008883002
2015-03-13 08:48:27 -07:00
halcanary
3d32d50364
PDF: Switch some unit tests to higher level API.
...
Also, clean up some headers.
Review URL: https://codereview.chromium.org/968683002
2015-03-01 06:55:20 -08:00
halcanary
a1f1ee98a1
PDF : New factory function for SkPDFDevice
...
SkPDFDevice now has factory function that matches what callers need.
Review URL: https://codereview.chromium.org/941023005
2015-02-20 06:17:26 -08:00
scroggo
648238cc90
Remove SkProxyCanvas.
...
SkProxyCanvas is redundant with SkNWayCanvas, and means another class
we have to keep in sync with the SkCanvas interface.
Remove tests which use an SkProxyCanvas.
Requires a change to chromium.
BUG=skia:3279
BUG=skia:500
Review URL: https://codereview.chromium.org/886813002
2015-01-29 11:58:51 -08:00
mtklein
72c9faab45
Fix up all the easy virtual ... SK_OVERRIDE cases.
...
This fixes every case where virtual and SK_OVERRIDE were on the same line,
which should be the bulk of cases. We'll have to manually clean up the rest
over time unless I level up in regexes.
for f in (find . -type f); perl -p -i -e 's/virtual (.*)SK_OVERRIDE/\1SK_OVERRIDE/g' $f; end
BUG=skia:
Review URL: https://codereview.chromium.org/806653007
2015-01-09 10:06:40 -08:00
junov
3fcc125c77
Remove SkCanvas::isDrawingToLayer
...
BUG=3245
Review URL: https://codereview.chromium.org/803913005
2014-12-15 11:34:06 -08:00
reed
3054be16df
Remove canvas::NewRaster, and rename surface::NewRasterPMColor to N32Premul
...
patch from issue 781403002 at patchset 20001 (http://crrev.com/781403002#ps20001 )
BUG=skia:
TBR=
re-landing after chrome fixes have landed
Review URL: https://codereview.chromium.org/784223007
2014-12-10 07:24:28 -08:00
reed
a8918a0650
Revert of remove (dumb) canvas::NewRaster, and rename surface::NewRasterPMColor to N32Premul (patchset #3 id:40001 of https://codereview.chromium.org/790733003/ )
...
Reason for revert:
need to update chrome first
Original issue's description:
> remove (dumb) canvas::NewRaster, and rename surface::NewRasterPMColor to N32Premul
>
> patch from issue 781403002 at patchset 20001 (http://crrev.com/781403002#ps20001 )
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/2c1605a1fbaa2e35a27399a34254fb1200ec2ae6
TBR=fmalita@google.com ,fmalita@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/791763002
2014-12-09 13:55:20 -08:00
reed
2c1605a1fb
remove (dumb) canvas::NewRaster, and rename surface::NewRasterPMColor to N32Premul
...
patch from issue 781403002 at patchset 20001 (http://crrev.com/781403002#ps20001 )
BUG=skia:
Review URL: https://codereview.chromium.org/790733003
2014-12-09 12:33:38 -08:00
reed
f0090cb80a
add basic tests for save/restore counting
...
BUG=skia:
Review URL: https://codereview.chromium.org/763503003
2014-11-26 08:55:51 -08:00
fmalita
8ebaa71712
Revert of SkCanvas::clear() should call down to devices even when the clip is empty. (patchset #1 id:1 of https://codereview.chromium.org/735233003/ )
...
Reason for revert:
Chrome unit_tests failures on Mac & Win, blocking the roll: http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/5613
Original issue's description:
> SkCanvas::clear() should call down to devices even when the clip is empty.
>
> SkDrawIter had a lovely, completely unused, option for this. Oversight?
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/378e70d8e561b72a904286ea231946f5c8345b9a
TBR=reed@google.com ,mtklein@google.com,mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/748733002
2014-11-20 20:44:04 -08:00
mtklein
378e70d8e5
SkCanvas::clear() should call down to devices even when the clip is empty.
...
SkDrawIter had a lovely, completely unused, option for this. Oversight?
BUG=skia:
Review URL: https://codereview.chromium.org/735233003
2014-11-20 08:58:02 -08:00
piotaixr
5ae89d1fa8
Removing dead code from CanvasTest
...
BUG=skia:3054
Review URL: https://codereview.chromium.org/681083002
2014-10-28 11:13:59 -07:00
piotaixr
76993edbe5
Reenable assertions that were reported failing in tests/CanvasTest.cpp
...
BUG=skia:498,skia:499
Review URL: https://codereview.chromium.org/670403002
2014-10-27 15:31:34 -07:00
piotaixr
ec6e670669
Removed simple tests steps from CanvasTest.
...
CanvasTest only checks if the state of the different canvas
implementations are consistent with the one of the default
implementation.
Because most of the draw calls are stateless and already tested in GMs
the test steps that exercices them are not useful.
BUG=skia:3054
Review URL: https://codereview.chromium.org/672273002
2014-10-23 10:59:07 -07:00
piotaixr
f05f5a7399
Remove globals from tests/CanvasTest.cpp
...
BUG=skia:
Review URL: https://codereview.chromium.org/617093004
2014-10-03 13:26:55 -07:00
mtklein
8e12656096
Remove DEPRECATED_beginRecording().
...
This removes:
1) ability to record old pictures with SkPictureRecorder;
2) a couple tests specific to the old backend.
The functionality of DEPRECATED_beginRecording() now lives in
(private) SkPicture::Backport(), which is the only place we
need it now.
BUG=skia:
TBR=reed@google.com
Review URL: https://codereview.chromium.org/618303002
2014-10-01 09:29:35 -07:00
reed
e5ea500d47
Hide fields in SkImageInfo
...
R=rmistry@google.com
TBR=bsalomon
Author: reed@google.com
Review URL: https://codereview.chromium.org/536003002
2014-09-03 11:54:58 -07:00
robertphillips
a8d7f0b13c
Try out scalar picture sizes
...
This paves the way for removing the 'fTile' parameter from SkPictureShader (although that should be a different CL). If we like this we could also move to providing an entire cull SkRect.
R=reed@google.com , mtklein@google.com , fmalita@google.com , fmalita@chromium.org
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/513983002
2014-08-29 08:03:56 -07:00
mtklein
c92e550d36
Install a hook to swap between SkPicture backends with a single define.
...
BUG=skia:
R=robertphillips@google.com , reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/492023002
2014-08-21 13:07:27 -07:00
Florin Malita
5f6102d079
SaveFlags be-gone
...
Remove the deprecated save(SaveFlags), willSave(SaveFlags) and all
traces of kMatrix_SaveFlags/kClip_SaveFlag.
BUG=skia:2297
R=mtklein@google.com , reed@google.com , robertphillips@google.com
Review URL: https://codereview.chromium.org/340403003
2014-06-30 10:13:28 -04:00
reed
2a8ca93171
don't create explicit bitmapdevice when not needed
...
TBR=
Author: reed@google.com
Review URL: https://codereview.chromium.org/349213006
2014-06-26 22:12:09 -07:00
robertphillips
0bdbea75ff
Remove picture pre-allocation from SkPictureRecorder
...
This CL improves the separation of the SkPicture and SkPictureRecord classes. It delays creation of the SkPicture (in SkPictureRecorder) until recording is actually completed. To accomplish this the SkRecord-derived classes now get SkPathHeap and SkPictureContentInfo members that are absorbed by the SkPicture when it is constructed.
As an ancillary change, this CL also moves the SkPictureContentInfo object from SkPicture to SkPicturePlayback. This is intended to centralize all the data in the SkPicturePlayback object.
R=mtklein@google.com , reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/324293004
2014-06-11 11:37:55 -07:00
robertphillips
9b14f26d0f
Alter SkCanvas::drawPicture (devirtualize, take const SkPicture, take pointer)
...
R=reed@google.com , bsalomon@google.com , mtklein@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/313613004
2014-06-04 05:40:44 -07:00
reed
868074b50b
remove SkBounder -- unused and unloved
...
BUG=skia:
R=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/312553006
2014-06-03 10:54:00 -07:00
commit-bot@chromium.org
a3264e53ee
Revert "Revert of setConfig -> setInfo ( https://codereview.chromium.org/308683005/ )"
...
This reverts commit eecaea4148805834f223681f70b6488ceba12d09.
R=robertphillips@google.com , scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/301283003
git-svn-id: http://skia.googlecode.com/svn/trunk@14989 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 13:26:10 +00:00
commit-bot@chromium.org
d0f824cfbd
Revert of setConfig -> setInfo ( https://codereview.chromium.org/308683005/ )
...
Reason for revert:
broke all Windows bots
Original issue's description:
> setConfig -> setInfo
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14978
R=robertphillips@google.com , reed@google.com
TBR=reed@google.com , robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: epoger@google.com
Review URL: https://codereview.chromium.org/302053002
git-svn-id: http://skia.googlecode.com/svn/trunk@14979 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-29 21:10:32 +00:00
commit-bot@chromium.org
986d681f3e
setConfig -> setInfo
...
BUG=skia:
R=robertphillips@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/308683005
git-svn-id: http://skia.googlecode.com/svn/trunk@14978 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-29 20:47:53 +00:00
commit-bot@chromium.org
8f831f262f
First step in pulling SkPicturePlayback & SkPictureRecord out of SkPicture
...
This CL begins the process of making SkPicturePlayback & SkPictureRecord independent of SkPicture. It just moves the PathHeap into SkPicture to get a feel for where all this is going to lead.
Some items of note:
SkTimedPicture (debugger/QT) should wind up being just an SkPicturePlayback-derived object.
All the flattening & unflattening should migrate out of SkPicturePlayback and into SkPicture.
SkPicture::initForPlayback should eventually become something just SkPictureRecorder::endRecording calls.
SkPicture is passed into SkPicturePlayback's & SkPictureRecord's constructors. SkPicturePlayback only
holds onto a "const SkPicture*". The SkPicturePlayback:: CreateFromStream & CreateFromBuffer methods pass a non-const
SkPicture* down the call stack.
BUG=skia:2315
R=reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/249453002
git-svn-id: http://skia.googlecode.com/svn/trunk@14341 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-23 22:35:42 +00:00
robertphillips@google.com
770963f23f
Staging for cleanup of SkPicture-related headers
...
https://codereview.chromium.org/243173002
git-svn-id: http://skia.googlecode.com/svn/trunk@14258 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-18 18:04:41 +00:00
skia.committer@gmail.com
60bd7519a9
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@14252 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-18 03:03:54 +00:00
commit-bot@chromium.org
5fb2ce38b3
Staged removal of SkPicture-derived classes
...
This CL removes the SkPicture-derived classes (with a flag to keeps clients working). In the process it also lightens the recording factory function so it is no longer ref counted).
The only interesting bits are in SkPicture* and Sk*Picture.*
R=reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/238273012
git-svn-id: http://skia.googlecode.com/svn/trunk@14251 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-17 23:35:06 +00:00
robertphillips@google.com
84b18c7e3e
split SkPictureRecorder out of SkPicture
...
https://codereview.chromium.org/214953003/
git-svn-id: http://skia.googlecode.com/svn/trunk@14171 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-13 19:09:42 +00:00
commit-bot@chromium.org
92362383a4
Remove SkCanvas matrix ops return value.
...
The internal SkMatrix ops can no longer fail -> we can remove the bool
return value.
R=bsalomon@google.com , reed@google.com , robertphillips@google.com , scroggo@google.com , fmalita@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/200223008
git-svn-id: http://skia.googlecode.com/svn/trunk@13849 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-18 12:51:48 +00:00
commit-bot@chromium.org
5c70cdca5e
hide getTotalClip, so we can eventually remove it
...
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
2014-03-08 03:57:19 +00:00
commit-bot@chromium.org
8c2ee59635
Once Chromium starts holding on to paths and we can actually reuse cached path data (e.g., masks & geometry) we will need a way to preserve that reuse in the skps. This CL begins adding that capability. More analysis & profiling needs to be done before it is always enabled.
...
When enabled it does make the disabled path de-duping test in the Canvas unit test pass.
BUG=skia:507
R=bsalomon@google.com , mtklein@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/190923002
git-svn-id: http://skia.googlecode.com/svn/trunk@13709 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-07 18:42:15 +00:00