skia2/experimental/svg/model/SkSVGTransformableNode.h
fmalita 6ceef3dd67 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
2016-07-26 18:46:34 -07:00

35 lines
770 B
C++

/*
* Copyright 2016 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#ifndef SkSVGTransformableNode_DEFINED
#define SkSVGTransformableNode_DEFINED
#include "SkMatrix.h"
#include "SkSVGNode.h"
class SkSVGTransformableNode : public SkSVGNode {
public:
virtual ~SkSVGTransformableNode() = default;
void setTransform(const SkMatrix& m) { fMatrix = m; }
protected:
SkSVGTransformableNode(SkSVGTag);
void onSetAttribute(SkSVGAttribute, const SkSVGValue&) override;
const SkMatrix& onLocalMatrix() const override { return fMatrix; }
private:
// FIXME: should be sparse
SkMatrix fMatrix;
typedef SkSVGNode INHERITED;
};
#endif // SkSVGTransformableNode_DEFINED