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 SkSVGClipPath_DEFINED
9 #define SkSVGClipPath_DEFINED
10 
11 #include "modules/svg/include/SkSVGHiddenContainer.h"
12 #include "modules/svg/include/SkSVGTypes.h"
13 
14 class SkSVGClipPath final : public SkSVGHiddenContainer {
15 public:
Make()16     static sk_sp<SkSVGClipPath> Make() {
17         return sk_sp<SkSVGClipPath>(new SkSVGClipPath());
18     }
19 
20     SVG_ATTR(ClipPathUnits, SkSVGObjectBoundingBoxUnits,
21              SkSVGObjectBoundingBoxUnits(SkSVGObjectBoundingBoxUnits::Type::kUserSpaceOnUse))
22 
23 private:
24     friend class SkSVGRenderContext;
25 
26     SkSVGClipPath();
27 
28     bool parseAndSetAttribute(const char*, const char*) override;
29 
30     SkPath resolveClip(const SkSVGRenderContext&) const;
31 
32     using INHERITED = SkSVGHiddenContainer;
33 };
34 
35 #endif // SkSVGClipPath_DEFINED
36