Commit Graph

677 Commits

Author SHA1 Message Date
fmalita
1a481fe4bf [SkSVGDevice] Initial clipping support
Implement SVG clips based on clip stack flattening -
which is now exposed in SkClipStack::asPath() and shared
with SkCanvas's simplify-clip code.

R=reed@google.com,mtklein@google.com

Review URL: https://codereview.chromium.org/876923003
2015-02-04 07:39:34 -08:00
fmalita
fe3f260ff9 [SkSVGDevice] Initial text support
R=reed@google.com,mtklein@google.com

Review URL: https://codereview.chromium.org/899683002
2015-02-03 17:47:12 -08:00
caryclark
da5bcab059 remove remaining parts of SkExample
R=reed@google.com

Review URL: https://codereview.chromium.org/895103002
2015-02-03 11:16:05 -08:00
fmalita
532faa9021 [SkSVGDevice] Initial shader/gradient support
* linear gradient support (based on shawcroft@google.com's CL)
* generic paint resources reorg
* opacity support

R=reed@google.com,mtklein@google.com,halcanary@google.com

Review URL: https://codereview.chromium.org/892973002
2015-02-03 05:44:40 -08:00
caryclark
c8fcafb3f0 First cut at cleaning up Sergio's example code and moving some common code to SkWindow.
Eventually, this will be moved to be a peer of SampleApp so it is compiled by the bots to avoid future bit rot.

Also ignore XCode auto-generated flag in CommandLineFlags, and remove the unused multiple-example part.

Review URL: https://codereview.chromium.org/890873003
2015-01-30 12:37:02 -08:00
fmalita
93957f4e80 Initial SVG backend stubbing
This adds SkSVGDevice and a small utility for converting SKP files to SVG (skp2svg).

R=reed@google.com,jcgregorio@google.com
BUG=skia:3368

Review URL: https://codereview.chromium.org/892533002
2015-01-30 09:03:29 -08:00
caryclark
416e394379 remove experimental pixman files
these files have never worked, and contain nother of value

R=reed@google.com

Review URL: https://codereview.chromium.org/890703002
2015-01-29 10:44:35 -08:00
caryclark
17a2b5473d The original instantiation of pathops was in the experimental/Intersection directory. Anything of value has been copied into the mainline.
The obsolete gyp files are also included, along with a pixman test that never functioned but accidentally referenced some of these deleted files.

Review URL: https://codereview.chromium.org/867213004
2015-01-29 10:43:09 -08:00
mtklein
9c3f17d6e8 Fold gmtoskp into DM, as --src gm --config skp.
BUG=skia:

Review URL: https://codereview.chromium.org/885733002
2015-01-28 11:35:18 -08:00
halcanary
a9e84767e4 experimental/skp_to_pdf_md5 optionally also outputs pdf files
TBR=mtklein@google.com

Review URL: https://codereview.chromium.org/868333002
2015-01-24 13:04:57 -08:00
scroggo
a1193e4b0e Make SkStream *not* ref counted.
SkStream is a stateful object, so it does not make sense for it to have
multiple owners. Make SkStream inherit directly from SkNoncopyable.

Update methods which previously called SkStream::ref() (e.g.
SkImageDecoder::buildTileIndex() and SkFrontBufferedStream::Create(),
which required the existing owners to call SkStream::unref()) to take
ownership of their SkStream parameters and delete when done (including
on failure).

Switch all SkAutoTUnref<SkStream>s to SkAutoTDelete<SkStream>s. In some
cases this means heap allocating streams that were previously stack
allocated.

Respect ownership rules of SkTypeface::CreateFromStream() and
SkImageDecoder::buildTileIndex().

Update the comments for exceptional methods which do not affect the
ownership of their SkStream parameters (e.g.
SkPicture::CreateFromStream() and SkTypeface::Deserialize()) to be
explicit about ownership.

Remove test_stream_life, which tested that buildTileIndex() behaved
correctly when SkStream was a ref counted object. The test does not
make sense now that it is not.

In SkPDFStream, remove the SkMemoryStream member. Instead of using it,
create a new SkMemoryStream to pass to fDataStream (which is now an
SkAutoTDelete).

Make other pdf rasterizers behave like SkPDFDocumentToBitmap.

SkPDFDocumentToBitmap delete the SkStream, so do the same in the
following pdf rasterizers:

SkPopplerRasterizePDF
SkNativeRasterizePDF
SkNoRasterizePDF

Requires a change to Android, which currently treats SkStreams as ref
counted objects.

Review URL: https://codereview.chromium.org/849103004
2015-01-21 12:09:53 -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
robertphillips
53a8f216a8 Update PdfViewer's SkNulCanvas
This appears to have been missed in https://codereview.chromium.org/831253002/ (move remaining virtual draw methods to onDraw)

Review URL: https://codereview.chromium.org/839433002
2015-01-05 11:11:21 -08:00
halcanary
abe4baa2c3 experimental skp_to_pdf_md5 program.
This program takes a list of Skia Picture (SKP) files and
renders each as a multipage PDF, then prints out the MD5
checksum of the PDF file.  This can be used to verify that
changes to the PDF backend will not change PDF output.

Review URL: https://codereview.chromium.org/832403002
2015-01-05 08:55:24 -08:00
reed
c4fda92f45 remove unused drawData
BUG=skia:

Review URL: https://codereview.chromium.org/830083002
2015-01-02 06:39:51 -08:00
mtklein
f9c9d72e57 Delete old bench expectation code.
Just noticed these were still here.

BUG=skia:

Review URL: https://codereview.chromium.org/801373003
2014-12-15 13:17:01 -08:00
junov
3fcc125c77 Remove SkCanvas::isDrawingToLayer
BUG=3245

Review URL: https://codereview.chromium.org/803913005
2014-12-15 11:34:06 -08:00
bsalomon
0aa5cea869 fix last warnings on w64 and turn on w.a.e.
Review URL: https://codereview.chromium.org/801413002
2014-12-15 09:13:35 -08:00
Florin Malita
c54d8db4d1 Remove SkCanvas::drawBitmapMatrix()
R=mtklein@google.com, reed@google.com, robertphillips@google.com

Review URL: https://codereview.chromium.org/789033002
2014-12-10 12:02:16 -05:00
robertphillips
266b2adce7 Remove virtual clear in PdfViewer's SkNulCanvas
Causing compilation complaints on Windows

Review URL: https://codereview.chromium.org/783683004
2014-12-08 11:37:35 -08:00
reed
b19ce3146c quick fix to land clear() change
BUG=skia:
TBR=
NOTRY=True

Review URL: https://codereview.chromium.org/774863003
2014-12-04 08:39:09 -08:00
halcanary
85a5750ffa Fix PdfViewer BGR byte order
BUG=skia:3184

Review URL: https://codereview.chromium.org/775763003
2014-12-03 11:03:52 -08:00
halcanary
84bc52ad26 work in progress
Review URL: https://codereview.chromium.org/769423002
2014-12-02 14:01:46 -08:00
halcanary
742cacdd20 multipage_pdf_profiler, gmtoskp
Review URL: https://codereview.chromium.org/769083003
2014-12-01 12:21:25 -08:00
tfarina
0c9acd5d2e Cleanup: Remove SimpleiOSApp xcode project file.
There is already an GYP version for it in:
https://skia.googlesource.com/skia/+/master/gyp/SimpleiOSApp.gyp

BUG=None
TEST=None
R=caryclark@google.com

Review URL: https://codereview.chromium.org/691133004
2014-11-03 15:10:49 -08:00
mtklein
3eeb156822 patch from issue 697743002
working

The key here was to get everything into a single library.  Our shared library build is the easiest way to do that.  Some light skimming online makes it look like perhaps cgo requires shared libraries, so that may be at play here too.

BUG=skia:

Review URL: https://codereview.chromium.org/698943002
2014-11-03 10:45:50 -08:00
stephana
0b5fc9774f Quick and dirty test to call the C interface from GO.
BUG=skia:

Review URL: https://codereview.chromium.org/670303005
2014-10-31 07:11:19 -07:00
tfarina
38406c82b9 Cleanup: Go with SkDebugf instead of GrPrintf.
Since GrPrintf is just defined to SkDebugf, we can go with the later
directly.

BUG=None
TEST=None
R=bsalomon@google.com

Review URL: https://codereview.chromium.org/695663003
2014-10-31 07:11:12 -07:00
Greg Humphreys
89154343f0 delete webtry from main skia repo; it's been moved to buildbots
BUG=skia:

Review URL: https://codereview.chromium.org/688713002
2014-10-29 12:30:16 -04:00
Greg Humphreys
5abfa688b7 fix issues with simultaneous configs and security jail on skfiddle
BUG=skia:
TBR=jcgregorio

Review URL: https://codereview.chromium.org/688003002
2014-10-29 14:57:10 +00:00
Greg Humphreys
af58b5fcba rework GUI, scripts, and fiddle main for multiple simultaneous configs
You can now select Raster, Ganesh, or both (PDF coming soon), and see
all output simultaneously.

BUG=skia:
R=jcgregorio@google.com
TBR=jcgregorio

Review URL: https://codereview.chromium.org/688433002
2014-10-29 10:31:33 -04:00
jcgregorio
e001da2558 SkV8Sample: Now with Path2D and Path2DBuilder.
BUG=skia:

Review URL: https://codereview.chromium.org/661033005
2014-10-29 05:33:28 -07:00
Greg Humphreys
9571567802 remove the GPU checkbox from the hash / database
We decided last week that GPU rendering wouldn't be associated
with the fiddle itself; options in the left bar will be split into
ones that are bound to the fiddle (so appear in the hash and database)
and ones that are run-specific (like the rendering mode).

This will leave us better placed to do things like rendering in multiple
modes at once.

BUG=skia:
R=jcgregorio@google.com

Review URL: https://codereview.chromium.org/685543002
2014-10-28 13:33:54 -04:00
jcgregorio
5e44b00392 Start moving to the new canvas structure.
Adds DrawingMethods with some of the methods it defines. Context is now
an implementation of DrawingMethods.

The sample.js file now shows how the context is used.

Not much new code here, that's mostly in DrawingMethods::DrawPath, most everything else is a code move.

BUG=skia:

Review URL: https://codereview.chromium.org/676423002
2014-10-27 10:27:01 -07:00
jcgregorio
1c9acd980b Fixup references to the js files from the HTML files in SkV8Example.
BUG=skia:

Review URL: https://codereview.chromium.org/680053002
2014-10-27 07:19:44 -07:00
robertphillips
59b3815eaa Move .js files to their own directory
Review URL: https://codereview.chromium.org/677133002
2014-10-24 20:02:31 -07:00
jcgregorio
e22f45fd89 Doing the "using namespace" penance by adding in v8:: everywhere, like I should have to begin with.
Also:
  - SkWindow now has createSurface, not createCanvas.
  - Add the platform init code v8 now seems to require.
  - Fix library linkage.
  - Call isolate->Enter(); because it doesn't look
    like v8 starts with a default isolate to begin with.

BUG=skia:

Review URL: https://codereview.chromium.org/673223002
2014-10-24 12:49:17 -07:00
reed
e332396d2f move c api into include
BUG=skia:

Review URL: https://codereview.chromium.org/665203004
2014-10-24 11:16:19 -07:00
reed
f0b1710bdb fix some bit-rot in the ios port of sampleapp
BUG=skia:

Review URL: https://codereview.chromium.org/637263004
2014-10-22 13:06:00 -07:00
tfarina
7a2df0c672 webtry: Improve error handling/message when creating sqlite tables.
In case they fail, lets fail with an ERROR message rather than an INFO,
and lets make the error message a little bit better.

BUG=None
TEST=None
R=jcgregorio@google.com

Review URL: https://codereview.chromium.org/669643004
2014-10-22 11:57:36 -07:00
jcgregorio
33e6466a4f Move init() to Init() so that flag.Parse() can be called first.
Otherwise the --log_dir flag doesn't affect where glog output goes to.

TBR=humper
BUG=skia:

Review URL: https://codereview.chromium.org/667493002
2014-10-20 10:44:35 -07:00
tfarina
25a134d133 webtry: Add logserver to serve /tmp/glog.
This setup and runs a logserver, like the one being used by skiaperf, to
serve the directory /tmp/glog, so we don't need to ssh into the instance
to see the logs of the webtry application.

This is a follow up to suggestion made in codereview.chromium.org/655323002.

BUG=None
R=jcgregorio@google.com

Review URL: https://codereview.chromium.org/643903003
2014-10-17 07:36:36 -07:00
Greg Humphreys
c9df8ce821 fix display of fiddles that DON'T have compile errors
BUG=skia:

Review URL: https://codereview.chromium.org/644253003
2014-10-16 14:23:02 -04:00
humper
ae8ab62966 Properly parse compiler errors for fiddles and mark them in the editor.
You can also click on the errors in the parsed output to jump directly to the offending location in the editor.

BUG=skia:
NOTRY=true

Review URL: https://codereview.chromium.org/660573003
2014-10-16 09:18:16 -07:00
tfarina
8c0d2aab62 webtry: Do not forget the close the rows.
This should prevent further enumeration according to the docs.

http://golang.org/pkg/database/sql/#Rows.Close

BUG=None
TEST=None
R=humper@google.com

Review URL: https://codereview.chromium.org/638373003
2014-10-16 05:57:39 -07:00
Thiago Farina
498bc5f036 webtry: Forgot onr log.Fatal.
Update it to use glog variant.

BUG=skia:2980
TEST=go build webtry.go
TBR=jcgregorio@google.com

Review URL: https://codereview.chromium.org/659813003
2014-10-15 19:20:27 -03:00
tfarina
ae6d6222b2 webtry: Switch from Go's log package to golang/glog.
BUG=skia:2980
TEST=go get -d && go build webtry.go
R=jcgregorio@google.com

Review URL: https://codereview.chromium.org/655323002
2014-10-15 14:59:33 -07:00
tfarina
ebd90ee211 webtry: Check the result of os.Chdir().
As mentioned in http://golang.org/doc/effective_go.html#blank_assign,
errors are provided for a reason, so always check them.

The documentation for this function is available at
http://golang.org/pkg/os/#Chdir.

BUG=None
TEST=None
R=jcgregorio@google.com

Review URL: https://codereview.chromium.org/651343002
2014-10-15 13:48:47 -07:00
tfarina
585a5fc243 webtry: Simplify template construction.
text/template and html/template both have a helper function called
"Must" that according to the docs in http://golang.org/pkg/text/template/#Must
and http://golang.org/pkg/html/template/#Must, wraps a call to a function
returning (*Template, error) and panics if the error is non-nil.

So we don't need to that ourselves. Which is a good thing and makes code
cleaner.

BUG=None
TEST=None
R=jcgregorio@google.com

Review URL: https://codereview.chromium.org/642243004
2014-10-14 09:39:02 -07:00
Greg Humphreys
54142261de Re-land ganesh checkbox. I needed to increase the size of the address
space available to a fiddle because linking against libGL causes the
amount of memory used by a process to bloat to over 100M.  Yikes.

BUG=skia:

Review URL: https://codereview.chromium.org/638003008
2014-10-13 21:52:05 -04:00