22 #ifndef FIFE_VIDEO_RENDERBACKENDS_SDL_SDLIMAGE_H
23 #define FIFE_VIDEO_RENDERBACKENDS_SDL_SDLIMAGE_H
28 #include <SDL_video.h>
34 #include "video/image.h"
43 SDLImage(
const uint8_t* data,
unsigned int width,
unsigned int height);
46 void render(
const Rect& rect, SDL_Surface* dst,
unsigned char alpha = 255);
47 void saveImage(
const std::string& filename);
48 bool putPixel(
int x,
int y,
int r,
int g,
int b,
int a = 255);
49 void drawLine(
const Point& p1,
const Point& p2,
int r,
int g,
int b,
int a = 255);
50 void drawTriangle(
const Point& p1,
const Point& p2,
const Point& p3,
int r,
int g,
int b,
int a = 255);
51 void drawRectangle(
const Point& p, uint16_t w, uint16_t h, uint8_t r, uint8_t g, uint8_t b, uint8_t a = 255);
52 void fillRectangle(
const Point& p, uint16_t w, uint16_t h, uint8_t r, uint8_t g, uint8_t b, uint8_t a = 255);
53 void drawQuad(
const Point& p1,
const Point& p2,
const Point& p3,
const Point& p4,
int r,
int g,
int b,
int a = 255);
54 void drawVertex(
const Point& p,
const uint8_t size,
int r,
int g,
int b,
int a = 255);
55 void drawLightPrimitive(
const Point& p, uint8_t intensity,
float radius,
int subdivisions,
float xstretch,
float ystretch, uint8_t red, uint8_t green, uint8_t blue);
69 SDL_Surface* optimize(SDL_Surface* surface);
79 SDL_Surface* m_zoom_surface;