aboutsummaryrefslogtreecommitdiffhomepage
path: root/experimental/svg
Commit message (Collapse)AuthorAge
* SkCanvas: Helpers for draw{Point,Line,Circle}Gravatar Hal Canary2017-05-16
| | | | | | | Change-Id: Ie9c7d3b8f01aee435563b23b7d27f098f07dd287 Reviewed-on: https://skia-review.googlesource.com/16909 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Mark overridden destructors with 'override' and remove 'virtual'Gravatar Brian Salomon2017-03-22
| | | | | | | | | This silences a new warning in clang 5.0 Change-Id: Ieb5b75a6ffed60107c3fd16075d2ecfd515b55e8 Reviewed-on: https://skia-review.googlesource.com/10006 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* [SVGDom] Clipped clipPath supportGravatar Florin Malita2016-12-09
| | | | | | | | | | | | | | | | | ClipPaths can be clipped too, e.g.: <clipPath id="clip1" clip-path="url(#clip2)">...</clipPath> Since we're not really drawing clips but resolving their geometry, asPath() needs to take composed clipping into account (and intersect as needed). R=reed@google.com,robertphillips@google.com,stephana@google.com Change-Id: I25959e22fe50f72042147cfe6b416b6b9ac20cd4 Reviewed-on: https://skia-review.googlesource.com/5720 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [SVGDom] ClipPath supportGravatar Florin Malita2016-12-08
| | | | | | | | | | | | | * clip-path attribute handling * clipPath container element * asPath() SkSVGNode virtual for capturing subtree geometry R=robertphillips@google.com,stephana@google.com Change-Id: I9597534fe3047b631da6309eafac055dff5696e9 Reviewed-on: https://skia-review.googlesource.com/5650 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [SVGDom] Add fill-rule supportGravatar Florin Malita2016-12-06
| | | | | | | | | | | | | | | | There's a bit of friction with this attribute, because per spec it is an inherited presentation attribute, but in Skia it is part of the actual SkPath state. So we must add some plumbing to SkSVGShape & friends to allow overriding the fill type at render-time. R=robertphillips@google.com,stephana@google.com Change-Id: I9c926d653c6211beb3914bffac50d4349dbdd2c0 Reviewed-on: https://skia-review.googlesource.com/5415 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* [SVGDom] Opacity optimizationGravatar fmalita2016-09-20
| | | | | | | | | | | Apply opacity as fill/stroke paint alpha instead of saveLayer, when possible. R=robertphillips@google.com,stephana@google.com,reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2353503005 Committed: https://skia.googlesource.com/skia/+/3dbb7b9f196d793fbd16243157ee67638891f5dc Review-Url: https://codereview.chromium.org/2353503005
* Revert of [SVGDom] Opacity optimization (patchset #4 id:60001 of ↵Gravatar borenet2016-09-20
| | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2353503005/ ) Reason for revert: Failing assertion Original issue's description: > [SVGDom] Opacity optimization > > Apply opacity as fill/stroke paint alpha instead of saveLayer, when > possible. > > R=robertphillips@google.com,stephana@google.com,reed@google.com > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2353503005 > > Committed: https://skia.googlesource.com/skia/+/3dbb7b9f196d793fbd16243157ee67638891f5dc TBR=reed@google.com,robertphillips@google.com,stephana@google.com,fmalita@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2359603002
* [SVGDom] Opacity optimizationGravatar fmalita2016-09-20
| | | | | | | | | | Apply opacity as fill/stroke paint alpha instead of saveLayer, when possible. R=robertphillips@google.com,stephana@google.com,reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2353503005 Review-Url: https://codereview.chromium.org/2353503005
* [SVGDom] Only apply opacity when neededGravatar fmalita2016-09-19
| | | | | | | | | Opacity: 1 is a no-op, but it shows up quite a bit in existing documents. R=robertphillips@google.com,stephana@google.com,reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2349143002 Review-Url: https://codereview.chromium.org/2349143002
* [SVGDom] Expose intrinsic size infoGravatar fmalita2016-09-14
| | | | | | | | | | | | | | * expose intrinsic size info on <svg> nodes. * tweak the SkSVGDOM constructor to no longer take an container size param, but instead default to intrinsic size * update clients to call SkSVGDOM::setContainerSize() explicitly, when needed R=robertphillips@google.com,stephana@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2345533002 Review-Url: https://codereview.chromium.org/2345533002
* [SVGDom] Linear gradient 'gradientTransform' supportGravatar fmalita2016-09-13
| | | | | | | R=stephana@google.com,robertphillips@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2339533002 Review-Url: https://codereview.chromium.org/2339533002
* [SVGDom] Linear gradient 'spreadMethod' supportGravatar fmalita2016-09-13
| | | | | | | R=stephana@google.com,robertphillips@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2337203002 Review-Url: https://codereview.chromium.org/2337203002
* [SVGDom] Initial linear gradient supportGravatar fmalita2016-09-12
| | | | | | | | | | | | | | | Kind of a big change, to connect several new bits into something useful: * ID tracking & lookup * new asPaint() node virtual to support shader (and in the future filter) based paint servers * <defs>, <linearGradient> and <stop> element support * 'href', 'offset', 'stop-color', 'stop-opacity' attribute support * IRI/FuncIRI and rgb(...) parsing BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2327233003 Review-Url: https://codereview.chromium.org/2327233003
* [SVGDom] Don't truncate opacity scalarsGravatar fmalita2016-08-29
| | | | | | | | | Round instead, for more accurate values. R=robertphillips@google.com,stephana@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2284123003 Review-Url: https://codereview.chromium.org/2284123003
* Reland: Experimental parsing expression grammar (PEG) template libraryGravatar fmalita2016-08-25
| | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2271743002 Committed: https://skia.googlesource.com/skia/+/9d08cbc8c6131ff61a1e71cc5c8cf27841d62b42 Review-Url: https://codereview.chromium.org/2271743002
* Revert of Experimental parsing expression grammar (PEG) template library ↵Gravatar fmalita2016-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | (patchset #8 id:140001 of https://codereview.chromium.org/2271743002/ ) Reason for revert: G3 roll & Msan woes. Original issue's description: > Experimental parsing expression grammar (PEG) template library > > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2271743002 > > Committed: https://skia.googlesource.com/skia/+/9d08cbc8c6131ff61a1e71cc5c8cf27841d62b42 TBR=mtklein@google.com,bungeman@google.com,reed@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://codereview.chromium.org/2275943004
* Experimental parsing expression grammar (PEG) template libraryGravatar fmalita2016-08-24
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2271743002 Review-Url: https://codereview.chromium.org/2271743002
* [SVGDom] Fix <ellipse> positioningGravatar fmalita2016-08-17
| | | | | | | R=robertphillips@google.com,stephana@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2253283002 Review-Url: https://codereview.chromium.org/2253283002
* [SVGDom] Add support for assorted absolute unitsGravatar fmalita2016-08-17
| | | | | | | R=robertphillips@google.com,stephana@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2259473002 Review-Url: https://codereview.chromium.org/2259473002
* [SVGDom] Add <line> supportGravatar fmalita2016-08-17
| | | | | | | R=robertphillips@google.com,stephana@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2244223005 Review-Url: https://codereview.chromium.org/2244223005
* [SVGDom] Add <circle>, <ellipse> supportGravatar fmalita2016-08-16
| | | | | | | R=robertphillips@google.com,stephana@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2249033003 Review-Url: https://codereview.chromium.org/2249033003
* [SVGDom] Add opacity supportGravatar fmalita2016-08-15
| | | | | | | | | | Group opacity support. Unlike the other presentation attributes we support thus far, group opacity is not inherited. R=robertphillips@google.com,stephana@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2246943002 Review-Url: https://codereview.chromium.org/2246943002
* [SVGDom] SVGPong sample appGravatar fmalita2016-08-12
| | | | | | | | | Shows off SVG dom-based animations. R=robertphillips@google.com,stephana@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2243853003 Review-Url: https://codereview.chromium.org/2243853003
* [SVGDom] <polygon> & <polyline> supportGravatar fmalita2016-08-12
| | | | | | | R=robertphillips@google.com,stephana@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2235273003 Review-Url: https://codereview.chromium.org/2235273003
* [SVGDom] Add more presentation attributes.Gravatar fmalita2016-08-11
| | | | | | | | | | | | | | | | Implement proper presentation attribute inheritance, and add support for * fill-opacity * stroke-linecap * stroke-linejoin * stroke-opacity * stroke-width R=robertphillips@google.com,stephana@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2234153002 Review-Url: https://codereview.chromium.org/2234153002
* [SVGDom] Add rx/ry support for <rect>Gravatar fmalita2016-08-10
| | | | | | | R=stephana@google.com,robertphillips@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2234863002 Review-Url: https://codereview.chromium.org/2234863002
* [SVGDom] Disable verbose parsing messages be defaultGravatar fmalita2016-08-10
| | | | | | | | | Guard with SK_VERBOSE_SVG_PARSING R=robertphillips@google.com,rmistry@google.com,stephana@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2235963003 Review-Url: https://codereview.chromium.org/2235963003
* [SVGDom] Improve whitespace handling in style parsingGravatar fmalita2016-08-08
| | | | | | | | | Handle whitespace-padded style names/values. R=stephana@google.com,robertphillips@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2225623002 Review-Url: https://codereview.chromium.org/2225623002
* [SVGDom] Improved transform parsingGravatar fmalita2016-08-08
| | | | | | | | | Update 'transform' attribute parsing to a more robust, SkSVGAttributeParser-based implementation. R=robertphillips@google.com,stephana@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2220933003 Review-Url: https://codereview.chromium.org/2220933003
* [SVGDom] Add viewBox supportGravatar fmalita2016-08-08
| | | | | | | | | | | | | | | | | | | | The main feature is <svg> viewBox and proper viewport support, but the CL touches a few other things: * refactor SkSVGRenderContext to auto-restore canvas state, and split the presentation bits into a separate CoW SkSVGPresentationContext * introduce SkSVGNode::onPrepareToRender(), as a way for nodes to push their custom state before the actual onRender() call (instead of relying on non-virtual SkSVGNode to know about all possible state bits) * add a "Type" suffix to SVG types, to disambiguate (e.g. SkSVGRectType vs. SkSVGRect) R=robertphillips@google.com,stephana@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2222793002 Review-Url: https://codereview.chromium.org/2222793002
* [SVGDom] Initial SVGLength supportGravatar fmalita2016-08-03
| | | | | | | | | | Mostly plumb new length types, but also introduce a stateful parser, rect shape and named color support. R=reed@google.com,robertphillips@google.com,stephana@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2202053002 Review-Url: https://codereview.chromium.org/2202053002
* [SVGDom] Parse style attributesGravatar fmalita2016-07-29
| | | | | | | | | | Dispatch style-encoded (style="foo: bar; ...") attributes via normal attribute setters. R=reed@google.com,robertphillips@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2193663002 Review-Url: https://codereview.chromium.org/2193663002
* Initial SVG modelGravatar fmalita2016-07-26
| | | | | | | | | A minimal subset needed to render tiger.svg: <svg>, <g>, <path>, 'd', 'fill'/'stroke' (color-only), 'transform'. R=reed@google.com,robertphillips@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2164193002 Review-Url: https://codereview.chromium.org/2164193002
* Add SkSVGCanvasGravatar fmalita2015-02-06
| | | | | | | | | | | Add a public SVG canvas factory + move the SVG files from experimental -> src/svg/. Update current clients to the new API. R=reed@google.com, mtklein@google.com, halcanary@google.com Review URL: https://codereview.chromium.org/902583006
* add length parameter to addText, to match attr valuesGravatar reed2015-02-04
| | | | | | BUG=skia:3392 Review URL: https://codereview.chromium.org/896363002
* [SkSVGDevice] drawTextOnPath() supportGravatar fmalita2015-02-04
| | | | | | R=reed@google.com,mtklein@google.com Review URL: https://codereview.chromium.org/874853003
* [SkSVGDevice] Add support for more stroke paramsGravatar fmalita2015-02-04
| | | | | | | | stroke-linecap, stroke-linejoin, stroke-miterlimit, non-scaling-stroke. R=mtklein@google.com Review URL: https://codereview.chromium.org/897953004
* [SkSVGDevice] Initial clipping supportGravatar fmalita2015-02-04
| | | | | | | | | | 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
* [SkSVGDevice] Initial text supportGravatar fmalita2015-02-03
| | | | | | R=reed@google.com,mtklein@google.com Review URL: https://codereview.chromium.org/899683002
* [SkSVGDevice] Initial shader/gradient supportGravatar fmalita2015-02-03
| | | | | | | | | | * 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
* Initial SVG backend stubbingGravatar fmalita2015-01-30
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