blob: 146d248b8e76993066c9ea2fc69beb4ed3b89808 [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
Florin Malitac14f1442018-01-05 11:32:31 -050012// Paint nodes don't generate damage on their own, but via their aggregation ancestor Draw nodes.
13PaintNode::PaintNode() : INHERITED(kBubbleDamage_Trait) {}
Florin Malita4aa44412017-12-19 12:21:02 -050014
15const SkPaint& PaintNode::makePaint() {
Florin Malitac75e2402018-01-03 16:17:29 -050016 SkASSERT(!this->hasInval());
Florin Malita4aa44412017-12-19 12:21:02 -050017
18 return fPaint;
19}
20
Florin Malitac14f1442018-01-05 11:32:31 -050021SkRect PaintNode::onRevalidate(InvalidationController*, const SkMatrix&) {
Florin Malitac75e2402018-01-03 16:17:29 -050022 SkASSERT(this->hasInval());
Florin Malita4aa44412017-12-19 12:21:02 -050023
Florin Malitac14f1442018-01-05 11:32:31 -050024 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 Malitac14f1442018-01-05 11:32:31 -050032 this->onApplyToPaint(&fPaint);
Florin Malitac75e2402018-01-03 16:17:29 -050033
Florin Malitac14f1442018-01-05 11:32:31 -050034 return SkRect::MakeEmpty();
Florin Malita4aa44412017-12-19 12:21:02 -050035}
36
37} // namespace sksg