| /* |
| * Copyright 2017 Google Inc. |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| |
| #include "SkSGRect.h" |
| |
| #include "SkCanvas.h" |
| #include "SkPaint.h" |
| #include "SkPath.h" |
| |
| namespace sksg { |
| |
| Rect::Rect(const SkRect& rect) : fRect(rect) {} |
| |
| void Rect::onClip(SkCanvas* canvas, bool antiAlias) const { |
| canvas->clipRect(fRect, SkClipOp::kIntersect, antiAlias); |
| } |
| |
| void Rect::onDraw(SkCanvas* canvas, const SkPaint& paint) const { |
| canvas->drawRect(fRect, paint); |
| } |
| |
| SkRect Rect::onRevalidate(InvalidationController*, const SkMatrix&) { |
| SkASSERT(this->hasInval()); |
| |
| return fRect; |
| } |
| |
| SkPath Rect::onAsPath() const { |
| SkPath path; |
| path.addRect(fRect); |
| return path; |
| } |
| |
| RRect::RRect(const SkRRect& rr) : fRRect(rr) {} |
| |
| void RRect::onClip(SkCanvas* canvas, bool antiAlias) const { |
| canvas->clipRRect(fRRect, SkClipOp::kIntersect, antiAlias); |
| } |
| |
| void RRect::onDraw(SkCanvas* canvas, const SkPaint& paint) const { |
| canvas->drawRRect(fRRect, paint); |
| } |
| |
| SkRect RRect::onRevalidate(InvalidationController*, const SkMatrix&) { |
| SkASSERT(this->hasInval()); |
| |
| return fRRect.getBounds(); |
| } |
| |
| SkPath RRect::onAsPath() const { |
| SkPath path; |
| path.addRRect(fRRect); |
| return path; |
| } |
| |
| } // namespace sksg |