aboutsummaryrefslogtreecommitdiff
path: root/src/platform/graphics/cairo/CairoPainter.cpp
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-12-04 22:23:45 +0800
committerYuqian Yang <crupest@crupest.life>2025-12-05 03:03:21 +0800
commit8dcca49f42627400773dcc707ebaa757cbeef37b (patch)
tree4466c1552dffa62bba518f247acf1ba3a98d3685 /src/platform/graphics/cairo/CairoPainter.cpp
parentd5d65b703244dfcc31228439e91ad0cfebb76456 (diff)
downloadcru-8dcca49f42627400773dcc707ebaa757cbeef37b.tar.gz
cru-8dcca49f42627400773dcc707ebaa757cbeef37b.tar.bz2
cru-8dcca49f42627400773dcc707ebaa757cbeef37b.zip
Impl sdl opengl renderer.
Diffstat (limited to 'src/platform/graphics/cairo/CairoPainter.cpp')
-rw-r--r--src/platform/graphics/cairo/CairoPainter.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/platform/graphics/cairo/CairoPainter.cpp b/src/platform/graphics/cairo/CairoPainter.cpp
index 1db00efa..97ef7fe0 100644
--- a/src/platform/graphics/cairo/CairoPainter.cpp
+++ b/src/platform/graphics/cairo/CairoPainter.cpp
@@ -242,10 +242,16 @@ void CairoPainter::EndDraw() {
if (device) {
cairo_device_flush(device);
}
+
+ if (end_draw_callback_) end_draw_callback_();
}
valid_ = false;
}
+void CairoPainter::SetEndDrawCallback(std::function<void()> action) {
+ end_draw_callback_ = std::move(action);
+}
+
void CairoPainter::CheckValidation() {
if (!valid_) {
throw ReuseException("Painter already ended drawing.");