aboutsummaryrefslogtreecommitdiff
path: root/src/osx/graphics/quartz/Convert.cpp
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2022-05-08 18:46:32 +0800
committercrupest <crupest@outlook.com>2022-05-08 18:46:32 +0800
commita7ca9057de3a01d5071406828f134e2e3bcfb49c (patch)
treed5fb0ce03ba86b1cb6db36ad6922a5ed0f0d9810 /src/osx/graphics/quartz/Convert.cpp
parent75c8a508acc3388b2c2f624bdf00fb155cd914f9 (diff)
downloadcru-a7ca9057de3a01d5071406828f134e2e3bcfb49c.tar.gz
cru-a7ca9057de3a01d5071406828f134e2e3bcfb49c.tar.bz2
cru-a7ca9057de3a01d5071406828f134e2e3bcfb49c.zip
...
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