Add scoped helper to temporarily override current blitter

pull/642/head
Jonathan G Rennison 5 months ago
parent 0e581e0eeb
commit ae701a3bd8

@ -179,6 +179,21 @@ public:
* Create an instance of this Blitter-class.
*/
virtual Blitter *CreateInstance() = 0;
/* Scoped temporary current blitter override */
struct TemporaryCurrentBlitterOverride {
Blitter *old_blitter;
TemporaryCurrentBlitterOverride(Blitter *new_blitter) : old_blitter(*GetActiveBlitter())
{
*GetActiveBlitter() = new_blitter;
}
~TemporaryCurrentBlitterOverride()
{
*GetActiveBlitter() = this->old_blitter;
}
};
};
extern std::string _ini_blitter;

Loading…
Cancel
Save