aboutsummaryrefslogtreecommitdiff
path: root/src/ui/render/CanvasRenderObject.cpp
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-12-11 23:51:58 +0800
committerYuqian Yang <crupest@crupest.life>2025-12-11 23:51:58 +0800
commitc0c0106cf47fdff397756913b8646541f3bb9928 (patch)
tree945d0a3662ac92577c966f49578e46ba743ea84b /src/ui/render/CanvasRenderObject.cpp
parente833e810aaa324d7de1630c2fb0528564b182742 (diff)
downloadcru-c0c0106cf47fdff397756913b8646541f3bb9928.tar.gz
cru-c0c0106cf47fdff397756913b8646541f3bb9928.tar.bz2
cru-c0c0106cf47fdff397756913b8646541f3bb9928.zip
Add paint invalid area.
Diffstat (limited to 'src/ui/render/CanvasRenderObject.cpp')
-rw-r--r--src/ui/render/CanvasRenderObject.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/ui/render/CanvasRenderObject.cpp b/src/ui/render/CanvasRenderObject.cpp
index 0c5ca3ed..9c516477 100644
--- a/src/ui/render/CanvasRenderObject.cpp
+++ b/src/ui/render/CanvasRenderObject.cpp
@@ -9,12 +9,6 @@ RenderObject* CanvasRenderObject::HitTest(const Point& point) {
return padding_rect.IsPointInside(point) ? this : nullptr;
}
-void CanvasRenderObject::Draw(platform::graphics::IPainter* painter) {
- const auto rect = GetContentRect();
- CanvasPaintEventArgs args{painter, rect.GetSize()};
- PaintEvent_.Raise(args);
-}
-
Size CanvasRenderObject::OnMeasureContent(
const MeasureRequirement& requirement) {
return requirement.Coerce(requirement.suggest.GetSizeOr({100, 100}));
@@ -23,4 +17,10 @@ Size CanvasRenderObject::OnMeasureContent(
void CanvasRenderObject::OnLayoutContent(const Rect& content_rect) {
CRU_UNUSED(content_rect)
}
+
+void CanvasRenderObject::OnDraw(RenderObjectDrawContext& context) {
+ const auto rect = GetContentRect();
+ CanvasPaintEventArgs args{context.painter, rect.GetSize()};
+ PaintEvent_.Raise(args);
+}
} // namespace cru::ui::render