31 #ifdef USE_SDL_MAINLOOP
37 #ifdef USE_WIN32_WINDOWS
41 CStdMessageProc() =
default;
42 ~CStdMessageProc()
override =
default;
51 bool Execute(
int iTimeout = -1, pollfd *dummy=
nullptr)
override;
52 HANDLE GetEvent()
override {
return STDSCHEDULER_EVENT_MESSAGE; }
67 bool Init(
int argc,
char * argv[]);
71 bool GetIndexedDisplayMode(int32_t iIndex, int32_t *piXRes, int32_t *piYRes, int32_t *piBitDepth, int32_t *piRefreshRate, uint32_t iMonitor);
72 bool SetVideoMode(
int iXRes,
int iYRes,
unsigned int iRefreshRate,
unsigned int iMonitor,
bool fFullScreen);
78 void ProcessQtEvents();
84 bool Copy(
const std::string &
text,
bool fClipboard =
true);
86 std::string
Paste(
bool fClipboard =
true);
103 HINSTANCE hInstance{
nullptr};
106 void SetLastErrorFromOS();
109 void SetInstance(HINSTANCE hInst) { hInstance = hInst; }
110 HINSTANCE GetInstance()
const {
return hInstance; }
114 if (idMainThread && idMainThread != ::GetCurrentThreadId())
131 #if defined(USE_SDL_MAINLOOP)
133 void HandleSDLEvent(SDL_Event& event);
135 #elif defined(USE_CONSOLE)
142 std::string GetGameDataPath();
145 #ifdef USE_WIN32_WINDOWS
147 CStdMessageProc MessageProc;
152 DEVMODEW dspMode, OldDspMode;
158 virtual bool DoInit(
int argc,
char * argv[]) = 0;
const char * KeycodeToString(C4KeyCode code)
void MessageDialog(const char *message)
bool SetVideoMode(int iXRes, int iYRes, unsigned int iRefreshRate, unsigned int iMonitor, bool fFullScreen)
bool IsClipboardFull(bool fClipboard=true)
virtual void OnResolutionChanged(unsigned int iXRes, unsigned int iYRes)=0
bool GetIndexedDisplayMode(int32_t iIndex, int32_t *piXRes, int32_t *piYRes, int32_t *piBitDepth, int32_t *piRefreshRate, uint32_t iMonitor)
~C4AbstractApp() override
virtual void OnCommand(const char *szCmd)=0
void NotifyUserIfInactive()
bool Copy(const std::string &text, bool fClipboard=true)
virtual void OnKeyboardLayoutChanged()=0
std::string Paste(bool fClipboard=true)
bool DoScheduleProcs(int iTimeout) override
virtual bool DoInit(int argc, char *argv[])=0
void Error(const char *m)
bool Init(int argc, char *argv[])
const char * GetLastError()
virtual bool Execute(int iTimeout=-1, pollfd *readyfds=nullptr)=0