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 SkSVGPath_DEFINED
9#define SkSVGPath_DEFINED
10
11#include "include/core/SkPath.h"
12#include "modules/svg/include/SkSVGShape.h"
13
14class SkSVGPath final : public SkSVGShape {
15public:
16    static sk_sp<SkSVGPath> Make() { return sk_sp<SkSVGPath>(new SkSVGPath()); }
17
18    SVG_ATTR(Path, SkPath, SkPath())
19
20protected:
21    bool parseAndSetAttribute(const char*, const char*) override;
22
23    void onDraw(SkCanvas*, const SkSVGLengthContext&, const SkPaint&,
24                SkPathFillType) const override;
25
26    SkPath onAsPath(const SkSVGRenderContext&) const override;
27
28    SkRect onObjectBoundingBox(const SkSVGRenderContext&) const override;
29
30private:
31    SkSVGPath();
32
33    using INHERITED = SkSVGShape;
34};
35
36#endif // SkSVGPath_DEFINED
37