1cb93a386Sopenharmony_ci/* 2cb93a386Sopenharmony_ci * Copyright 2018 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#include "modules/sksg/include/SkSGPlane.h" 9cb93a386Sopenharmony_ci 10cb93a386Sopenharmony_ci#include "include/core/SkCanvas.h" 11cb93a386Sopenharmony_ci#include "include/core/SkPath.h" 12cb93a386Sopenharmony_ci 13cb93a386Sopenharmony_cinamespace sksg { 14cb93a386Sopenharmony_ci 15cb93a386Sopenharmony_ciPlane::Plane() = default; 16cb93a386Sopenharmony_ci 17cb93a386Sopenharmony_civoid Plane::onClip(SkCanvas*, bool) const {} 18cb93a386Sopenharmony_ci 19cb93a386Sopenharmony_civoid Plane::onDraw(SkCanvas* canvas, const SkPaint& paint) const { 20cb93a386Sopenharmony_ci canvas->drawPaint(paint); 21cb93a386Sopenharmony_ci} 22cb93a386Sopenharmony_ci 23cb93a386Sopenharmony_cibool Plane::onContains(const SkPoint&) const { return true; } 24cb93a386Sopenharmony_ci 25cb93a386Sopenharmony_ciSkRect Plane::onRevalidate(InvalidationController*, const SkMatrix&) { 26cb93a386Sopenharmony_ci SkASSERT(this->hasInval()); 27cb93a386Sopenharmony_ci 28cb93a386Sopenharmony_ci return SkRect::MakeLTRB(SK_ScalarMin, SK_ScalarMin, SK_ScalarMax, SK_ScalarMax); 29cb93a386Sopenharmony_ci} 30cb93a386Sopenharmony_ci 31cb93a386Sopenharmony_ciSkPath Plane::onAsPath() const { 32cb93a386Sopenharmony_ci SkPath path; 33cb93a386Sopenharmony_ci path.setFillType(SkPathFillType::kInverseWinding); 34cb93a386Sopenharmony_ci 35cb93a386Sopenharmony_ci return path; 36cb93a386Sopenharmony_ci} 37cb93a386Sopenharmony_ci 38cb93a386Sopenharmony_ci} // namespace sksg 39