23 #ifndef COMMON_SYSTEM_H 24 #define COMMON_SYSTEM_H 26 #include "common/scummsys.h" 27 #include "common/noncopyable.h" 28 #include "common/array.h" 29 #include "common/list.h" 30 #include "common/ustr.h" 31 #include "graphics/pixelformat.h" 32 #include "graphics/pixelbuffer.h" 33 #include "graphics/mode.h" 46 class SaveFileManager;
49 #if defined(USE_TASKBAR) 52 #if defined(USE_UPDATES) 56 class TextToSpeechManager;
58 #if defined(USE_SYSDIALOGS) 62 class SeekableReadStream;
64 class HardwareInputSet;
66 class KeymapperDefaultBindings;
69 typedef Array<Keymap *> KeymapArray;
82 class FilesystemFactory;
138 friend class Common::Encoding;
197 #if defined(USE_TASKBAR) 206 #if defined(USE_UPDATES) 224 #if defined(USE_SYSDIALOGS) 259 bool _backendInitialized;
283 virtual void initBackend();
626 static const GraphicsMode noGraphicsModes[] = {{
"NONE",
"Normal", 0}, {
nullptr,
nullptr, 0 }};
627 return noGraphicsModes;
642 kGfxModeRender3d = (1 << 0)
658 virtual bool setGraphicsMode(
int mode, uint flags = kGfxModeNoFlags) {
return (mode == 0); }
673 bool setGraphicsMode(
const char *name);
698 virtual Graphics::PixelFormat getScreenFormat()
const = 0;
723 virtual Common::List<Graphics::PixelFormat> getSupportedFormats()
const = 0;
725 inline Graphics::PixelFormat getScreenFormat()
const {
726 return Graphics::PixelFormat::createFormatCLUT8();
729 inline Common::List<Graphics::PixelFormat> getSupportedFormats()
const {
730 Common::List<Graphics::PixelFormat> list;
731 list.push_back(Graphics::PixelFormat::createFormatCLUT8());
743 return Common::Array<uint>();
757 static const OSystem::GraphicsMode no_shader[2] = {{
"NONE",
"Normal (no shader)", 0}, {
nullptr,
nullptr, 0}};
798 bool setShader(
const char *name);
817 static const GraphicsMode noStretchModes[] = {{
"NONE",
"Normal", 0}, {
nullptr,
nullptr, 0 }};
818 return noStretchModes;
857 bool setStretchMode(
const char *name);
895 virtual void initSize(uint width, uint height,
const Graphics::PixelFormat *format =
nullptr) = 0;
955 kTransactionSuccess = 0,
956 kTransactionAspectRatioFailed = (1 << 0),
957 kTransactionFullscreenFailed = (1 << 1),
958 kTransactionModeSwitchFailed = (1 << 2),
959 kTransactionSizeChangeFailed = (1 << 3),
960 kTransactionFormatNotSupported = (1 << 4),
961 kTransactionFilteringFailed = (1 << 5),
962 kTransactionStretchModeSwitchFailed = (1 << 6)
982 virtual int16 getHeight() = 0;
991 virtual int16 getWidth() = 0;
998 virtual PaletteManager *getPaletteManager() = 0;
1027 virtual void copyRectToScreen(
const void *buf,
int pitch,
int x,
int y,
int w,
int h) = 0;
1047 virtual Graphics::Surface *lockScreen() = 0;
1053 virtual void unlockScreen() = 0;
1058 virtual void fillScreen(uint32 col) = 0;
1069 virtual void updateScreen() = 0;
1088 virtual void setShakePos(
int shakeXOffset,
int shakeYOffset) = 0;
1148 virtual void showOverlay() = 0;
1151 virtual void hideOverlay() = 0;
1154 virtual bool isOverlayVisible()
const = 0;
1161 virtual Graphics::PixelFormat getOverlayFormat()
const = 0;
1173 virtual void clearOverlay() = 0;
1180 virtual void grabOverlay(
void *buf,
int pitch) = 0;
1197 virtual void copyRectToOverlay(
const void *buf,
int pitch,
int x,
int y,
int w,
int h) = 0;
1204 virtual int16 getOverlayHeight() = 0;
1211 virtual int16 getOverlayWidth() = 0;
1239 virtual bool showMouse(
bool visible) = 0;
1254 virtual void warpMouse(
int x,
int y) = 0;
1271 virtual void setMouseCursor(
const void *buf, uint w, uint h,
int hotspotX,
int hotspotY, uint32 keycolor,
bool dontScale =
false,
const Graphics::PixelFormat *format =
nullptr) = 0;
1302 virtual uint32 getMillis(
bool skipRecord =
false) = 0;
1305 virtual void delayMillis(uint msecs) = 0;
1313 virtual void getTimeAndDate(
TimeDate &t)
const = 0;
1320 virtual Common::TimerManager *getTimerManager();
1328 return _eventManager;
1382 typedef struct OpaqueMutex *MutexRef;
1389 virtual MutexRef createMutex() = 0;
1401 virtual void lockMutex(MutexRef mutex) = 0;
1408 virtual void unlockMutex(MutexRef mutex) = 0;
1419 virtual void deleteMutex(MutexRef mutex) = 0;
1435 virtual Audio::Mixer *getMixer() = 0;
1452 return _audiocdManager;
1465 virtual void quit() = 0;
1472 virtual void fatalError();
1502 virtual void displayMessageOnOSD(
const Common::U32String &msg) = 0;
1521 virtual void displayActivityIconOnOSD(
const Graphics::Surface *icon) = 0;
1535 virtual Common::SaveFileManager *getSavefileManager();
1537 #if defined(USE_TASKBAR) 1545 return _taskbarManager;
1549 #if defined(USE_UPDATES) 1557 return _updateManager;
1561 #if defined(USE_TTS) 1568 return _textToSpeechManager;
1572 #if defined(USE_SYSDIALOGS) 1579 return _dialogManager;
1588 virtual FilesystemFactory *getFilesystemFactory();
1631 virtual Common::String getDefaultConfigFileName();
1719 virtual bool openUrl(
const Common::String &url) {
return false; }
1737 virtual Common::String getSystemLanguage()
const;
1744 virtual bool isConnectionLimited();
1762 virtual char *
convertEncoding(
const char *to,
const char *from,
const char *
string,
size_t length) {
return nullptr; }
virtual int getShader() const
Definition: system.h:805
virtual const GraphicsMode * getSupportedShaders() const
Definition: system.h:756
virtual Common::KeymapArray getGlobalKeymaps()
Definition: system.h:1349
GfxModeFlags
Definition: system.h:640
int tm_hour
Definition: system.h:99
virtual Common::UpdateManager * getUpdateManager()
Definition: system.h:1556
virtual Common::HardwareInputSet * getHardwareInputSet()
Definition: system.h:1338
int id
Definition: system.h:612
virtual bool lockMouse(bool lock)
Definition: system.h:1245
int tm_mday
Definition: system.h:100
virtual void setFocusRectangle(const Common::Rect &rect)
Definition: system.h:1104
virtual void saveScreenshot()
Definition: system.h:1121
Common::UpdateManager * _updateManager
Definition: system.h:212
virtual Common::Array< uint > getSupportedAntiAliasingLevels() const
Definition: system.h:742
virtual int getGraphicsMode() const
Definition: system.h:680
const char * name
Definition: system.h:599
int tm_min
Definition: system.h:98
virtual const GraphicsMode * getSupportedStretchModes() const
Definition: system.h:816
Feature
Definition: system.h:335
virtual void addSysArchivesToSearchSet(Common::SearchSet &s, int priority=0)
Definition: system.h:1605
Common::TimerManager * _timerManager
Definition: system.h:188
Common::TextToSpeechManager * _textToSpeechManager
Definition: system.h:221
virtual TransactionError endGFXTransaction()
Definition: system.h:973
virtual void engineInit()
Definition: system.h:298
virtual int getDefaultGraphicsMode() const
Definition: system.h:638
Common::TaskbarManager * _taskbarManager
Definition: system.h:203
virtual void resetGraphicsScale()
Definition: system.h:688
virtual Common::DialogManager * getDialogManager()
Definition: system.h:1578
virtual bool setShader(int id)
Definition: system.h:782
Type
Definition: system.h:112
virtual void initSizeHint(const Graphics::ModeList &modes)
Definition: system.h:907
int tm_wday
Definition: system.h:103
virtual void setWindowCaption(const char *caption)
Definition: system.h:1484
Common::DialogManager * _dialogManager
Definition: system.h:230
Common::U32String _clipboard
Definition: system.h:248
AudioCDManager * getAudioCDManager()
Definition: system.h:1451
virtual void setCursorPalette(const byte *colors, uint start, uint num)
Definition: system.h:1284
virtual void engineDone()
Definition: system.h:305
virtual char * convertEncoding(const char *to, const char *from, const char *string, size_t length)
Definition: system.h:1762
virtual bool openUrl(const Common::String &url)
Definition: system.h:1719
virtual bool hasTextInClipboard()
Definition: system.h:1683
virtual bool setTextInClipboard(const Common::U32String &text)
Definition: system.h:1705
TransactionError
Definition: system.h:954
virtual int getDefaultShader() const
Definition: system.h:771
virtual bool setGraphicsMode(int mode, uint flags=kGfxModeNoFlags)
Definition: system.h:658
int tm_sec
Definition: system.h:97
virtual bool setStretchMode(int mode)
Definition: system.h:841
virtual bool hasFeature(Feature f)
Definition: system.h:503
const char * description
Definition: system.h:605
virtual Common::KeymapperDefaultBindings * getKeymapperDefaultBindings()
Definition: system.h:1358
Common::SaveFileManager * _savefileManager
Definition: system.h:195
virtual int getScreenChangeID() const
Definition: system.h:923
virtual bool displayLogFile()
Definition: system.h:1672
int tm_year
Definition: system.h:102
virtual void init()
Definition: system.h:273
Common::EventManager * getEventManager()
Definition: system.h:1327
Common::EventManager * _eventManager
Definition: system.h:181
int tm_mon
Definition: system.h:101
virtual Common::TaskbarManager * getTaskbarManager()
Definition: system.h:1544
virtual int getStretchMode() const
Definition: system.h:864
virtual void beginGFXTransaction()
Definition: system.h:943
virtual Common::TextToSpeechManager * getTextToSpeechManager()
Definition: system.h:1567
virtual Common::U32String getTextFromClipboard()
Definition: system.h:1694
bool backendInitialized() const
Definition: system.h:291
virtual void clearFocusRectangle()
Definition: system.h:1114
virtual const GraphicsMode * getSupportedGraphicsModes() const
Definition: system.h:625
virtual void setFeatureState(Feature f, bool enable)
Definition: system.h:511
FilesystemFactory * _fsFactory
Definition: system.h:242
AudioCDManager * _audiocdManager
Definition: system.h:172
bool _dummyUnused
Definition: system.h:253
virtual int getDefaultStretchMode() const
Definition: system.h:830
virtual bool getFeatureState(Feature f)
Definition: system.h:518