blob: fbdfae5d69ce7fd92e4ef2ff97bee22e4770c9c5 [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 "SkSGPaintNode.h"
9
10namespace sksg {
11
12PaintNode::PaintNode() {}
13
14const SkPaint& PaintNode::makePaint() {
Florin Malitac75e2402018-01-03 16:17:29 -050015 SkASSERT(!this->hasInval());
Florin Malita4aa44412017-12-19 12:21:02 -050016
17 return fPaint;
18}
19
Florin Malitac75e2402018-01-03 16:17:29 -050020SkRect PaintNode::onRevalidate(InvalidationController*, const SkMatrix&) {
21 SkASSERT(this->hasInval());
Florin Malita4aa44412017-12-19 12:21:02 -050022
Florin Malitac75e2402018-01-03 16:17:29 -050023 if (this->hasSelfInval()) {
24 fPaint.reset();
25 fPaint.setAntiAlias(fAntiAlias);
26 fPaint.setStyle(fStyle);
27 fPaint.setStrokeWidth(fStrokeWidth);
28 fPaint.setStrokeMiter(fStrokeMiter);
29 fPaint.setStrokeJoin(fStrokeJoin);
30 fPaint.setStrokeCap(fStrokeCap);
Florin Malitafa8d49a2017-12-29 11:52:44 -050031
Florin Malitac75e2402018-01-03 16:17:29 -050032 this->onApplyToPaint(&fPaint);
33 }
34
35 return SkRect::MakeEmpty();
Florin Malita4aa44412017-12-19 12:21:02 -050036}
37
38} // namespace sksg