/* * 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 SkSVGPoly_DEFINED #define SkSVGPoly_DEFINED #include "SkPath.h" #include "SkSVGShape.h" // Handles and elements. class SkSVGPoly final : public SkSVGShape { public: virtual ~SkSVGPoly() = default; static sk_sp MakePolygon() { return sk_sp(new SkSVGPoly(SkSVGTag::kPolygon)); } static sk_sp MakePolyline() { return sk_sp(new SkSVGPoly(SkSVGTag::kPolyline)); } void setPoints(const SkSVGPointsType&); protected: void onSetAttribute(SkSVGAttribute, const SkSVGValue&) override; void onDraw(SkCanvas*, const SkSVGLengthContext&, const SkPaint&) const override; private: SkSVGPoly(SkSVGTag); SkPath fPath; typedef SkSVGShape INHERITED; }; #endif // SkSVGPoly_DEFINED