aboutsummaryrefslogtreecommitdiff
path: root/include/cru/platform/graphics/cairo/CairoPainter.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/cru/platform/graphics/cairo/CairoPainter.h')
-rw-r--r--include/cru/platform/graphics/cairo/CairoPainter.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/cru/platform/graphics/cairo/CairoPainter.h b/include/cru/platform/graphics/cairo/CairoPainter.h
index 0833e42b..039cef60 100644
--- a/include/cru/platform/graphics/cairo/CairoPainter.h
+++ b/include/cru/platform/graphics/cairo/CairoPainter.h
@@ -4,6 +4,7 @@
#include <cru/base/Base.h>
#include <cru/platform/graphics/Painter.h>
+#include <functional>
#include <vector>
namespace cru::platform::graphics::cairo {
@@ -48,6 +49,8 @@ class CRU_PLATFORM_GRAPHICS_CAIRO_API CairoPainter : public CairoResource,
void EndDraw() override;
+ void SetEndDrawCallback(std::function<void()> action);
+
private:
void CheckValidation();
@@ -55,6 +58,7 @@ class CRU_PLATFORM_GRAPHICS_CAIRO_API CairoPainter : public CairoResource,
cairo_t* cairo_;
bool auto_release_;
+ std::function<void()> end_draw_callback_;
cairo_surface_t* cairo_surface_;