summaryrefslogtreecommitdiff
path: root/src/blitter/null.hpp
diff options
context:
space:
mode:
authortruelight <truelight@openttd.org>2007-06-12 20:24:12 +0000
committertruelight <truelight@openttd.org>2007-06-12 20:24:12 +0000
commitf3f744d36a60431a6845d2b7e3ce17e64ee2e4f5 (patch)
treebed173ca279e1556489d31b0b8aa873a6d1cf110 /src/blitter/null.hpp
parent381b11c9796d6b40653f8b4c319c33f9920f047a (diff)
downloadopenttd-f3f744d36a60431a6845d2b7e3ce17e64ee2e4f5.tar.xz
(svn r10121) -Codechange: split renderer from rest of code; no longer any code directly accesses the video-buffer
-Add: added NULL blitter and renderer, which are always used for -vnull -Add: dedicated driver doesn't blit nor render by default. Can be overruled by user. (-D -b 8bpp-optimized) -Remove: removed CTRL+D from win32, which is incompatible with above -Add: extended screenshot support for PNG and BMP -Codechange: remove all hardcoded 8bpp references and replace them with more dynamic ones -Codechange: minor stuff in blitters
Diffstat (limited to 'src/blitter/null.hpp')
-rw-r--r--src/blitter/null.hpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/blitter/null.hpp b/src/blitter/null.hpp
new file mode 100644
index 000000000..5278bd474
--- /dev/null
+++ b/src/blitter/null.hpp
@@ -0,0 +1,30 @@
+/* $Id$ */
+
+/** @file null.hpp */
+
+#ifndef BLITTER_NULL_HPP
+#define BLITTER_NULL_HPP
+
+#include "blitter.hpp"
+
+class Blitter_Null : public Blitter {
+public:
+ /* virtual */ uint8 GetScreenDepth() { return 0; }
+
+ /* virtual */ void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom);
+
+ /* virtual */ Sprite *Encode(SpriteLoader::Sprite *sprite, Blitter::AllocatorProc *allocator);
+
+ /* virtual */ const char *GetRenderer() { return "null"; }
+};
+
+class FBlitter_Null: public BlitterFactory<FBlitter_Null> {
+public:
+ /* virtual */ const char *GetName() { return "null"; }
+
+ /* virtual */ const char *GetDescription() { return "Null Blitter (does nothing)"; }
+
+ /* virtual */ Blitter *CreateInstance() { return new Blitter_Null(); }
+};
+
+#endif /* BLITTER_NULL_HPP */