summaryrefslogtreecommitdiff
path: root/src/video/video_driver.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/video/video_driver.hpp')
-rw-r--r--src/video/video_driver.hpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/video/video_driver.hpp b/src/video/video_driver.hpp
index 423e46436..4b2de253a 100644
--- a/src/video/video_driver.hpp
+++ b/src/video/video_driver.hpp
@@ -35,7 +35,7 @@ class VideoDriver : public Driver {
const uint DEFAULT_WINDOW_HEIGHT = 480u; ///< Default window height.
public:
- VideoDriver() : is_game_threaded(true) {}
+ VideoDriver() : is_game_threaded(true), change_blitter(nullptr) {}
/**
* Mark a particular area dirty.
@@ -162,6 +162,15 @@ public:
}
/**
+ * Queue a request to change the blitter. This is not executed immediately,
+ * but instead on the next draw-tick.
+ */
+ void ChangeBlitter(const char *new_blitter)
+ {
+ this->change_blitter = new_blitter;
+ }
+
+ /**
* Get the currently active instance of the video driver.
*/
static VideoDriver *GetInstance() {
@@ -303,6 +312,9 @@ protected:
private:
void GameLoop();
void GameThread();
+ void RealChangeBlitter(const char *repl_blitter);
+
+ const char *change_blitter; ///< Request to change the blitter. nullptr if no pending request.
};
#endif /* VIDEO_VIDEO_DRIVER_HPP */