History log of /external/skia/experimental/svg/model/SkSVGNode.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7d529881c4dfc27782c0bced7c7e3a2788975083 08-Dec-2016 Florin Malita <fmalita@chromium.org> [SVGDom] Clipped clipPath support

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>
/external/skia/experimental/svg/model/SkSVGNode.cpp
ce8840e3842f3a702c5d7bf440ff730bdfaf8e70 08-Dec-2016 Florin Malita <fmalita@chromium.org> [SVGDom] ClipPath support

* 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>
/external/skia/experimental/svg/model/SkSVGNode.cpp
e932d4b3a99905a6272c5574f21ac651632f4e82 01-Dec-2016 Florin Malita <fmalita@chromium.org> [SVGDom] Add fill-rule support

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>
/external/skia/experimental/svg/model/SkSVGNode.cpp
bef51c23c314180760b07f88fab50f6670f37f9b 21-Sep-2016 fmalita <fmalita@chromium.org> [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
Review-Url: https://codereview.chromium.org/2353503005
/external/skia/experimental/svg/model/SkSVGNode.cpp
a5344ee50a643ca72742e065f5268d9cbc3e0c82 20-Sep-2016 borenet <borenet@google.com> Revert of [SVGDom] Opacity optimization (patchset #4 id:60001 of 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
/external/skia/experimental/svg/model/SkSVGNode.cpp
3dbb7b9f196d793fbd16243157ee67638891f5dc 20-Sep-2016 fmalita <fmalita@chromium.org> [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

Review-Url: https://codereview.chromium.org/2353503005
/external/skia/experimental/svg/model/SkSVGNode.cpp
28d5b72d86fdfae20dc47ba548748f119c7273e3 13-Sep-2016 fmalita <fmalita@chromium.org> [SVGDom] Initial linear gradient support

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
/external/skia/experimental/svg/model/SkSVGNode.cpp
6fb0648c35aead138e65133c031d2b4fe5c8f0c7 15-Aug-2016 fmalita <fmalita@chromium.org> [SVGDom] Add opacity support

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
/external/skia/experimental/svg/model/SkSVGNode.cpp
ca39d716f10e75e3a2449262e67584f46d589c26 12-Aug-2016 fmalita <fmalita@chromium.org> [SVGDom] SVGPong sample app

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
/external/skia/experimental/svg/model/SkSVGNode.cpp
2d961e086bb40b371b1a667536fa089794847368 11-Aug-2016 fmalita <fmalita@chromium.org> [SVGDom] Add more presentation attributes.

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
/external/skia/experimental/svg/model/SkSVGNode.cpp
397a517d1a5774653fcdd08172f9a6b5eea67621 08-Aug-2016 fmalita <fmalita@chromium.org> [SVGDom] Add viewBox support

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
/external/skia/experimental/svg/model/SkSVGNode.cpp
bffc2566872f99d378a1113d0a49ec9ee0d60b7a 03-Aug-2016 fmalita <fmalita@chromium.org> [SVGDom] Initial SVGLength support

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
/external/skia/experimental/svg/model/SkSVGNode.cpp
58649ccc75c033ea4e0c9a664b4ed178816a50c6 29-Jul-2016 fmalita <fmalita@chromium.org> [SVGDom] Parse style attributes

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
/external/skia/experimental/svg/model/SkSVGNode.cpp
6ceef3dd67617c5f4572ada98d5ee85777d2db99 27-Jul-2016 fmalita <fmalita@chromium.org> Initial SVG model

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
/external/skia/experimental/svg/model/SkSVGNode.cpp