blob: cce42af8e28764f6223ed95657c8924b49f4e211 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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
|