ScummVM API documentation
OSystem_POSIX Class Reference
Inheritance diagram for OSystem_POSIX:
OSystem_SDL ModularMixerBackend ModularGraphicsBackend BaseBackend BaseBackend OSystem OSystem Common::NonCopyable Common::NonCopyable OSystem_Emscripten OSystem_MacOSX OSystem_SDL_Atari

Public Member Functions

bool hasFeature (Feature f) override
 
bool displayLogFile () override
 
void init () override
 
void initBackend () override
 
void addSysArchivesToSearchSet (Common::SearchSet &s, int priority=0) override
 
Common::Path getDefaultIconsPath () override
 
Common::Path getDefaultDLCsPath () override
 
Common::Path getScreenshotsPath () override
 
- Public Member Functions inherited from OSystem_SDL
void init () override
 
bool hasFeature (Feature f) override
 
void setFeatureState (Feature f, bool enable) override
 
bool getFeatureState (Feature f) override
 
void initBackend () override
 
void engineInit () override
 
void engineDone () override
 
void quit () override
 
void fatalError () override
 
Common::KeymapArray getGlobalKeymaps () override
 
Common::HardwareInputSet * getHardwareInputSet () override
 
void logMessage (LogMessageType::Type type, const char *message) override
 
Common::String getSystemLanguage () const override
 
void setWindowCaption (const Common::U32String &caption) override
 
void addSysArchivesToSearchSet (Common::SearchSet &s, int priority=0) override
 
Common::MutexInternal * createMutex () override
 
uint32 getMillis (bool skipRecord=false) override
 
void delayMillis (uint msecs) override
 
void getTimeAndDate (TimeDate &td, bool skipRecord=false) const override
 
MixerManager * getMixerManager () override
 
Common::TimerManager * getTimerManager () override
 
Common::SaveFileManager * getSavefileManager () override
 
uint32 getDoubleClickTime () const override
 
virtual Common::Path getDefaultIconsPath ()
 
virtual Common::Path getDefaultDLCsPath ()
 
virtual Common::Path getScreenshotsPath ()
 
- Public Member Functions inherited from ModularMixerBackend
Audio::Mixer * getMixer () override final
 
void initBackend () override
 
bool setScaler (const char *name, int factor) override final
 
void displayMessageOnOSD (const Common::U32String &msg) override
 
void displayActivityIconOnOSD (const Graphics::Surface *icon) override
 
void fillScreen (uint32 col) override
 
void fillScreen (const Common::Rect &r, uint32 col) override
 
virtual bool setScaler (uint mode, int factor)
 
virtual bool setScaler (const char *name, int factor)
 
- Public Member Functions inherited from OSystem
void destroy ()
 
virtual void init ()
 
virtual void initBackend ()
 
bool backendInitialized () const
 
virtual void engineInit ()
 
virtual void engineDone ()
 
virtual void taskStarted (Task)
 
virtual void taskFinished (Task)
 
virtual void updateStartSettings (const Common::String &executable, Common::String &command, Common::StringMap &startSettings, Common::StringArray &additionalArgs)
 
virtual bool hasFeature (Feature f)
 
virtual void setFeatureState (Feature f, bool enable)
 
virtual bool getFeatureState (Feature f)
 
virtual const GraphicsMode * getSupportedGraphicsModes () const
 
virtual int getDefaultGraphicsMode () const
 
virtual bool setGraphicsMode (int mode, uint flags=kGfxModeNoFlags)
 
bool setGraphicsMode (const char *name)
 
virtual int getGraphicsMode () const
 
Graphics::PixelFormat getScreenFormat () const
 
Common::List< Graphics::PixelFormat > getSupportedFormats () const
 
virtual Common::Array< uint > getSupportedAntiAliasingLevels () const
 
virtual OpenGL::ContextType getOpenGLType () const
 
virtual bool setShader (const Common::Path &fileName)
 
virtual const GraphicsMode * getSupportedStretchModes () const
 
virtual int getDefaultStretchMode () const
 
virtual bool setStretchMode (int mode)
 
bool setStretchMode (const char *name)
 
virtual int getStretchMode () const
 
virtual bool setRotationMode (Common::RotationMode rotation)
 
bool setRotationMode (int rotation)
 
virtual uint getDefaultScaler () const
 
virtual uint getDefaultScaleFactor () const
 
virtual bool setScaler (uint mode, int factor)
 
virtual bool setScaler (const char *name, int factor)
 
virtual uint getScaler () const
 
virtual uint getScaleFactor () const
 
virtual void initSize (uint width, uint height, const Graphics::PixelFormat *format=nullptr)=0
 
virtual void initSizeHint (const Graphics::ModeList &modes)
 
virtual int getScreenChangeID () const
 
virtual void beginGFXTransaction ()
 
virtual TransactionError endGFXTransaction ()
 
