AppleWin/source/frontends/common2/programoptions.h
Andrea Odetti 3b917e93be common2: add namespace and reformat everything with space over tabs.
This makes it "possible" to use other editors (than emacs).

Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2021-02-25 16:04:50 +00:00

61 lines
1.5 KiB
C++

#pragma once
#include <string>
#include <vector>
namespace common2
{
struct Geometry
{
int width;
int height;
int x;
int y;
};
struct EmulatorOptions
{
std::string disk1;
std::string disk2;
std::string snapshotFilename;
bool loadSnapshot = false;
int memclear = 0;
bool log = false;
bool benchmark = false;
bool headless = false;
bool ntsc = false; // only for applen
bool paddleSquaring = true; // turn the x/y range to a square
// on my PC it is something like
// "/dev/input/by-id/usb-©Microsoft_Corporation_Controller_1BBE3DB-event-joystick"
std::string paddleDeviceName;
bool saveConfigurationOnExit = false;
bool useQtIni = false; // use Qt .ini file (read only)
bool run = true; // false if options include "-h"
bool multiThreaded = false;
bool looseMutex = false; // whether SDL_UpdateTexture is mutex protected (from CPU)
int timerInterval = 16; // only when multithreaded
bool fixedSpeed = false; // default adaptive
int sdlDriver = -1; // default = -1 to let SDL choose
bool imgui = false; // use imgui renderer
Geometry geometry; // must be initialised with defaults
int glSwapInterval = 1; // SDL_GL_SetSwapInterval
std::vector<std::string> registryOptions;
};
bool getEmulatorOptions(int argc, const char * argv [], const std::string & edition, EmulatorOptions & options);
void applyOptions(const EmulatorOptions & options);
}