ScummVM API documentation
BaseBackend Class Reference

#include <base-backend.h>

Inheritance diagram for BaseBackend:
OSystem Common::NonCopyable EventsBaseBackend ModularGraphicsBackend ModularMixerBackend N3DS::OSystem_3DS OSystem_Dreamcast OSystem_iOS7 OSystem_libretro OSystem_N64 OSystem_PSP OSystem_Wii OSystem_Android OSystem_Atari OSystem_iOS7 OSystem_libretro OSystem_SDL OSystem_Atari OSystem_DS OSystem_SDL

Public Member Functions

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
 
- Public Member Functions inherited from OSystem
void destroy ()
 
virtual void init ()
 
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 GraphicsModegetSupportedGraphicsModes () 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::PixelFormatgetSupportedFormats () const
 
virtual Common::Array< uint > getSupportedAntiAliasingLevels () const
 
virtual OpenGL::ContextType getOpenGLType () const
 
virtual bool setShader (const Common::Path &fileName)
 
virtual const GraphicsModegetSupportedStretchModes () const
 
virtual int getDefaultStretchMode () const
 
virtual bool setStretchMode (int mode)
 
bool setStretchMode (const char *name)
 
virtual int getStretchMode () const
 
virtual uint getDefaultScaler () const
 
virtual uint getDefaultScaleFactor () const
 