virtual int16 getHeight ()=0
 
virtual int16 getWidth ()=0
 
virtual PaletteManager * getPaletteManager ()=0
 
virtual float getHiDPIScreenFactor () const
 
virtual void copyRectToScreen (const void *buf, int pitch, int x, int y, int w, int h)=0
 
virtual Graphics::Surface * lockScreen ()=0
 
virtual void unlockScreen ()=0
 
virtual void fillScreen (uint32 col)=0
 
virtual void fillScreen (const Common::Rect &r, uint32 col)=0
 
virtual void updateScreen ()=0
 
virtual void presentBuffer ()
 
virtual void setShakePos (int shakeXOffset, int shakeYOffset)=0
 
virtual void setFocusRectangle (const Common::Rect &rect)
 
virtual void clearFocusRectangle ()
 
virtual void saveScreenshot ()
 
virtual void showOverlay (bool inGUI=true)=0
 
virtual void hideOverlay ()=0
 
virtual bool isOverlayVisible () const =0
 
virtual Graphics::PixelFormat getOverlayFormat () const =0
 
virtual void clearOverlay ()=0
 
virtual void grabOverlay (Graphics::Surface &surface)=0
 
virtual void copyRectToOverlay (const void *buf, int pitch, int x, int y, int w, int h)=0
 
virtual int16 getOverlayHeight () const =0
 
virtual int16 getOverlayWidth () const =0
 
virtual Common::Rect getSafeOverlayArea (int16 *width=nullptr, int16 *height=nullptr) const
 
virtual bool lockMouse (bool lock)
 
virtual void warpMouse (int x, int y)=0
 
virtual uint32 getDoubleClickTime () const
 
virtual uint32 getMillis (bool skipRecord=false)=0
 
virtual void delayMillis (uint msecs)=0
 
virtual void getTimeAndDate (TimeDate &td, bool skipRecord=false) const =0
 
virtual Common::TimerManager * getTimerManager ()
 
Common::EventManager * getEventManager ()
 
virtual Common::HardwareInputSet * getHardwareInputSet ()
 
virtual Common::KeymapArray getGlobalKeymaps ()
 
virtual Common::KeymapperDefaultBindings * getKeymapperDefaultBindings ()
 
virtual Common::MutexInternal * createMutex ()=0
 
virtual Audio::Mixer * getMixer ()=0
 
AudioCDManager * getAudioCDManager ()
 
virtual void quit ()=0
 
virtual void fatalError ()
 
virtual void setWindowCaption (const Common::U32String &caption)
 
virtual void displayMessageOnOSD (const Common::U32String &msg)=0
 
virtual void displayActivityIconOnOSD (const Graphics::Surface *icon)=0
 
virtual Common::SaveFileManager * getSavefileManager ()
 
virtual Common::TextToSpeechManager * getTextToSpeechManager ()
 
virtual Common::PrintingManager * getPrintingManager ()
 
virtual Common::DialogManager * getDialogManager ()
 
virtual DLC::Store * getDLCStore ()
 
virtual FilesystemFactory * getFilesystemFactory ()
 
virtual void addSysArchivesToSearchSet (Common::SearchSet &s, int priority)
 
virtual Common::SeekableReadStream * createConfigReadStream ()
 
virtual Common::WriteStream * createConfigWriteStream ()
 
virtual Common::Path getDefaultConfigFileName ()
 
virtual Common::Path getDefaultLogFileName ()
 
virtual void registerDefaultSettings (const Common::String &target) const
 
virtual GUI::OptionsContainerWidget * buildBackendOptionsWidget (GUI::GuiObject *boss, const Common::String &name, const Common::String &target) const
 
virtual const char *const * buildHelpDialogData ()
 
virtual void applyBackendSettings ()
 
virtual void logMessage (LogMessageType::Type type, const char *message)=0
 
virtual void messageBox (LogMessageType::Type type, const char *message)
 
virtual bool displayLogFile ()
 
virtual bool hasTextInClipboard ()
 
virtual Common::U32String getTextFromClipboard ()
 
virtual bool setTextInClipboard (const Common::U32String &text)
 
virtual bool openUrl (const Common::String &url)
 
virtual Common::String getSystemLanguage () const
 
virtual bool isConnectionLimited ()
 
- Public Member Functions inherited from ModularGraphicsBackend
GraphicsManager * getGraphicsManager ()
 
const GraphicsMode * getSupportedGraphicsModes () const override
 
int getDefaultGraphicsMode () const override
 
bool setGraphicsMode (int mode, uint flags=kGfxModeNoFlags) override
 
int getGraphicsMode () const override
 
bool setShader (const Common::Path &name) override final
 
const GraphicsMode * getSupportedStretchModes () const override final
 
int getDefaultStretchMode () const override final
 
