blob: 16f0a6f1e1a29caadbe6c4e448498c5bec074ac0 [file] [log] [blame]
Florin Malita4aa44412017-12-19 12:21:02 -05001/*
2 * Copyright 2017 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#include "SkSGRect.h"
9
10#include "SkCanvas.h"
11#include "SkPaint.h"
Florin Malitae6345d92018-01-03 23:37:54 -050012#include "SkPath.h"
Florin Malita4aa44412017-12-19 12:21:02 -050013
14namespace sksg {
15
16Rect::Rect(const SkRect& rect) : fRect(rect) {}
17
Florin Malita38ea40e2018-01-29 16:31:14 -050018void Rect::onClip(SkCanvas* canvas, bool antiAlias) const {
19 canvas->clipRect(fRect, SkClipOp::kIntersect, antiAlias);
20}
21
Florin Malita4aa44412017-12-19 12:21:02 -050022void Rect::onDraw(SkCanvas* canvas, const SkPaint& paint) const {
23 canvas->drawRect(fRect, paint);
24}
25
Florin Malitac14f1442018-01-05 11:32:31 -050026SkRect Rect::onRevalidate(InvalidationController*, const SkMatrix&) {
27 SkASSERT(this->hasInval());
Florin Malitac75e2402018-01-03 16:17:29 -050028
Florin Malitac14f1442018-01-05 11:32:31 -050029 return fRect;
Florin Malita4aa44412017-12-19 12:21:02 -050030}
31
Florin Malitae6345d92018-01-03 23:37:54 -050032SkPath Rect::onAsPath() const {
33 SkPath path;
34 path.addRect(fRect);
35 return path;
36}
37
Florin Malita2e1d7e22018-01-02 10:40:00 -050038RRect::RRect(const SkRRect& rr) : fRRect(rr) {}
39
Florin Malita38ea40e2018-01-29 16:31:14 -050040void RRect::onClip(SkCanvas* canvas, bool antiAlias) const {
41 canvas->clipRRect(fRRect, SkClipOp::kIntersect, antiAlias);
42}
43
Florin Malita2e1d7e22018-01-02 10:40:00 -050044void RRect::onDraw(SkCanvas* canvas, const SkPaint& paint) const {
45 canvas->drawRRect(fRRect, paint);
46}
47
Florin Malitac14f1442018-01-05 11:32:31 -050048SkRect RRect::onRevalidate(InvalidationController*, const SkMatrix&) {
49 SkASSERT(this->hasInval());
Florin Malitac75e2402018-01-03 16:17:29 -050050
Florin Malitac14f1442018-01-05 11:32:31 -050051 return fRRect.getBounds();
Florin Malita2e1d7e22018-01-02 10:40:00 -050052}
53
Florin Malitae6345d92018-01-03 23:37:54 -050054SkPath RRect::onAsPath() const {
55 SkPath path;
56 path.addRRect(fRRect);
57 return path;
58}
59
Florin Malita4aa44412017-12-19 12:21:02 -050060} // namespace sksg