virtual bool setScaler (uint mode, 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 PaletteManagergetPaletteManager ()=0
 
virtual float getHiDPIScreenFactor () const
 
virtual void copyRectToScreen (const void *buf, int pitch, int x, int y, int w, int h)=0
 
virtual Graphics::SurfacelockScreen ()=0
 
virtual void unlockScreen ()=0
 
virtual void updateScreen ()=0
 
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 ()=0
 
virtual int16 getOverlayWidth ()=0
 
virtual bool showMouse (bool visible)=0
 
virtual bool lockMouse (bool lock)
 
virtual void warpMouse (int x, int y)=0
 
virtual void setMouseCursor (const void *buf, uint w, uint h, int hotspotX, int hotspotY, uint32 keycolor, bool dontScale=false, const Graphics::PixelFormat *format=nullptr, const byte *mask=nullptr)=0
 
virtual void setCursorPalette (const byte *colors, uint start, uint num)
 
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::TimerManagergetTimerManager ()
 
Common::EventManagergetEventManager ()
 
virtual Common::HardwareInputSetgetHardwareInputSet ()
 
virtual Common::KeymapArray getGlobalKeymaps ()
 
virtual Common::KeymapperDefaultBindingsgetKeymapperDefaultBindings ()
 
virtual Common::MutexInternalcreateMutex ()=0
 
virtual Audio::MixergetMixer ()=0
 
AudioCDManagergetAudioCDManager ()
 
virtual void quit ()=0
 
virtual void fatalError ()
 
virtual void setWindowCaption (const Common::U32String &caption)
 
virtual Common::SaveFileManagergetSavefileManager ()
 
virtual Common::TextToSpeechManagergetTextToSpeechManager ()
 
virtual Common::DialogManagergetDialogManager ()
 
virtual DLC::StoregetDLCStore ()
 
virtual FilesystemFactorygetFilesystemFactory ()
 
virtual void addSysArchivesToSearchSet (Common::SearchSet &s, int priority=0)
 
virtual Common::SeekableReadStreamcreateConfigReadStream ()
 
virtual Common::WriteStreamcreateConfigWriteStream ()
 
virtual Common::Path getDefaultConfigFileName ()
 
virtual Common::Path getDefaultLogFileName ()
 
virtual void registerDefaultSettings (const Common::String &target) const
 
virtual GUI::OptionsContainerWidgetbuildBackendOptionsWidget (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 ()
 

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, kFeatureFullscreenToggleKeepsContext,
  kFeatureDisplayLogFile, kFeatureClipboardSupport, kFeatureOpenUrl, kFeatureTouchpadMode,
  kFeatureKbdMouseSpeed, kFeatureJoystickDeadzone, kFeatureScalers, kFeatureShaders,
  kFeatureDLC, kFeatureSystemBrowserDialog, kFeatureNoQuit, kFeatureTouchscreen,
  kFeatureCpuNEON, kFeatureCpuSSE2, kFeatureCpuSSE41, kFeatureCpuAVX2,
  kFeatureCpuAltivec, kFeatureRotationMode
}
 
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
AudioCDManager_audiocdManager
 
Common::EventManager_eventManager
 
Common::TimerManager_timerManager
 
Common::SaveFileManager_savefileManager
 
Common::TextToSpeechManager_textToSpeechManager
 
Common::DialogManager_dialogManager
 
FilesystemFactory_fsFactory
 
DLC::Store_dlcStore
 
Common::U32String _clipboard
 
bool _dummyUnused
 

Detailed Description

Subclass of OSystem that contains default implementations of functions that would cause circular dependencies if they were implemented in common/system.cpp

Member Function Documentation

◆ initBackend()

void BaseBackend::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 OSystem.

Reimplemented in OSystem_Android, OSystem_DS, OSystem_Wii, OSystem_N64, N3DS::OSystem_3DS, OSystem_iOS7, OSystem_libretro, OSystem_Dreamcast, OSystem_PSP, OSystem_SDL, EventsBaseBackend, OSystem_MacOSX, OSystem_AmigaOS, OSystem_POSIX, OSystem_PSP2, OSystem_Win32, OSystem_Atari, OSystem_KolibriOS, OSystem_SDL_Miyoo, OSystem_SDL_Opendingux, OSystem_PS3, OSystem_RISCOS, OSystem_SDL_Sailfish, and OSystem_Switch.

◆ setScaler()

bool BaseBackend::setScaler ( const char *  name,
int  factor 
)
finaloverridevirtual

Switch to the scaler with the given name.

If name is unknown, or if switching to the new mode fails, this method returns false.

Parameters
nameName of the new scaler.
factorThe scale factor to use
Returns
True if the switch was successful, false otherwise.

Reimplemented from OSystem.

◆ displayMessageOnOSD()

void BaseBackend::displayMessageOnOSD ( const Common::U32String msg)
overridevirtual

Display a message in an 'on-screen display'.

Displays a message in such a way that it is visible on or near the screen, for example in a transparent rectangle over the regular screen content, or in a message box beneath it.

The message is expected to be provided in the current TranslationManager charset.

Note
There is a default implementation in BaseBackend that uses a TimedMessageDialog to display the message. Hence, implementing this is optional.
Parameters
msgThe message to display on the screen.

Implements OSystem.

Reimplemented in N3DS::OSystem_3DS, and ModularGraphicsBackend.

◆ displayActivityIconOnOSD()

void BaseBackend::displayActivityIconOnOSD ( const Graphics::Surface icon)
inlineoverridevirtual

Display an icon that indicates background activity.

The icon is displayed in an 'on-screen display'. It is visible above the regular screen content or near it.

The caller keeps ownership of the icon. It is acceptable to free the surface just after the call.

There is no preferred pixel format for the icon. The backend should convert its copy of the icon to an appropriate format.

The caller must call this method again with a null pointer as a parameter to indicate the icon should no longer be displayed.

Parameters
iconThe icon to display on the screen.

Implements OSystem.

Reimplemented in N3DS::OSystem_3DS, and ModularGraphicsBackend.

◆ fillScreen() [1/2]

void BaseBackend::fillScreen ( uint32  col)
overridevirtual

Fill the screen with the given color value.

Implements OSystem.

Reimplemented in ModularGraphicsBackend.

◆ fillScreen() [2/2]

void BaseBackend::fillScreen ( const Common::Rect r,
uint32  col 
)
overridevirtual

Fill the specified area of the screen with the given color value.

Implements OSystem.

Reimplemented in ModularGraphicsBackend.


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