(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
This commit is contained in:
truelight
2007-06-17 20:30:28 +00:00
parent b0b4820387
commit 003375d375
39 changed files with 486 additions and 627 deletions

View File

@@ -1763,9 +1763,6 @@ static void QZ_VideoInit()
_cocoa_video_data.cursor_visible = true;
_screen.renderer = RendererFactoryBase::SelectRenderer(BlitterFactoryBase::GetCurrentBlitter()->GetRenderer());
if (_screen.renderer == NULL) error("Couldn't load the renderer '%s' the selected blitter depends on", BlitterFactoryBase::GetCurrentBlitter()->GetRenderer());
/* register for sleep notifications so wake from sleep generates SDL_VIDEOEXPOSE */
// QZ_RegisterForSleepNotifications();
}

View File

@@ -14,7 +14,7 @@
#include "../variables.h"
#include "../genworld.h"
#include "../fileio.h"
#include "../blitter/blitter.hpp"
#include "../blitter/factory.hpp"
#include "dedicated_v.h"
#ifdef BEOS_NET_SERVER
@@ -128,8 +128,6 @@ static const char *DedicatedVideoStart(const char * const *parm)
_screen.width = _screen.pitch = _cur_resolution[0];
_screen.height = _cur_resolution[1];
_screen.renderer = RendererFactoryBase::SelectRenderer(BlitterFactoryBase::GetCurrentBlitter()->GetRenderer());
if (_screen.renderer == NULL) error("Couldn't load the renderer '%s' the selected blitter depends on", BlitterFactoryBase::GetCurrentBlitter()->GetRenderer());
SetDebugString("net=6");

View File

@@ -6,7 +6,7 @@
#include "../variables.h"
#include "../window.h"
#include "../debug.h"
#include "../blitter/blitter.hpp"
#include "../blitter/factory.hpp"
#include "null_v.h"
static const char* NullVideoStart(const char* const* parm)
@@ -16,8 +16,6 @@ static const char* NullVideoStart(const char* const* parm)
/* Do not render, nor blit */
DEBUG(misc, 1, "Forcing blitter 'null'...");
BlitterFactoryBase::SelectBlitter("null");
_screen.renderer = RendererFactoryBase::SelectRenderer(BlitterFactoryBase::GetCurrentBlitter()->GetRenderer());
if (_screen.renderer == NULL) error("Couldn't load the renderer '%s' the selected blitter depends on", BlitterFactoryBase::GetCurrentBlitter()->GetRenderer());
return NULL;
}

View File

@@ -13,8 +13,7 @@
#include "../window.h"
#include "../network/network.h"
#include "../variables.h"
#include "../blitter/blitter.hpp"
#include "../renderer/renderer.hpp"
#include "../blitter/factory.hpp"
#include "sdl_v.h"
#include <SDL.h>
@@ -205,8 +204,6 @@ static bool CreateMainSurface(int w, int h)
_screen.width = newscreen->w;
_screen.height = newscreen->h;
_screen.pitch = newscreen->pitch / (bpp / 8);
_screen.renderer = RendererFactoryBase::SelectRenderer(BlitterFactoryBase::GetCurrentBlitter()->GetRenderer());
if (_screen.renderer == NULL) error("Couldn't load the renderer '%s' the selected blitter depends on", BlitterFactoryBase::GetCurrentBlitter()->GetRenderer());
_sdl_screen = newscreen;
InitPalette();

View File

@@ -653,8 +653,6 @@ static bool AllocateDibSection(int w, int h)
_screen.width = w;
_screen.pitch = ALIGN(w, 4);
_screen.height = h;
_screen.renderer = RendererFactoryBase::SelectRenderer(BlitterFactoryBase::GetCurrentBlitter()->GetRenderer());
if (_screen.renderer == NULL) error("Couldn't load the renderer '%s' the selected blitter depends on", BlitterFactoryBase::GetCurrentBlitter()->GetRenderer());
bi = (BITMAPINFO*)alloca(sizeof(BITMAPINFOHEADER) + sizeof(RGBQUAD) * 256);
memset(bi, 0, sizeof(BITMAPINFOHEADER) + sizeof(RGBQUAD) * 256);
bi->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);