aboutsummaryrefslogtreecommitdiff
path: root/src/platform/graphics/cairo/CairoPainter.cpp
diff options
context:
space:
mode:
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.");