aboutsummaryrefslogtreecommitdiff
path: root/src/osx/graphics/quartz/Convert.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/osx/graphics/quartz/Convert.cpp')
-rw-r--r--src/osx/graphics/quartz/Convert.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/osx/graphics/quartz/Convert.cpp b/src/osx/graphics/quartz/Convert.cpp
index 993b5b61..df62a206 100644
--- a/src/osx/graphics/quartz/Convert.cpp
+++ b/src/osx/graphics/quartz/Convert.cpp
@@ -49,4 +49,15 @@ CGDataProviderRef ConvertStreamToCGDataProvider(io::Stream* stream) {
&kStreamToCGDataProviderCallbacks);
}
+const CGDataConsumerCallbacks kStreamToCGDataConsumerCallbacks{
+ [](void* info, const void* buffer, size_t count) -> size_t {
+ return static_cast<io::Stream*>(info)->Write(
+ static_cast<const std::byte*>(buffer), count);
+ },
+ [](void* info) {}};
+
+CGDataConsumerRef ConvertStreamToCGDataConsumer(io::Stream* stream) {
+ return CGDataConsumerCreate(stream, &kStreamToCGDataConsumerCallbacks);
+}
+
} // namespace cru::platform::graphics::osx::quartz