22 #ifndef FIFE_VIDEO_RENDERBACKENDS_SDL_RENDERBACKENDSDL_H
23 #define FIFE_VIDEO_RENDERBACKENDS_SDL_RENDERBACKENDSDL_H
33 #include "video/renderbackend.h"
47 virtual const std::string&
getName()
const;
50 virtual void init(
const std::string& driver);
54 virtual void setLighting(
float red,
float green,
float blue);
59 virtual void createMainScreen(
const ScreenMode& mode,
const std::string& title,
const std::string& icon);
62 virtual Image* createImage(IResourceLoader* loader = 0);
63 virtual Image* createImage(
const std::string& name, IResourceLoader* loader = 0);
64 virtual Image* createImage(
const uint8_t* data, uint32_t width, uint32_t height);
65 virtual Image* createImage(
const std::string& name,
const uint8_t* data, uint32_t width, uint32_t height);
66 virtual Image* createImage(SDL_Surface* surface);
67 virtual Image* createImage(
const std::string& name, SDL_Surface* surface);
70 virtual void addImageToArray(uint32_t
id,
const Rect& rec,
float const* st, uint8_t alpha, uint8_t
const* rgb);
71 virtual void changeRenderInfos(uint16_t elements, int32_t src, int32_t dst,
bool light,
bool stentest, uint8_t stenref, GLConstants stenop, GLConstants stenfunc);
73 virtual void captureScreen(
const std::string& filename, uint32_t width, uint32_t height);
75 virtual bool putPixel(int32_t x, int32_t y, uint8_t r, uint8_t g, uint8_t b, uint8_t a = 255);
76 virtual void drawLine(
const Point& p1,
const Point& p2, uint8_t r, uint8_t g, uint8_t b, uint8_t a = 255);
78 virtual void drawRectangle(
const Point& p, uint16_t w, uint16_t h, uint8_t r, uint8_t g, uint8_t b, uint8_t a = 255);
79 virtual void fillRectangle(
const Point& p, uint16_t w, uint16_t h, uint8_t r, uint8_t g, uint8_t b, uint8_t a = 255);
80 virtual void drawQuad(
const Point& p1,
const Point& p2,
const Point& p3,
const Point& p4, uint8_t r, uint8_t g, uint8_t b, uint8_t a = 255);
81 virtual void drawVertex(
const Point& p,
const uint8_t size, uint8_t r, uint8_t g, uint8_t b, uint8_t a = 255);
82 virtual void drawLightPrimitive(
const Point& p, uint8_t intensity,
float radius, int32_t subdivisions,
float xstretch,
float ystretch, uint8_t red, uint8_t green, uint8_t blue);