aboutsummaryrefslogtreecommitdiff
path: root/include/cru/platform/graphics
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 /include/cru/platform/graphics
parentd5d65b703244dfcc31228439e91ad0cfebb76456 (diff)
downloadcru-8dcca49f42627400773dcc707ebaa757cbeef37b.tar.gz
cru-8dcca49f42627400773dcc707ebaa757cbeef37b.tar.bz2
cru-8dcca49f42627400773dcc707ebaa757cbeef37b.zip
Impl sdl opengl renderer.
Diffstat (limited to 'include/cru/platform/graphics')
-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_;