diff options
Diffstat (limited to 'src/osd/sdl/sdlopts.h')
-rw-r--r-- | src/osd/sdl/sdlopts.h | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/src/osd/sdl/sdlopts.h b/src/osd/sdl/sdlopts.h new file mode 100644 index 00000000000..f6338fe1db6 --- /dev/null +++ b/src/osd/sdl/sdlopts.h @@ -0,0 +1,100 @@ +// license:BSD-3-Clause +// copyright-holders:Olivier Galibert, R. Belmont +#ifndef MAME_OSD_SDL_SDLOPTS_H +#define MAME_OSD_SDL_SDLOPTS_H + +#pragma once + +#include "modules/lib/osdobj_common.h" + + +//============================================================ +// Option identifiers +//============================================================ + +#define SDLOPTION_INIPATH "inipath" +#define SDLOPTION_SDLVIDEOFPS "sdlvideofps" +#define SDLOPTION_USEALLHEADS "useallheads" +#define SDLOPTION_ATTACH_WINDOW "attach_window" +#define SDLOPTION_CENTERH "centerh" +#define SDLOPTION_CENTERV "centerv" + +#define SDLOPTION_SCALEMODE "scalemode" + +#define SDLOPTION_WAITVSYNC "waitvsync" +#define SDLOPTION_SYNCREFRESH "syncrefresh" +#define SDLOPTION_KEYMAP "keymap" +#define SDLOPTION_KEYMAP_FILE "keymap_file" + +#define SDLOPTION_ENABLE_TOUCH "enable_touch" +#define SDLOPTION_SIXAXIS "sixaxis" +#define SDLOPTION_DUAL_LIGHTGUN "dual_lightgun" +#if defined(USE_XINPUT) && USE_XINPUT +#define SDLOPTION_LIGHTGUNINDEX "lightgun_index" +#endif + +#define SDLOPTION_AUDIODRIVER "audiodriver" +#define SDLOPTION_VIDEODRIVER "videodriver" +#define SDLOPTION_RENDERDRIVER "renderdriver" +#define SDLOPTION_GL_LIB "gl_lib" + + +//============================================================ +// Option values +//============================================================ + +#define SDLOPTVAL_OPENGL "opengl" +#define SDLOPTVAL_SOFT "soft" +#define SDLOPTVAL_SDL2ACCEL "accel" +#define SDLOPTVAL_BGFX "bgfx" + +#ifdef SDLMAME_MACOSX +/* Vas Crabb: Default GL-lib for MACOSX */ +#define SDLOPTVAL_GLLIB "/System/Library/Frameworks/OpenGL.framework/Libraries/libGL.dylib" +#else +#define SDLOPTVAL_GLLIB OSDOPTVAL_AUTO +#endif + + +//============================================================ +// TYPE DEFINITIONS +//============================================================ + +class sdl_options : public osd_options +{ +public: + // construction/destruction + sdl_options(); + + // performance options + bool video_fps() const { return bool_value(SDLOPTION_SDLVIDEOFPS); } + + // video options + bool centerh() const { return bool_value(SDLOPTION_CENTERH); } + bool centerv() const { return bool_value(SDLOPTION_CENTERV); } + const char *scale_mode() const { return value(SDLOPTION_SCALEMODE); } + + // full screen options +#if defined(SDLMAME_X11) + bool use_all_heads() const { return bool_value(SDLOPTION_USEALLHEADS); } + const char *attach_window() const { return value(SDLOPTION_ATTACH_WINDOW); } +#endif // SDLMAME_X11 + + // keyboard mapping + bool keymap() const { return bool_value(SDLOPTION_KEYMAP); } + const char *keymap_file() const { return value(SDLOPTION_KEYMAP_FILE); } + + // input options + bool enable_touch() const { return bool_value(SDLOPTION_ENABLE_TOUCH); } + bool sixaxis() const { return bool_value(SDLOPTION_SIXAXIS); } + bool dual_lightgun() const { return bool_value(SDLOPTION_DUAL_LIGHTGUN); } + + const char *video_driver() const { return value(SDLOPTION_VIDEODRIVER); } + const char *render_driver() const { return value(SDLOPTION_RENDERDRIVER); } + const char *audio_driver() const { return value(SDLOPTION_AUDIODRIVER); } +#if USE_OPENGL + const char *gl_lib() const { return value(SDLOPTION_GL_LIB); } +#endif +}; + +#endif // MAME_OSD_SDL_SDLOPTS_H |