aboutsummaryrefslogtreecommitdiff
path: root/src/platform/bootstrap/GraphicsBootstrap.cpp
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-09-12 00:42:36 +0800
committerYuqian Yang <crupest@crupest.life>2025-09-12 00:42:36 +0800
commit27f153af927c056af5cec70db5f011752e29b156 (patch)
treecdbe0a61f037cd1641f23f681d221a3206454411 /src/platform/bootstrap/GraphicsBootstrap.cpp
parent7c135df9b8057e1de3ea6a73fb785d5622b519d4 (diff)
downloadcru-27f153af927c056af5cec70db5f011752e29b156.tar.gz
cru-27f153af927c056af5cec70db5f011752e29b156.tar.bz2
cru-27f153af927c056af5cec70db5f011752e29b156.zip
Organize bootstrap and graphics demos.
Diffstat (limited to 'src/platform/bootstrap/GraphicsBootstrap.cpp')
-rw-r--r--src/platform/bootstrap/GraphicsBootstrap.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/platform/bootstrap/GraphicsBootstrap.cpp b/src/platform/bootstrap/GraphicsBootstrap.cpp
new file mode 100644
index 00000000..cce42af8
--- /dev/null
+++ b/src/platform/bootstrap/GraphicsBootstrap.cpp
@@ -0,0 +1,25 @@
+#include "cru/platform/bootstrap/GraphicsBootstrap.h"
+
+#if defined(_WIN32)
+#include "cru/platform/graphics/direct2d/Factory.h"
+#elif defined(__APPLE__)
+#include "cru/platform/graphics/quartz/Factory.h"
+#elif defined(__unix)
+#include "cru/platform/graphics/cairo/CairoGraphicsFactory.h"
+#else
+#endif
+
+namespace cru::platform::bootstrap {
+CRU_PLATFORM_GRAPHICS_BOOTSTRAP_API cru::platform::graphics::IGraphicsFactory*
+CreateGraphicsFactory() {
+#if defined(_WIN32)
+ return new cru::platform::graphics::direct2d::DirectGraphicsFactory();
+#elif defined(__APPLE__)
+ return new cru::platform::graphics::quartz::QuartzGraphicsFactory();
+#elif defined(__unix)
+ return new cru::platform::graphics::cairo::CairoGraphicsFactory();
+#else
+ NotImplemented();
+#endif
+}
+} // namespace cru::platform::bootstrap