aboutsummaryrefslogtreecommitdiffhomepage
path: root/experimental/svg/model/SkSVGTransformableNode.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'experimental/svg/model/SkSVGTransformableNode.cpp')
-rw-r--r--experimental/svg/model/SkSVGTransformableNode.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/experimental/svg/model/SkSVGTransformableNode.cpp b/experimental/svg/model/SkSVGTransformableNode.cpp
index 8a095ac62a..b2ad0b1ab9 100644
--- a/experimental/svg/model/SkSVGTransformableNode.cpp
+++ b/experimental/svg/model/SkSVGTransformableNode.cpp
@@ -36,3 +36,16 @@ void SkSVGTransformableNode::onSetAttribute(SkSVGAttribute attr, const SkSVGValu
break;
}
}
+
+void SkSVGTransformableNode::mapToParent(SkPath* path) const {
+ if (fTransform.value().isIdentity()) {
+ return;
+ }
+
+ SkMatrix inv;
+ if (!fTransform.value().invert(&inv)) {
+ return;
+ }
+
+ path->transform(inv);
+}