aboutsummaryrefslogtreecommitdiffhomepage
path: root/experimental/sksg/SkSGDraw.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'experimental/sksg/SkSGDraw.cpp')
-rw-r--r--experimental/sksg/SkSGDraw.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/experimental/sksg/SkSGDraw.cpp b/experimental/sksg/SkSGDraw.cpp
index c8e621856a..56415fc86e 100644
--- a/experimental/sksg/SkSGDraw.cpp
+++ b/experimental/sksg/SkSGDraw.cpp
@@ -29,14 +29,16 @@ void Draw::onRender(SkCanvas* canvas) const {
fGeometry->draw(canvas, fPaint->makePaint());
}
-SkRect Draw::onRevalidate(InvalidationController* ic, const SkMatrix& ctm) {
+Node::RevalidationResult Draw::onRevalidate(InvalidationController* ic, const SkMatrix& ctm) {
SkASSERT(this->hasInval());
- // TODO: paint bounds extents
+ // TODO: adjust bounds for paint
const auto bounds = fGeometry->revalidate(ic, ctm);
fPaint->revalidate(ic, ctm);
- return bounds;
+ // Neither paint nor geometry contribute to damage directly; instead we generate
+ // damage here, at the binding point.
+ return { bounds, Damage::kForceSelf };
}
} // namespace sksg