diff options
Diffstat (limited to 'experimental/sksg/SkSGDraw.cpp')
-rw-r--r-- | experimental/sksg/SkSGDraw.cpp | 8 |
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 |