22 #ifndef COMMON_SYSTEM_H 23 #define COMMON_SYSTEM_H 25 #include "common/scummsys.h" 26 #include "common/noncopyable.h" 27 #include "common/array.h" 28 #include "common/list.h" 29 #include "common/ustr.h" 30 #include "common/str-array.h" 31 #include "common/hash-str.h" 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" 50 class OptionsContainerWidget;
61 class SaveFileManager;
64 #if defined(USE_TASKBAR) 67 #if defined(USE_UPDATES) 70 class TextToSpeechManager;
71 #if defined(USE_SYSDIALOGS) 74 class PrintingManager;
76 class SeekableReadStream;
78 class HardwareInputSet;
80 class KeymapperDefaultBindings;
84 typedef Array<Keymap *> KeymapArray;
142 #if defined(USE_IMGUI) 143 typedef struct ImGuiCallbacks {
144 void (*init)() =
nullptr;
145 void (*render)() =
nullptr;
146 void (*cleanup)() =
nullptr;
225 #if defined(USE_TASKBAR) 231 Common::TaskbarManager *_taskbarManager;
234 #if defined(USE_UPDATES) 240 Common::UpdateManager *_updateManager;
250 #if defined(USE_SYSDIALOGS) 297 bool _backendInitialized;
321 virtual void initBackend();
775 static const GraphicsMode noGraphicsModes[] = {{
"NONE",
"Normal", 0}, {
nullptr,
nullptr, 0 }};
776 return noGraphicsModes;
791 kGfxModeRender3d = (1 << 0)
807 virtual bool setGraphicsMode(
int mode, uint flags = kGfxModeNoFlags) {
return (mode == 0); }
822 bool setGraphicsMode(
const char *name);
902 return OpenGL::kContextNone;
905 #if defined(USE_OPENGL) && defined(USE_GLAD) 917 virtual void *getOpenGLProcAddress(
const char *name)
const {
return nullptr; }
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) {}
968 static const GraphicsMode noStretchModes[] = {{
"NONE",
"Normal", 0}, {
nullptr,
nullptr, 0 }};
969 return noStretchModes;
1008 bool setStretchMode(
const char *name);
1037 bool setRotationMode(
int rotation);
1071 virtual bool setScaler(uint mode,
int factor) {
return false; }
1084 virtual bool setScaler(
const char *name,
int factor) {
return false; }
1189 kTransactionSuccess = 0,
1190 kTransactionAspectRatioFailed = (1 << 0),
1191 kTransactionFullscreenFailed = (1 << 1),
1192 kTransactionModeSwitchFailed = (1 << 2),
1193 kTransactionSizeChangeFailed = (1 << 3),
1194 kTransactionFormatNotSupported = (1 << 4),
1195 kTransactionFilteringFailed = (1 << 5),
1196 kTransactionStretchModeSwitchFailed = (1 << 6),
1197 kTransactionShaderChangeFailed = (1 << 7),
1198 kTransactionVSyncFailed = (1 << 8),
1218 virtual int16 getHeight() = 0;
1227 virtual int16 getWidth() = 0;
1269 virtual void copyRectToScreen(
const void *buf,
int pitch,
int x,
int y,
int w,
int h) = 0;
1295 virtual void unlockScreen() = 0;
1300 virtual void fillScreen(uint32 col) = 0;
1305 virtual void fillScreen(
const Common::Rect &r, uint32 col) = 0;
1316 virtual void updateScreen() = 0;
1342 virtual void setShakePos(
int shakeXOffset,
int shakeYOffset) = 0;
1405 virtual void showOverlay(
bool inGUI =
true) = 0;
1408 virtual void hideOverlay() = 0;
1411 virtual bool isOverlayVisible()
const = 0;
1430 virtual void clearOverlay() = 0;
1455 virtual void copyRectToOverlay(
const void *buf,
int pitch,
int x,
int y,
int w,
int h) = 0;
1462 virtual int16 getOverlayHeight()
const = 0;
1469 virtual int16 getOverlayWidth()
const = 0;
1482 virtual Common::Rect getSafeOverlayArea(int16 *width =
nullptr, int16 *height =
nullptr)
const;
1510 virtual bool showMouse(
bool visible) = 0;
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;
1560 virtual void warpMouse(
int x,
int y) = 0;
1584 virtual uint32 getMillis(
bool skipRecord =
false) = 0;
1587 virtual void delayMillis(uint msecs) = 0;
1595 virtual void getTimeAndDate(
TimeDate &td,
bool skipRecord =
false)
const = 0;
1610 return _eventManager;
1702 return _audiocdManager;
1715 virtual void quit() = 0;
1722 virtual void fatalError();
1783 #if defined(USE_TASKBAR) 1790 virtual Common::TaskbarManager *getTaskbarManager() {
1791 return _taskbarManager;
1795 #if defined(USE_UPDATES) 1802 virtual Common::UpdateManager *getUpdateManager() {
1803 return _updateManager;
1813 return _textToSpeechManager;
1822 return _printingManager;
1825 #if defined(USE_SYSDIALOGS) 1832 return _dialogManager;
2065 virtual bool isConnectionLimited();
virtual Common::KeymapArray getGlobalKeymaps()
Definition: system.h:1631
CursorMaskValue
Definition: system.h:124
virtual void messageBox(LogMessageType::Type type, const char *message)
Definition: system.h:1965
GfxModeFlags
Definition: system.h:789
virtual void taskFinished(Task)
Definition: system.h:373
int tm_hour
Definition: system.h:114
virtual const char *const * buildHelpDialogData()
Definition: system.h:1936
virtual Common::HardwareInputSet * getHardwareInputSet()
Definition: system.h:1620
int id
Definition: system.h:761
virtual bool lockMouse(bool lock)
Definition: system.h:1551
int tm_mday
Definition: system.h:115
virtual bool setScaler(const char *name, int factor)
Definition: system.h:1084
virtual void setFocusRectangle(const Common::Rect &rect)
Definition: system.h:1358
Definition: fs-factory.h:31
virtual bool setShader(const Common::Path &fileName)
Definition: system.h:956
virtual void saveScreenshot()
Definition: system.h:1375
virtual Common::Array< uint > getSupportedAntiAliasingLevels() const
Definition: system.h:887
virtual int getGraphicsMode() const
Definition: system.h:829
const char * name
Definition: system.h:748
int tm_min
Definition: system.h:113
virtual void setWindowCaption(const Common::U32String &caption)
Definition: system.h:1730
virtual const GraphicsMode * getSupportedStretchModes() const
Definition: system.h:967
Feature
Definition: system.h:415
Common::TimerManager * _timerManager
Definition: system.h:216
Common::TextToSpeechManager * _textToSpeechManager
Definition: system.h:248
virtual TransactionError endGFXTransaction()
Definition: system.h:1209
virtual void engineInit()
Definition: system.h:336
virtual int getDefaultGraphicsMode() const
Definition: system.h:787
Task
Definition: system.h:348
Definition: cursorman.h:43
Definition: printman.h:30
virtual Common::DialogManager * getDialogManager()
Definition: system.h:1831
virtual void initSizeHint(const Graphics::ModeList &modes)
Definition: system.h:1141
int tm_wday
Definition: system.h:118
Definition: noncopyable.h:39
Common::DialogManager * _dialogManager
Definition: system.h:256
Common::U32String _clipboard
Definition: system.h:286
AudioCDManager * getAudioCDManager()
Definition: system.h:1701
virtual void setCursorPalette(const byte *colors, uint start, uint num)
Definition: system.h:1544
virtual void engineDone()
Definition: system.h:343
virtual GUI::OptionsContainerWidget * buildBackendOptionsWidget(GUI::GuiObject *boss, const Common::String &name, const Common::String &target) const
Definition: system.h:1924
virtual bool setScaler(uint mode, int factor)
Definition: system.h:1071
virtual uint getDefaultScaleFactor() const
Definition: system.h:1059
virtual void applyBackendSettings()
Definition: system.h:1943
virtual bool openUrl(const Common::String &url)
Definition: system.h:2039
virtual bool hasTextInClipboard()
Definition: system.h:2003
virtual bool setTextInClipboard(const Common::U32String &text)
Definition: system.h:2025
TransactionError
Definition: system.h:1188
virtual OpenGL::ContextType getOpenGLType() const
Definition: system.h:901
Definition: archive.h:330
virtual bool setGraphicsMode(int mode, uint flags=kGfxModeNoFlags)
Definition: system.h:807
int tm_sec
Definition: system.h:112
virtual bool setStretchMode(int mode)
Definition: system.h:992
virtual void taskStarted(Task)
Definition: system.h:368
Definition: algorithm.h:29
Definition: formatinfo.h:28
virtual bool hasFeature(Feature f)
Definition: system.h:652
const char * description
Definition: system.h:754
virtual Common::KeymapperDefaultBindings * getKeymapperDefaultBindings()
Definition: system.h:1640
Common::SaveFileManager * _savefileManager
Definition: system.h:223
virtual int getScreenChangeID() const
Definition: system.h:1157
Definition: keymapper-defaults.h:32
virtual bool displayLogFile()
Definition: system.h:1992
virtual Common::Path getDefaultLogFileName()
Definition: system.h:1901
DLC::Store * _dlcStore
Definition: system.h:280
int tm_year
Definition: system.h:117
virtual void init()
Definition: system.h:311
Common::EventManager * getEventManager()
Definition: system.h:1609
Definition: text-to-speech.h:150
Common::EventManager * _eventManager
Definition: system.h:209
virtual void registerDefaultSettings(const Common::String &target) const
Definition: system.h:1909
int tm_mon
Definition: system.h:116
virtual uint getScaleFactor() const
Definition: system.h:1098
virtual uint getScaler() const
Definition: system.h:1091
virtual void presentBuffer()
Definition: system.h:1321
virtual int getStretchMode() const
Definition: system.h:1015
virtual void beginGFXTransaction()
Definition: system.h:1177
virtual Common::TextToSpeechManager * getTextToSpeechManager()
Definition: system.h:1812
Definition: savefile.h:142
virtual Common::U32String getTextFromClipboard()
Definition: system.h:2014
bool backendInitialized() const
Definition: system.h:329
virtual void clearFocusRectangle()
Definition: system.h:1368
RotationMode
Definition: rotationmode.h:44
virtual Common::PrintingManager * getPrintingManager()
Definition: system.h:1821
virtual uint32 getDoubleClickTime() const
Definition: system.h:1566
Definition: printman.h:41
virtual float getHiDPIScreenFactor() const
Definition: system.h:1240
Common::PrintingManager * _printingManager
Definition: system.h:275
virtual uint getDefaultScaler() const
Definition: system.h:1048
virtual const GraphicsMode * getSupportedGraphicsModes() const
Definition: system.h:774
virtual void setFeatureState(Feature f, bool enable)
Definition: system.h:660
void push_back(const t_T &element)
Definition: list.h:174
virtual bool setRotationMode(Common::RotationMode rotation)
Definition: system.h:1026
FilesystemFactory * _fsFactory
Definition: system.h:268
AudioCDManager * _audiocdManager
Definition: system.h:202
Definition: paletteman.h:47
int32 frac_t
Definition: frac.h:52
bool _dummyUnused
Definition: system.h:291
virtual int getDefaultStretchMode() const
Definition: system.h:981
virtual DLC::Store * getDLCStore()
Definition: system.h:1841
virtual bool getFeatureState(Feature f)
Definition: system.h:667