1cb93a386Sopenharmony_ci/* 2cb93a386Sopenharmony_ci * Copyright 2016 Google Inc. 3cb93a386Sopenharmony_ci * 4cb93a386Sopenharmony_ci * Use of this source code is governed by a BSD-style license that can be 5cb93a386Sopenharmony_ci * found in the LICENSE file. 6cb93a386Sopenharmony_ci */ 7cb93a386Sopenharmony_ci 8cb93a386Sopenharmony_ci#ifndef SkSVGClipPath_DEFINED 9cb93a386Sopenharmony_ci#define SkSVGClipPath_DEFINED 10cb93a386Sopenharmony_ci 11cb93a386Sopenharmony_ci#include "modules/svg/include/SkSVGHiddenContainer.h" 12cb93a386Sopenharmony_ci#include "modules/svg/include/SkSVGTypes.h" 13cb93a386Sopenharmony_ci 14cb93a386Sopenharmony_ciclass SkSVGClipPath final : public SkSVGHiddenContainer { 15cb93a386Sopenharmony_cipublic: 16cb93a386Sopenharmony_ci static sk_sp<SkSVGClipPath> Make() { 17cb93a386Sopenharmony_ci return sk_sp<SkSVGClipPath>(new SkSVGClipPath()); 18cb93a386Sopenharmony_ci } 19cb93a386Sopenharmony_ci 20cb93a386Sopenharmony_ci SVG_ATTR(ClipPathUnits, SkSVGObjectBoundingBoxUnits, 21cb93a386Sopenharmony_ci SkSVGObjectBoundingBoxUnits(SkSVGObjectBoundingBoxUnits::Type::kUserSpaceOnUse)) 22cb93a386Sopenharmony_ci 23cb93a386Sopenharmony_ciprivate: 24cb93a386Sopenharmony_ci friend class SkSVGRenderContext; 25cb93a386Sopenharmony_ci 26cb93a386Sopenharmony_ci SkSVGClipPath(); 27cb93a386Sopenharmony_ci 28cb93a386Sopenharmony_ci bool parseAndSetAttribute(const char*, const char*) override; 29cb93a386Sopenharmony_ci 30cb93a386Sopenharmony_ci SkPath resolveClip(const SkSVGRenderContext&) const; 31cb93a386Sopenharmony_ci 32cb93a386Sopenharmony_ci using INHERITED = SkSVGHiddenContainer; 33cb93a386Sopenharmony_ci}; 34cb93a386Sopenharmony_ci 35cb93a386Sopenharmony_ci#endif // SkSVGClipPath_DEFINED 36