Line | Count | Source |
1 | /* | |
2 | * Copyright 2016 Google Inc. | |
3 | * | |
4 | * Use of this source code is governed by a BSD-style license that can be | |
5 | * found in the LICENSE file. | |
6 | */ | |
7 | ||
8 | #ifndef SkSVGTransformableNode_DEFINED | |
9 | #define SkSVGTransformableNode_DEFINED | |
10 | ||
11 | #include "include/core/SkMatrix.h" | |
12 | #include "modules/svg/include/SkSVGNode.h" | |
13 | ||
14 | class SkSVGTransformableNode : public SkSVGNode { | |
15 | public: | |
16 | 3.17k | void setTransform(const SkSVGTransformType& t) { fTransform = t; } |
17 | ||
18 | protected: | |
19 | SkSVGTransformableNode(SkSVGTag); | |
20 | ||
21 | bool onPrepareToRender(SkSVGRenderContext*) const override; | |
22 | ||
23 | void onSetAttribute(SkSVGAttribute, const SkSVGValue&) override; | |
24 | ||
25 | void mapToParent(SkPath*) const; | |
26 | ||
27 | void mapToParent(SkRect*) const; | |
28 | ||
29 | private: | |
30 | // FIXME: should be sparse | |
31 | SkSVGTransformType fTransform; | |
32 | ||
33 | using INHERITED = SkSVGNode; | |
34 | }; | |
35 | ||
36 | #endif // SkSVGTransformableNode_DEFINED |