ScummVM API documentation
system.h
1/* ScummVM - Graphic Adventure Engine
2 *
3 * ScummVM is the legal property of its developers, whose names
4 * are too numerous to list here. Please refer to the COPYRIGHT
5 * file distributed with this source distribution.
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 *
20 */
21
22#ifndef COMMON_SYSTEM_H
23#define COMMON_SYSTEM_H
24
25#include "common/scummsys.h"
26#include "common/noncopyable.h"
27#include "common/array.h" // For OSystem::getGlobalKeymaps()
28#include "common/list.h" // For OSystem::getSupportedFormats()
29#include "common/ustr.h"
30#include "common/str-array.h" // For OSystem::updateStartSettings()
31#include "common/hash-str.h" // For OSystem::updateStartSettings()
32#include "common/path.h"
33#include "common/log.h"
34#include "common/frac.h"
35#include "graphics/pixelformat.h"
36#include "graphics/mode.h"
37#include "graphics/opengl/context.h"
38
39namespace Audio {
40class Mixer;
41}
42
43namespace Graphics {
44class CursorManager;
45struct Surface;
46}
47
48namespace GUI {
49class GuiObject;
50class OptionsContainerWidget;
51}
52
53namespace DLC {
54class Store;
55}
56
57namespace Common {
58class EventManager;
59class MutexInternal;
60struct Rect;
61class SaveFileManager;
62class SearchSet;
63class String;
64#if defined(USE_TASKBAR)
65class TaskbarManager;
66#endif
67#if defined(USE_UPDATES)
68class UpdateManager;
69#endif
70class TextToSpeechManager;
71#if defined(USE_SYSDIALOGS)
72class DialogManager;
73#endif
74class PrintingManager;
75class TimerManager;
76class SeekableReadStream;
77class WriteStream;
78class HardwareInputSet;
79class Keymap;
80class KeymapperDefaultBindings;
81
82enum RotationMode : int;
83
84typedef Array<Keymap *> KeymapArray;
85}
86
96class AudioCDManager;
98class PaletteManager;
99
111struct TimeDate {
112 int tm_sec;
113 int tm_min;
116 int tm_mon;
119};
120
127
130
134
140};
141
142#if defined(USE_IMGUI)
143typedef struct ImGuiCallbacks {
144 void (*init)() = nullptr;
145 void (*render)() = nullptr;
146 void (*cleanup)() = nullptr;
147} ImGuiCallbacks;
148#endif
149
167 friend class Graphics::CursorManager;
168
169protected:
170 OSystem();
171 virtual ~OSystem();
172
173protected:
203
210
217
224
225#if defined(USE_TASKBAR)
231 Common::TaskbarManager *_taskbarManager;
232#endif
233
234#if defined(USE_UPDATES)
240 Common::UpdateManager *_updateManager;
241#endif
242
249
250#if defined(USE_SYSDIALOGS)
257#endif
258
269
276
281
287
293private:
297 bool _backendInitialized;
298
300
301public:
302
306 void destroy();
307
311 virtual void init() {}
312
321 virtual void initBackend();
322
329 bool backendInitialized() const { return _backendInitialized; }
330
336 virtual void engineInit() { }
337
343 virtual void engineDone() { }
344
348 enum Task {
353
358
363 };
364
368 virtual void taskStarted(Task) { }
369
373 virtual void taskFinished(Task) { }
374
385 virtual void updateStartSettings(const Common::String &executable, Common::String &command, Common::StringMap &startSettings, Common::StringArray& additionalArgs);
386
415 enum Feature {
421
439
445
450
457
469
475
481
487
494
503
509
515
521
528
536
549
557
562
567
572
577
582
587
593
598
605
611
616
621
626
632
637
647 };
648
652 virtual bool hasFeature(Feature f) { return false; }
653
660 virtual void setFeatureState(Feature f, bool enable) {}
661
667 virtual bool getFeatureState(Feature f) { return false; }
668
748 const char *name;
754 const char *description;
761 int id;
762 };
763
775 static const GraphicsMode noGraphicsModes[] = {{"NONE", "Normal", 0}, {nullptr, nullptr, 0 }};
776 return noGraphicsModes;
777 }
778
787 virtual int getDefaultGraphicsMode() const { return 0; }
788
791 kGfxModeRender3d = (1 << 0)
792 };
793
807 virtual bool setGraphicsMode(int mode, uint flags = kGfxModeNoFlags) { return (mode == 0); }
808
822 bool setGraphicsMode(const char *name);
823
829 virtual int getGraphicsMode() const { return 0; }
830
831#ifdef USE_RGB_COLOR
843 virtual Graphics::PixelFormat getScreenFormat() const = 0;
844
868 virtual Common::List<Graphics::PixelFormat> getSupportedFormats() const = 0;
869#else
870 inline Graphics::PixelFormat getScreenFormat() const {
872 }
873
874 inline Common::List<Graphics::PixelFormat> getSupportedFormats() const {
877 return list;
878 }
879#endif
880
888 return Common::Array<uint>();
889 }
890
901 virtual OpenGL::ContextType getOpenGLType() const {
902 return OpenGL::kContextNone;
903 }
904
905#if defined(USE_OPENGL) && defined(USE_GLAD)
917 virtual void *getOpenGLProcAddress(const char *name) const { return nullptr; }
918#endif
919
920#if defined(USE_IMGUI)
928 virtual void setImGuiCallbacks(const ImGuiCallbacks &callbacks) {}
938 virtual void *getImGuiTexture(const Graphics::Surface &image, const byte *palette = nullptr, int palCount = 0) { return nullptr; }
944 virtual void freeImGuiTexture(void *texture) {}
945#endif
946
956 virtual bool setShader(const Common::Path &fileName) { return false; }
957
967 virtual const GraphicsMode *getSupportedStretchModes() const {
968 static const GraphicsMode noStretchModes[] = {{"NONE", "Normal", 0}, {nullptr, nullptr, 0 }};
969 return noStretchModes;
970 }
971
981 virtual int getDefaultStretchMode() const { return 0; }
982
992 virtual bool setStretchMode(int mode) { return false; }
993
1008 bool setStretchMode(const char *name);
1009
1015 virtual int getStretchMode() const { return 0; }
1016
1026 virtual bool setRotationMode(Common::RotationMode rotation) { return false; }
1027
1037 bool setRotationMode(int rotation);
1038
1048 virtual uint getDefaultScaler() const { return 0; }
1049
1059 virtual uint getDefaultScaleFactor() const { return 1; }
1060
1071 virtual bool setScaler(uint mode, int factor) { return false; }
1072
1084 virtual bool setScaler(const char *name, int factor) { return false; }
1085
1091 virtual uint getScaler() const { return 0; }
1092
1098 virtual uint getScaleFactor() const { return 1; }
1099
1100
1129 virtual void initSize(uint width, uint height, const Graphics::PixelFormat *format = nullptr) = 0;
1130
1141 virtual void initSizeHint(const Graphics::ModeList &modes) {}
1142
1157 virtual int getScreenChangeID() const { return 0; }
1158
1177 virtual void beginGFXTransaction() {}
1178
1199 };
1200
1210
1218 virtual int16 getHeight() = 0;
1219
1227 virtual int16 getWidth() = 0;
1228
1235
1240 virtual float getHiDPIScreenFactor() const { return 1.0f; }
1241
1269 virtual void copyRectToScreen(const void *buf, int pitch, int x, int y, int w, int h) = 0;
1270
1290
1295 virtual void unlockScreen() = 0;
1296
1300 virtual void fillScreen(uint32 col) = 0;
1301
1305 virtual void fillScreen(const Common::Rect &r, uint32 col) = 0;
1306
1316 virtual void updateScreen() = 0;
1317
1321 virtual void presentBuffer() {}
1322
1342 virtual void setShakePos(int shakeXOffset, int shakeYOffset) = 0;
1343
1358 virtual void setFocusRectangle(const Common::Rect& rect) {}
1359
1368 virtual void clearFocusRectangle() {}
1369
1375 virtual void saveScreenshot() {}
1376
1405 virtual void showOverlay(bool inGUI = true) = 0;
1406
1408 virtual void hideOverlay() = 0;
1409
1411 virtual bool isOverlayVisible() const = 0;
1412
1419
1430 virtual void clearOverlay() = 0;
1431
1438 virtual void grabOverlay(Graphics::Surface &surface) = 0;
1439
1455 virtual void copyRectToOverlay(const void *buf, int pitch, int x, int y, int w, int h) = 0;
1456
1462 virtual int16 getOverlayHeight() const = 0;
1463
1469 virtual int16 getOverlayWidth() const = 0;
1470
1482 virtual Common::Rect getSafeOverlayArea(int16 *width = nullptr, int16 *height = nullptr) const;
1483
1497protected:
1510 virtual bool showMouse(bool visible) = 0;
1511
1531 virtual void setMouseCursor(const void *buf, uint w, uint h, int hotspotX, int hotspotY, uint32 keycolor, const Graphics::PixelFormat *format, const byte *mask, frac_t scaleX, frac_t scaleY) = 0;
1532
1544 virtual void setCursorPalette(const byte *colors, uint start, uint num) {}
1545
1546public:
1551 virtual bool lockMouse(bool lock) { return false; }
1552
1560 virtual void warpMouse(int x, int y) = 0;
1561
1566 virtual uint32 getDoubleClickTime() const { return 0; }
1567
1584 virtual uint32 getMillis(bool skipRecord = false) = 0;
1585
1587 virtual void delayMillis(uint msecs) = 0;
1588
1595 virtual void getTimeAndDate(TimeDate &td, bool skipRecord = false) const = 0;
1596
1603
1610 return _eventManager;
1611 }
1612
1620 virtual Common::HardwareInputSet *getHardwareInputSet() { return nullptr; }
1621
1632
1641
1670
1685 virtual Audio::Mixer *getMixer() = 0;
1686
1702 return _audiocdManager;
1703 }
1704
1715 virtual void quit() = 0;
1716
1722 virtual void fatalError();
1723
1730 virtual void setWindowCaption(const Common::U32String &caption) {}
1731
1748 virtual void displayMessageOnOSD(const Common::U32String &msg) = 0;
1749
1767 virtual void displayActivityIconOnOSD(const Graphics::Surface *icon) = 0;
1782
1783#if defined(USE_TASKBAR)
1790 virtual Common::TaskbarManager *getTaskbarManager() {
1791 return _taskbarManager;
1792 }
1793#endif
1794
1795#if defined(USE_UPDATES)
1802 virtual Common::UpdateManager *getUpdateManager() {
1803 return _updateManager;
1804 }
1805#endif
1806
1813 return _textToSpeechManager;
1814 }
1815
1822 return _printingManager;
1823 }
1824
1825#if defined(USE_SYSDIALOGS)
1832 return _dialogManager;
1833 }
1834#endif
1835
1842 return _dlcStore;
1843 }
1844
1867 virtual void addSysArchivesToSearchSet(Common::SearchSet &s, int priority);
1868
1876
1886
1894
1902
1909 virtual void registerDefaultSettings(const Common::String &target) const {}
1910
1924 virtual GUI::OptionsContainerWidget *buildBackendOptionsWidget(GUI::GuiObject *boss, const Common::String &name, const Common::String &target) const { return nullptr; }
1925
1936 virtual const char * const *buildHelpDialogData() { return nullptr; }
1937
1943 virtual void applyBackendSettings() {}
1944
1957 virtual void logMessage(LogMessageType::Type type, const char *message) = 0;
1958
1965 virtual void messageBox(LogMessageType::Type type, const char *message) {}
1966
1992 virtual bool displayLogFile() { return false; }
1993
2003 virtual bool hasTextInClipboard() { return !_clipboard.empty(); }
2004
2015
2025 virtual bool setTextInClipboard(const Common::U32String &text) { _clipboard = text; return true; }
2026
2039 virtual bool openUrl(const Common::String &url) {return false; }
2040
2059
2065 virtual bool isConnectionLimited();
2066
2068};
2069
2070
2072extern OSystem *g_system;
2073
2076#endif
Definition: mixer.h:70
Definition: audiocd.h:33
Definition: dialogs.h:47
Definition: events.h:491
Definition: hardware-input.h:199
Definition: keymapper-defaults.h:32
Definition: list.h:44
void push_back(const t_T &element)
Definition: list.h:174
Definition: mutex.h:40
Definition: noncopyable.h:39
Definition: path.h:52
Definition: printman.h:41
Definition: savefile.h:142
Definition: archive.h:330
Definition: stream.h:745
Definition: str.h:59
Definition: text-to-speech.h:150
Definition: timer.h:40
Definition: ustr.h:57
Definition: stream.h:77
Definition: store.h:32
Definition: fs-factory.h:31
Definition: object.h:60
Definition: widget.h:542
Definition: cursorman.h:43
Definition: system.h:166
void destroy()
virtual void initBackend()
virtual void engineDone()
Definition: system.h:343
virtual void engineInit()
Definition: system.h:336
virtual void init()
Definition: system.h:311
bool backendInitialized() const
Definition: system.h:329
Task
Definition: system.h:348
virtual void updateStartSettings(const Common::String &executable, Common::String &command, Common::StringMap &startSettings, Common::StringArray &additionalArgs)
virtual void taskFinished(Task)
Definition: system.h:373
virtual void taskStarted(Task)
Definition: system.h:368
Definition: paletteman.h:47
int32 frac_t
Definition: frac.h:52
RotationMode
Definition: rotationmode.h:44
AudioCDManager * getAudioCDManager()
Definition: system.h:1701
virtual Common::KeymapperDefaultBindings * getKeymapperDefaultBindings()
Definition: system.h:1640
virtual void getTimeAndDate(TimeDate &td, bool skipRecord=false) const =0
virtual uint32 getMillis(bool skipRecord=false)=0
virtual Common::TimerManager * getTimerManager()
virtual void delayMillis(uint msecs)=0
Common::EventManager * getEventManager()
Definition: system.h:1609
virtual Common::HardwareInputSet * getHardwareInputSet()
Definition: system.h:1620
virtual Common::KeymapArray getGlobalKeymaps()
Definition: system.h:1631
virtual bool getFeatureState(Feature f)
Definition: system.h:667
Feature
Definition: system.h:415
virtual bool hasFeature(Feature f)
Definition: system.h:652
virtual void setFeatureState(Feature f, bool enable)
Definition: system.h:660
@ kFeatureIconifyWindow
Definition: system.h:508
@ kFeatureDisplayLogFile
Definition: system.h:535
@ kFeatureClipboardSupport
Definition: system.h:548
@ kFeatureStretchMode
Definition: system.h:449
@ kFeatureVirtualKeyboard
Definition: system.h:456
@ kFeatureCursorMaskPaletteXorColorXnor
Definition: system.h:493
@ kFeatureFilteringMode
Definition: system.h:444
@ kFeatureShadersForGame
Definition: system.h:520
@ kFeatureFullscreenMode
Definition: system.h:420
@ kFeatureRotationMode
Definition: system.h:636
@ kFeatureCpuSSE2
Definition: system.h:615
@ kFeatureCursorMask
Definition: system.h:480
@ kFeatureSystemBrowserDialog
Definition: system.h:592
@ kFeatureTouchscreen
Definition: system.h:604
@ kFeatureNoQuit
Definition: system.h:597
@ kFeatureCpuNEON
Definition: system.h:610
@ kFeatureAspectRatioCorrection
Definition: system.h:438
@ kFeatureOpenUrl
Definition: system.h:556
@ kFeatureTouchpadMode
Definition: system.h:561
@ kFeatureJoystickDeadzone
Definition: system.h:571
@ kFeatureCursorAlpha
Definition: system.h:474
@ kFeatureCursorMaskInvert
Definition: system.h:486
@ kFeatureCpuAVX2
Definition: system.h:625
@ kFeatureKbdMouseSpeed
Definition: system.h:566
@ kFeatureCpuAltivec
Definition: system.h:631
@ kFeatureCpuSSE41
Definition: system.h:620
@ kFeatureStaleMousePositionWorkaround
Definition: system.h:646
@ kFeatureOverlaySupportsAlpha
Definition: system.h:502
@ kFeatureScalers
Definition: system.h:576
@ kFeatureCursorPalette
Definition: system.h:468
@ kFeatureVSync
Definition: system.h:527
@ kFeatureDLC
Definition: system.h:586
@ kFeatureShaders
Definition: system.h:581
@ kFeatureOpenGLForGame
Definition: system.h:514
virtual const GraphicsMode * getSupportedGraphicsModes() const
Definition: system.h:774
virtual TransactionError endGFXTransaction()
Definition: system.h:1209
virtual OpenGL::ContextType getOpenGLType() const
Definition: system.h:901
virtual int16 getWidth()=0
virtual void initSizeHint(const Graphics::ModeList &modes)
Definition: system.h:1141
virtual int getGraphicsMode() const
Definition: system.h:829
virtual const GraphicsMode * getSupportedStretchModes() const
Definition: system.h:967
virtual bool setShader(const Common::Path &fileName)
Definition: system.h:956
virtual int16 getHeight()=0
virtual bool setScaler(uint mode, int factor)
Definition: system.h:1071
virtual void setShakePos(int shakeXOffset, int shakeYOffset)=0
virtual int getDefaultStretchMode() const
Definition: system.h:981
virtual void setFocusRectangle(const Common::Rect &rect)
Definition: system.h:1358
TransactionError
Definition: system.h:1188
virtual PaletteManager * getPaletteManager()=0
virtual uint getScaleFactor() const
Definition: system.h:1098
virtual bool setRotationMode(Common::RotationMode rotation)
Definition: system.h:1026
virtual Graphics::Surface * lockScreen()=0
virtual void beginGFXTransaction()
Definition: system.h:1177
virtual void clearFocusRectangle()
Definition: system.h:1368
virtual void updateScreen()=0
virtual void presentBuffer()
Definition: system.h:1321
virtual Common::Array< uint > getSupportedAntiAliasingLevels() const
Definition: system.h:887
virtual float getHiDPIScreenFactor() const
Definition: system.h:1240
virtual bool setGraphicsMode(int mode, uint flags=kGfxModeNoFlags)
Definition: system.h:807
virtual void initSize(uint width, uint height, const Graphics::PixelFormat *format=nullptr)=0
virtual uint getDefaultScaler() const
Definition: system.h:1048
virtual uint getDefaultScaleFactor() const
Definition: system.h:1059
virtual int getScreenChangeID() const
Definition: system.h:1157
virtual void copyRectToScreen(const void *buf, int pitch, int x, int y, int w, int h)=0
virtual void unlockScreen()=0
virtual int getStretchMode() const
Definition: system.h:1015
virtual void saveScreenshot()
Definition: system.h:1375
virtual bool setScaler(const char *name, int factor)
Definition: system.h:1084
virtual void fillScreen(const Common::Rect &r, uint32 col)=0
bool setGraphicsMode(const char *name)
GfxModeFlags
Definition: system.h:789
bool setRotationMode(int rotation)
virtual void fillScreen(uint32 col)=0
virtual uint getScaler() const
Definition: system.h:1091
virtual bool setStretchMode(int mode)
Definition: system.h:992
virtual int getDefaultGraphicsMode() const
Definition: system.h:787
bool setStretchMode(const char *name)
@ kTransactionStretchModeSwitchFailed
Definition: system.h:1196
@ kTransactionVSyncFailed
Definition: system.h:1198
@ kTransactionModeSwitchFailed
Definition: system.h:1192
@ kTransactionAspectRatioFailed
Definition: system.h:1190
@ kTransactionSuccess
Definition: system.h:1189
@ kTransactionFilteringFailed
Definition: system.h:1195
@ kTransactionFormatNotSupported
Definition: system.h:1194
@ kTransactionShaderChangeFailed
Definition: system.h:1197
@ kTransactionFullscreenFailed
Definition: system.h:1191
@ kTransactionSizeChangeFailed
Definition: system.h:1193
@ kGfxModeNoFlags
Definition: system.h:790
@ kGfxModeRender3d
Definition: system.h:791
virtual void fatalError()
const char * name
Definition: system.h:748
int id
Definition: system.h:761
virtual void displayActivityIconOnOSD(const Graphics::Surface *icon)=0
virtual Common::WriteStream * createConfigWriteStream()
virtual GUI::OptionsContainerWidget * buildBackendOptionsWidget(GUI::GuiObject *boss, const Common::String &name, const Common::String &target) const
Definition: system.h:1924
virtual void setWindowCaption(const Common::U32String &caption)
Definition: system.h:1730
virtual Common::String getSystemLanguage() const
virtual void applyBackendSettings()
Definition: system.h:1943
virtual void messageBox(LogMessageType::Type type, const char *message)
Definition: system.h:1965
virtual Common::U32String getTextFromClipboard()
Definition: system.h:2014
virtual bool openUrl(const Common::String &url)
Definition: system.h:2039
virtual void registerDefaultSettings(const Common::String &target) const
Definition: system.h:1909
virtual bool isConnectionLimited()
virtual void logMessage(LogMessageType::Type type, const char *message)=0
@ kCloudDownload
Definition: system.h:357
@ kDataPackDownload
Definition: system.h:362
@ kLocalServer
Definition: system.h:352
virtual Common::Path getDefaultLogFileName()
Definition: system.h:1901
virtual void displayMessageOnOSD(const Common::U32String &msg)=0
virtual const char *const * buildHelpDialogData()
Definition: system.h:1936
virtual void addSysArchivesToSearchSet(Common::SearchSet &s, int priority)
virtual bool hasTextInClipboard()
Definition: system.h:2003
virtual bool setTextInClipboard(const Common::U32String &text)
Definition: system.h:2025
virtual Common::SeekableReadStream * createConfigReadStream()
virtual bool displayLogFile()
Definition: system.h:1992
virtual Common::Path getDefaultConfigFileName()
const char * description
Definition: system.h:754
virtual void quit()=0
Common::PrintingManager * _printingManager
Definition: system.h:275
FilesystemFactory * _fsFactory
Definition: system.h:268
virtual Common::TextToSpeechManager * getTextToSpeechManager()
Definition: system.h:1812
virtual Common::SaveFileManager * getSavefileManager()
Common::U32String _clipboard
Definition: system.h:286
bool _dummyUnused
Definition: system.h:291
AudioCDManager * _audiocdManager
Definition: system.h:202
virtual FilesystemFactory * getFilesystemFactory()
Common::DialogManager * _dialogManager
Definition: system.h:256
Common::TextToSpeechManager * _textToSpeechManager
Definition: system.h:248
virtual Common::DialogManager * getDialogManager()
Definition: system.h:1831
DLC::Store * _dlcStore
Definition: system.h:280
Common::EventManager * _eventManager
Definition: system.h:209
Common::SaveFileManager * _savefileManager
Definition: system.h:223
Common::TimerManager * _timerManager
Definition: system.h:216
virtual Common::PrintingManager * getPrintingManager()
Definition: system.h:1821
virtual DLC::Store * getDLCStore()
Definition: system.h:1841
virtual void setMouseCursor(const void *buf, uint w, uint h, int hotspotX, int hotspotY, uint32 keycolor, const Graphics::PixelFormat *format, const byte *mask, frac_t scaleX, frac_t scaleY)=0
virtual void setCursorPalette(const byte *colors, uint start, uint num)
Definition: system.h:1544
virtual uint32 getDoubleClickTime() const
Definition: system.h:1566
virtual bool showMouse(bool visible)=0
virtual void warpMouse(int x, int y)=0
virtual bool lockMouse(bool lock)
Definition: system.h:1551
virtual Common::MutexInternal * createMutex()=0
virtual void hideOverlay()=0
virtual Common::Rect getSafeOverlayArea(int16 *width=nullptr, int16 *height=nullptr) const
virtual void copyRectToOverlay(const void *buf, int pitch, int x, int y, int w, int h)=0
virtual Graphics::PixelFormat getOverlayFormat() const =0
virtual bool isOverlayVisible() const =0
virtual void grabOverlay(Graphics::Surface &surface)=0
virtual int16 getOverlayHeight() const =0
virtual void clearOverlay()=0
virtual void showOverlay(bool inGUI=true)=0
virtual int16 getOverlayWidth() const =0
virtual Audio::Mixer * getMixer()=0
Type
Definition: log.h:33
CursorMaskValue
Definition: system.h:124
OSystem * g_system
@ kCursorMaskOpaque
Definition: system.h:129
@ kCursorMaskTransparent
Definition: system.h:126
@ kCursorMaskPaletteXorColorXnor
Definition: system.h:139
@ kCursorMaskInvert
Definition: system.h:133
Definition: system.h:39
Definition: algorithm.h:29
Definition: formatinfo.h:28
Definition: rect.h:536
Definition: pixelformat.h:138
static constexpr PixelFormat createFormatCLUT8()
Definition: pixelformat.h:184
Definition: surface.h:67
Definition: system.h:741
Definition: system.h:111
int tm_year
Definition: system.h:117
int tm_mon
Definition: system.h:116
int tm_wday
Definition: system.h:118
int tm_mday
Definition: system.h:115
int tm_sec
Definition: system.h:112
int tm_min
Definition: system.h:113
int tm_hour
Definition: system.h:114