diff options
author | Bastien Bouclet | 2016-09-13 20:25:13 +0200 |
---|---|---|
committer | Bastien Bouclet | 2016-09-13 20:25:13 +0200 |
commit | 521ba2cb8ac6cbe4240ad4da7ad44d13449e3943 (patch) | |
tree | 68656da0c6db2270ca534fb4f5b18a37f247d84d | |
parent | cd803d7ca7dcac1f747e9ec6d75f0048825e6f06 (diff) | |
download | scummvm-rg350-521ba2cb8ac6cbe4240ad4da7ad44d13449e3943.tar.gz scummvm-rg350-521ba2cb8ac6cbe4240ad4da7ad44d13449e3943.tar.bz2 scummvm-rg350-521ba2cb8ac6cbe4240ad4da7ad44d13449e3943.zip |
OSYSTEM: Introduce a method allowing to draw a background activity icon
-rw-r--r-- | backends/graphics/graphics.h | 1 | ||||
-rw-r--r-- | backends/modular-backend.cpp | 4 | ||||
-rw-r--r-- | backends/modular-backend.h | 1 | ||||
-rw-r--r-- | common/system.h | 19 |
4 files changed, 25 insertions, 0 deletions
diff --git a/backends/graphics/graphics.h b/backends/graphics/graphics.h index 921dfca61c..271a482032 100644 --- a/backends/graphics/graphics.h +++ b/backends/graphics/graphics.h @@ -87,6 +87,7 @@ public: virtual void copyRectToOSD(const void *buf, int pitch, int x, int y, int w, int h) {} virtual void clearOSD() {} virtual Graphics::PixelFormat getOSDFormat() { return Graphics::PixelFormat(); } + virtual void displayActivityIconOnOSD(const Graphics::Surface *icon) {} // Graphics::PaletteManager interface diff --git a/backends/modular-backend.cpp b/backends/modular-backend.cpp index e1bdf15571..13db277a75 100644 --- a/backends/modular-backend.cpp +++ b/backends/modular-backend.cpp @@ -253,6 +253,10 @@ Graphics::PixelFormat ModularBackend::getOSDFormat() { return _graphicsManager->getOSDFormat(); } +void ModularBackend::displayActivityIconOnOSD(const Graphics::Surface *icon) { + _graphicsManager->displayActivityIconOnOSD(icon); +} + void ModularBackend::quit() { exit(0); } diff --git a/backends/modular-backend.h b/backends/modular-backend.h index 9cde27915f..886f91c320 100644 --- a/backends/modular-backend.h +++ b/backends/modular-backend.h @@ -130,6 +130,7 @@ public: virtual void copyRectToOSD(const void *buf, int pitch, int x, int y, int w, int h); virtual void clearOSD(); virtual Graphics::PixelFormat getOSDFormat(); + virtual void displayActivityIconOnOSD(const Graphics::Surface *icon); //@} diff --git a/common/system.h b/common/system.h index eb9a39bbdf..b07a5ffd1e 100644 --- a/common/system.h +++ b/common/system.h @@ -1102,6 +1102,25 @@ public: virtual void displayMessageOnOSD(const char *msg) = 0; /** + * Display an icon indicating 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. + * + * @param icon the icon to display on screen + */ + virtual void displayActivityIconOnOSD(const Graphics::Surface *icon) = 0; + + /** * Blit a bitmap to the 'on screen display'. * * If the current pixel format has one byte per pixel, the graphics data |