bool setStretchMode (int mode) override final
 
int getStretchMode () const override final
 
bool setRotationMode (Common::RotationMode rotation) override final
 
uint getDefaultScaler () const override final
 
uint getDefaultScaleFactor () const override final
 
bool setScaler (uint mode, int factor) override final
 
uint getScaler () const override final
 
uint getScaleFactor () const override final
 
void initSize (uint width, uint height, const Graphics::PixelFormat *format=NULL) override final
 
void initSizeHint (const Graphics::ModeList &modes) override final
 
int getScreenChangeID () const override final
 
void beginGFXTransaction () override final
 
OSystem::TransactionError endGFXTransaction () override final
 
int16 getHeight () override final
 
int16 getWidth () override final
 
PaletteManager * getPaletteManager () override final
 
void copyRectToScreen (const void *buf, int pitch, int x, int y, int w, int h) override final
 
Graphics::Surface * lockScreen () override final
 
void unlockScreen () override final
 
void fillScreen (uint32 col) override final
 
void fillScreen (const Common::Rect &r, uint32 col) override final
 
void updateScreen () override final
 
void presentBuffer () override final
 
void setShakePos (int shakeXOffset, int shakeYOffset) override final
 
void setFocusRectangle (const Common::Rect &rect) override final
 
void clearFocusRectangle () override final
 
void showOverlay (bool inGUI) override final
 
void hideOverlay () override final
 
bool isOverlayVisible () const override final
 
Graphics::PixelFormat getOverlayFormat () const override final
 
void clearOverlay () override final
 
void grabOverlay (Graphics::Surface &surface) override final
 
void copyRectToOverlay (const void *buf, int pitch, int x, int y, int w, int h) override final
 
int16 getOverlayHeight () const override final
 
int16 getOverlayWidth () const override final
 
Common::Rect getSafeOverlayArea (int16 *width, int16 *height) const override final
 
float getHiDPIScreenFactor () const override final
 
bool showMouse (bool visible) override final
 
void warpMouse (int x, int y) override final
 
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) override final
 
void setCursorPalette (const byte *colors, uint start, uint num) override final
 
bool lockMouse (bool lock) override final
 
bool setScaler (const char *name, int factor) override final
 
virtual bool setScaler (uint mode, int factor)
 
virtual bool setScaler (const char *name, int factor)
 
void displayMessageOnOSD (const Common::U32String &msg) override final
 
void displayActivityIconOnOSD (const Graphics::Surface *icon) override final
 
void saveScreenshot () override final
 

Protected Member Functions

Common::Path getDefaultConfigFileName () override
 
Common::Path getDefaultLogFileName () override
 
Common::String getXdgUserDir (const char *name)
 
AudioCDManager * createAudioCDManager () override
 
- Protected Member Functions inherited from OSystem_SDL
virtual void initSDL ()
 
virtual AudioCDManager * createAudioCDManager ()
 
virtual Common::WriteStream * createLogFile ()
 
virtual uint32 getOSDoubleClickTime () const
 
const char *const * buildHelpDialogData () override
 
virtual bool showMouse (bool visible)=0
 
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)
 

Additional Inherited Members

- Public Types inherited from OSystem
enum  Task { kLocalServer , kCloudDownload , kDataPackDownload }
 
enum  Feature {
  kFeatureFullscreenMode , kFeatureAspectRatioCorrection , kFeatureFilteringMode , kFeatureStretchMode ,
  kFeatureVirtualKeyboard , kFeatureCursorPalette , kFeatureCursorAlpha , kFeatureCursorMask ,
  kFeatureCursorMaskInvert , kFeatureCursorMaskPaletteXorColorXnor , kFeatureOverlaySupportsAlpha , kFeatureIconifyWindow ,
  kFeatureOpenGLForGame , kFeatureShadersForGame , kFeatureVSync , kFeatureDisplayLogFile ,
  kFeatureClipboardSupport , kFeatureOpenUrl , kFeatureTouchpadMode , kFeatureKbdMouseSpeed ,
  kFeatureJoystickDeadzone , kFeatureScalers , kFeatureShaders , kFeatureDLC ,
  kFeatureSystemBrowserDialog , kFeatureNoQuit , kFeatureTouchscreen , kFeatureCpuNEON ,
  kFeatureCpuSSE2 , kFeatureCpuSSE41 , kFeatureCpuAVX2 , kFeatureCpuAltivec ,
  kFeatureRotationMode , kFeatureStaleMousePositionWorkaround
}
 
enum  GfxModeFlags { kGfxModeNoFlags = 0 , kGfxModeRender3d = (1 << 0) }
 
