Added a way to get a framebuffer interface for a window, and also a way to create a software renderer for an arbitrary surface.

The software renderer has been re-routed to use the framebuffer interface, which makes it possible to have software rendering available even on simple ports.
This commit is contained in:
Sam Lantinga 2011-02-03 15:49:37 -08:00
parent 657d4fd190
commit 052351dbe2
20 changed files with 685 additions and 436 deletions

View file

@ -26,6 +26,7 @@
#include "SDL_render.h"
#include "SDL_sysrender.h"
#include "../video/SDL_pixels_c.h"
#include "software/SDL_renderer_sw_c.h"
#define CHECK_RENDERER_MAGIC(renderer, retval) \
@ -137,12 +138,19 @@ SDL_CreateRenderer(SDL_Window * window, int index, Uint32 flags)
if (renderer) {
renderer->magic = &renderer_magic;
renderer->window = window;
SDL_AddEventWatch(SDL_RendererEventWatch, renderer);
}
return renderer;
}
SDL_Renderer *
SDL_CreateSoftwareRenderer(SDL_Surface * surface)
{
return SW_CreateRendererForSurface(surface);
}
int
SDL_GetRendererInfo(SDL_Renderer * renderer, SDL_RendererInfo * info)
{