From 01ef44fa4ff800c03994d904a8eef445f1871b32 Mon Sep 17 00:00:00 2001 From: Michael Lutz Date: Sat, 16 Jan 2021 16:43:40 +0100 Subject: Codechange: Allow blitter factories to decide at runtime if the blitter is usable. --- src/blitter/factory.hpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/blitter') diff --git a/src/blitter/factory.hpp b/src/blitter/factory.hpp index c7776f4a4..c76126fb5 100644 --- a/src/blitter/factory.hpp +++ b/src/blitter/factory.hpp @@ -73,6 +73,15 @@ protected: } } + /** + * Is the blitter usable with the current drivers and hardware config? + * @return True if the blitter can be instantiated. + */ + virtual bool IsUsable() const + { + return true; + } + public: virtual ~BlitterFactory() { @@ -119,7 +128,7 @@ public: for (; it != GetBlitters().end(); it++) { BlitterFactory *b = (*it).second; if (strcasecmp(bname, b->name.c_str()) == 0) { - return b; + return b->IsUsable() ? b : nullptr; } } return nullptr; -- cgit v1.2.3-70-g09d2