enum  TransactionError {
  kTransactionSuccess = 0 , kTransactionAspectRatioFailed = (1 << 0) , kTransactionFullscreenFailed = (1 << 1) , kTransactionModeSwitchFailed = (1 << 2) ,
  kTransactionSizeChangeFailed = (1 << 3) , kTransactionFormatNotSupported = (1 << 4) , kTransactionFilteringFailed = (1 << 5) , kTransactionStretchModeSwitchFailed = (1 << 6) ,
  kTransactionShaderChangeFailed = (1 << 7) , kTransactionVSyncFailed = (1 << 8)
}
 
- Protected Attributes inherited from OSystem_SDL
bool _inited
 
bool _initedSDL
 
Common::Path _logFilePath
 
SdlEventSource * _eventSource
 
Common::EventSource * _eventSourceWrapper
 
SdlWindow * _window
 
SdlGraphicsManager::State _gfxManagerState
 
Backends::Log::Log * _logger
 
- Protected Attributes inherited from ModularMixerBackend
MixerManager * _mixerManager
 
- Protected Attributes inherited from OSystem
AudioCDManager * _audiocdManager
 
Common::EventManager * _eventManager
 
Common::TimerManager * _timerManager
 
Common::SaveFileManager * _savefileManager
 
Common::TextToSpeechManager * _textToSpeechManager
 
Common::DialogManager * _dialogManager
 
FilesystemFactory * _fsFactory
 
Common::PrintingManager * _printingManager
 
DLC::Store * _dlcStore
 
Common::U32String _clipboard
 
bool _dummyUnused
 
- Protected Attributes inherited from ModularGraphicsBackend
GraphicsManager * _graphicsManager
 

Member Function Documentation

◆ hasFeature()

bool OSystem_POSIX::hasFeature ( Feature  f)
overridevirtual

Determine whether the backend supports the specified feature.

Reimplemented from ModularGraphicsBackend.

◆ displayLogFile()

bool OSystem_POSIX::displayLogFile ( )
overridevirtual

Open the log file in a way that allows the user to review it, and possibly email it (or parts of it) to the ScummVM team, for example as part of a bug report.

On a desktop operating system, this would typically launch some kind of an (external) text editor / viewer. On a phone, it can also cause a context switch to another application. Finally, on some ports, it might not be supported at all, and do nothing.

The kFeatureDisplayLogFile feature flag can be used to test whether this call has been implemented by the active backend.

Returns
True on success, false if an error occurred.
Note
An error might mean that the log file did not exist, or that the editor could not launch. However, a return value of true does not guarantee that the user will actually see the log file.
It is up to the backend to ensure that the system is in a state that allows the user to actually see the displayed log files. This might for example require leaving fullscreen mode.

Reimplemented from OSystem.

◆ init()

void OSystem_POSIX::init ( )
overridevirtual

Call this method once, after g_system is created.

Reimplemented from OSystem.

◆ initBackend()

void OSystem_POSIX::initBackend ( )
overridevirtual

The following method is called once, from main.cpp, after all config data (including command line params etc.) is fully loaded.

Note
Subclasses should always invoke the implementation of their parent class. They should do so near the end of their own implementation.

Reimplemented from BaseBackend.

◆ addSysArchivesToSearchSet()

void OSystem_POSIX::addSysArchivesToSearchSet ( Common::SearchSet &  s,
int  priority = 0 
)
overridevirtual

Add system-specific Common::Archive objects to the given SearchSet. For example, on Unix, the directory corresponding to DATA_PATH (if set), or, on macOS, the 'Resource' dir in the app bundle.

Parameters
sSearchSet to which the system-specific dirs, if any, are added.
priorityPriority with which those dirs are added.

Reimplemented from OSystem.

◆ getDefaultIconsPath()

Common::Path OSystem_POSIX::getDefaultIconsPath ( )
overridevirtual

Reimplemented from OSystem_SDL.

◆ getDefaultDLCsPath()

Common::Path OSystem_POSIX::getDefaultDLCsPath ( )
overridevirtual

Reimplemented from OSystem_SDL.

◆ getScreenshotsPath()

Common::Path OSystem_POSIX::getScreenshotsPath ( )
overridevirtual

Reimplemented from OSystem_SDL.

◆ getDefaultConfigFileName()

Common::Path OSystem_POSIX::getDefaultConfigFileName ( )
overrideprotectedvirtual

Get the default file name (or even path) where the user configuration of ScummVM will be saved.

Note that not all ports can use this.

Reimplemented from OSystem.

◆ getDefaultLogFileName()

Common::Path OSystem_POSIX::getDefaultLogFileName ( )
overrideprotectedvirtual

Get the default file name (or even path) where the scummvm.log will be saved.

Note that not all ports can use this.

Reimplemented from OSystem.

◆ createAudioCDManager()

AudioCDManager * OSystem_POSIX::createAudioCDManager ( )
overrideprotectedvirtual

Create the audio CD manager

Reimplemented from OSystem_SDL.


The documentation for this class was generated from the following file: