diff options
author | 2016-02-18 15:57:34 +0100 | |
---|---|---|
committer | 2016-02-21 03:03:23 +0100 | |
commit | 9a47a870df619656e9092f2f77622e84e640307a (patch) | |
tree | b8640bf79ffb55d0c9ed6fc27bbd4ce16a5e1a2e /src/osd/modules/osdwindow.cpp | |
parent | dadf8e7d79696996ab3ef840fe99a588ede538fa (diff) |
First take on render API reorg, nw
Diffstat (limited to 'src/osd/modules/osdwindow.cpp')
-rw-r--r-- | src/osd/modules/osdwindow.cpp | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/osd/modules/osdwindow.cpp b/src/osd/modules/osdwindow.cpp new file mode 100644 index 00000000000..0f81a8a9ce7 --- /dev/null +++ b/src/osd/modules/osdwindow.cpp @@ -0,0 +1,57 @@ +// license:BSD-3-Clause +// copyright-holders:Olivier Galibert, R. Belmont, Couriersud +//============================================================ +// +// osdwindow.cpp - SDL window handling +// +//============================================================ + +// standard windows headers +#define WIN32_LEAN_AND_MEAN +#include <windows.h> +#include <windowsx.h> +#include <mmsystem.h> + +#include "osdwindow.h" + +#include "render/drawnone.h" +#include "render/drawbgfx.h" +#include "render/drawogl.h" +#if OSD_WINDOWS +#include "render/drawgdi.h" +#include "render/drawd3d.h" +#else +#include "render/draw13.h" +#include "render/drawsdl.h" +#endif + +osd_renderer* osd_renderer::make_for_type(int mode, osd_window* window, int extra_flags) +{ + switch(mode) + { + case VIDEO_MODE_NONE: + return new renderer_none(window); + case VIDEO_MODE_BGFX: + return new renderer_bgfx(window); +#if (USE_OPENGL) + case VIDEO_MODE_OPENGL: + return new renderer_ogl(window); +#endif +#if OSD_WINDOWS + case VIDEO_MODE_GDI: + return new renderer_gdi(window); + case VIDEO_MODE_D3D: + { + osd_renderer *renderer = new renderer_d3d9(window); + return renderer; + } +#else + case VIDEO_MODE_SDL2ACCEL: + return new renderer_sdl2(window, extra_flags); + case VIDEO_MODE_SOFT: + return new renderer_sdl1(window, extra_flags); +#endif + default: + return nullptr; + } +}
\ No newline at end of file |