From 79cd3f5db0deeb4017c75198f3b530c3a2bf0ee3 Mon Sep 17 00:00:00 2001 From: truelight Date: Sun, 17 Jun 2007 20:30:28 +0000 Subject: (svn r10190) -Codechange: merged renderer and blitter to one single class API: blitter -Codechange: introduced a hierachy of blitters to avoid a lot of code duplication Note: this allows much easier adding other types of video-drivers, like OpenGL --- src/blitter/null.hpp | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) (limited to 'src/blitter/null.hpp') diff --git a/src/blitter/null.hpp b/src/blitter/null.hpp index 5db182cb6..98374f1de 100644 --- a/src/blitter/null.hpp +++ b/src/blitter/null.hpp @@ -5,27 +5,30 @@ #ifndef BLITTER_NULL_HPP #define BLITTER_NULL_HPP -#include "blitter.hpp" +#include "base.hpp" +#include "factory.hpp" class Blitter_Null : public Blitter { public: /* virtual */ uint8 GetScreenDepth() { return 0; } - - /* virtual */ void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom); - - /* virtual */ void DrawColorMappingRect(void *dst, int width, int height, int pal); - + /* virtual */ void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom) {}; + /* virtual */ void DrawColorMappingRect(void *dst, int width, int height, int pal) {}; /* virtual */ Sprite *Encode(SpriteLoader::Sprite *sprite, Blitter::AllocatorProc *allocator); - - /* virtual */ const char *GetRenderer() { return "null"; } + /* virtual */ void *MoveTo(const void *video, int x, int y) { return NULL; }; + /* virtual */ void SetPixel(void *video, int x, int y, uint8 color) {}; + /* virtual */ void SetPixelIfEmpty(void *video, int x, int y, uint8 color) {}; + /* virtual */ void SetHorizontalLine(void *video, int width, uint8 color) {}; + /* virtual */ void DrawLine(void *video, int x, int y, int x2, int y2, uint8 color) {}; + /* virtual */ void CopyFromBuffer(void *video, const void *src, int width, int height, int src_pitch) {}; + /* virtual */ void CopyToBuffer(const void *video, void *dst, int width, int height, int dst_pitch) {}; + /* virtual */ void MoveBuffer(void *video_dst, const void *video_src, int width, int height) {}; + /* virtual */ int BufferSize(int width, int height) { return 0; }; }; class FBlitter_Null: public BlitterFactory { public: /* virtual */ const char *GetName() { return "null"; } - /* virtual */ const char *GetDescription() { return "Null Blitter (does nothing)"; } - /* virtual */ Blitter *CreateInstance() { return new Blitter_Null(); } }; -- cgit v1.2.3-54-g00ecf