From 27f153af927c056af5cec70db5f011752e29b156 Mon Sep 17 00:00:00 2001 From: Yuqian Yang Date: Fri, 12 Sep 2025 00:42:36 +0800 Subject: Organize bootstrap and graphics demos. --- src/platform/bootstrap/GraphicsBootstrap.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/platform/bootstrap/GraphicsBootstrap.cpp (limited to 'src/platform/bootstrap/GraphicsBootstrap.cpp') 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 -- cgit v1.2.3