aboutsummaryrefslogtreecommitdiffhomepage
path: root/experimental/svg/model/SkSVGTransformableNode.cpp
Commit message (Collapse)AuthorAge
* [SVGDom] Avoid some unneeded canvas save()sGravatar Florin Malita2017-10-11
| | | | | | | | | | | The canvas only needs to be saved once, per local SkSVGRenderContext. Add a helper (saveOnce) to implement this optimization. Change-Id: I0c21fa78ad9fd5d3d11de0a29f8441620488d676 Reviewed-on: https://skia-review.googlesource.com/58340 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Robert Phillips <robertphillips@google.com>
* [SVGDom] Fix SkSVGTransformableNode::mapToParent()Gravatar Florin Malita2017-10-11
| | | | | | | | | | The method is used for clip path resolution, and is supposed to transform the path into parent node coords -- so it should use the forward matrix, not the inverse. Change-Id: Id6eb9fbaf024b083e19f56eddb1c293becea48fc Reviewed-on: https://skia-review.googlesource.com/58280 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] 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] 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