SDL  2.0
SDL_blendpoint.c File Reference
#include "../../SDL_internal.h"
#include "SDL_draw.h"
#include "SDL_blendpoint.h"
+ Include dependency graph for SDL_blendpoint.c:

Go to the source code of this file.

Functions

static int SDL_BlendPoint_RGB555 (SDL_Surface *dst, int x, int y, SDL_BlendMode blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
 
static int SDL_BlendPoint_RGB565 (SDL_Surface *dst, int x, int y, SDL_BlendMode blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
 
static int SDL_BlendPoint_RGB888 (SDL_Surface *dst, int x, int y, SDL_BlendMode blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
 
static int SDL_BlendPoint_ARGB8888 (SDL_Surface *dst, int x, int y, SDL_BlendMode blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
 
static int SDL_BlendPoint_RGB (SDL_Surface *dst, int x, int y, SDL_BlendMode blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
 
static int SDL_BlendPoint_RGBA (SDL_Surface *dst, int x, int y, SDL_BlendMode blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
 
int SDL_BlendPoint (SDL_Surface *dst, int x, int y, SDL_BlendMode blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
 
int SDL_BlendPoints (SDL_Surface *dst, const SDL_Point *points, int count, SDL_BlendMode blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
 

Function Documentation

◆ SDL_BlendPoint()

int SDL_BlendPoint ( SDL_Surface dst,
int  x,
int  y,
SDL_BlendMode  blendMode,
Uint8  r,
Uint8  g,
Uint8  b,
Uint8  a 
)

Definition at line 196 of file SDL_blendpoint.c.

References SDL_PixelFormat::Amask, SDL_PixelFormat::BitsPerPixel, SDL_Surface::clip_rect, DRAW_MUL, SDL_Surface::format, SDL_Rect::h, SDL_PixelFormat::Rmask, SDL_BLENDMODE_ADD, SDL_BLENDMODE_BLEND, SDL_BlendPoint_ARGB8888(), SDL_BlendPoint_RGB(), SDL_BlendPoint_RGB555(), SDL_BlendPoint_RGB565(), SDL_BlendPoint_RGB888(), SDL_BlendPoint_RGBA(), SDL_SetError, SDL_Rect::w, SDL_Rect::x, and SDL_Rect::y.

Referenced by SDL_BlendLines().

198 {
199  if (!dst) {
200  return SDL_SetError("Passed NULL destination surface");
201  }
202 
203  /* This function doesn't work on surfaces < 8 bpp */
204  if (dst->format->BitsPerPixel < 8) {
205  return SDL_SetError("SDL_BlendPoint(): Unsupported surface format");
206  }
207 
208  /* Perform clipping */
209  if (x < dst->clip_rect.x || y < dst->clip_rect.y ||
210  x >= (dst->clip_rect.x + dst->clip_rect.w) ||
211  y >= (dst->clip_rect.y + dst->clip_rect.h)) {
212  return 0;
213  }
214 
216  r = DRAW_MUL(r, a);
217  g = DRAW_MUL(g, a);
218  b = DRAW_MUL(b, a);
219  }
220 
221  switch (dst->format->BitsPerPixel) {
222  case 15:
223  switch (dst->format->Rmask) {
224  case 0x7C00:
225  return SDL_BlendPoint_RGB555(dst, x, y, blendMode, r, g, b, a);
226  }
227  break;
228  case 16:
229  switch (dst->format->Rmask) {
230  case 0xF800:
231  return SDL_BlendPoint_RGB565(dst, x, y, blendMode, r, g, b, a);
232  }
233  break;
234  case 32:
235  switch (dst->format->Rmask) {
236  case 0x00FF0000:
237  if (!dst->format->Amask) {
238  return SDL_BlendPoint_RGB888(dst, x, y, blendMode, r, g, b, a);
239  } else {
240  return SDL_BlendPoint_ARGB8888(dst, x, y, blendMode, r, g, b, a);
241  }
242  /* break; -Wunreachable-code-break */
243  }
244  break;
245  default:
246  break;
247  }
248 
249  if (!dst->format->Amask) {
250  return SDL_BlendPoint_RGB(dst, x, y, blendMode, r, g, b, a);
251  } else {
252  return SDL_BlendPoint_RGBA(dst, x, y, blendMode, r, g, b, a);
253  }
254 }
GLdouble GLdouble GLdouble r
Definition: SDL_opengl.h:2079
GLint GLint GLint GLint GLint x
Definition: SDL_opengl.h:1574
static int SDL_BlendPoint_RGBA(SDL_Surface *dst, int x, int y, SDL_BlendMode blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
static int SDL_BlendPoint_ARGB8888(SDL_Surface *dst, int x, int y, SDL_BlendMode blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
static int SDL_BlendPoint_RGB888(SDL_Surface *dst, int x, int y, SDL_BlendMode blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
static int SDL_BlendPoint_RGB565(SDL_Surface *dst, int x, int y, SDL_BlendMode blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
static SDL_BlendMode blendMode
Definition: testdraw2.c:34
static int SDL_BlendPoint_RGB555(SDL_Surface *dst, int x, int y, SDL_BlendMode blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
Uint8 BitsPerPixel
Definition: SDL_pixels.h:319
GLint GLint GLint GLint GLint GLint y
Definition: SDL_opengl.h:1574
int x
Definition: SDL_rect.h:66
int w
Definition: SDL_rect.h:67
SDL_Rect clip_rect
Definition: SDL_surface.h:85
static int SDL_BlendPoint_RGB(SDL_Surface *dst, int x, int y, SDL_BlendMode blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
SDL_PixelFormat * format
Definition: SDL_surface.h:72
#define SDL_SetError
int h
Definition: SDL_rect.h:67
GLboolean GLboolean GLboolean GLboolean a
GLboolean GLboolean g
GLboolean GLboolean GLboolean b
int y
Definition: SDL_rect.h:66
#define DRAW_MUL(_a, _b)
Definition: SDL_draw.h:29

◆ SDL_BlendPoint_ARGB8888()

static int SDL_BlendPoint_ARGB8888 ( SDL_Surface dst,
int  x,
int  y,
SDL_BlendMode  blendMode,
Uint8  r,
Uint8  g,
Uint8  b,
Uint8  a 
)
static

Definition at line 99 of file SDL_blendpoint.c.

References DRAW_SETPIXELXY_ADD_ARGB8888, DRAW_SETPIXELXY_ARGB8888, DRAW_SETPIXELXY_BLEND_ARGB8888, DRAW_SETPIXELXY_MOD_ARGB8888, SDL_BLENDMODE_ADD, SDL_BLENDMODE_BLEND, and SDL_BLENDMODE_MOD.

Referenced by SDL_BlendPoint(), and SDL_BlendPoints().

101 {
102  unsigned inva = 0xff - a;
103 
104  switch (blendMode) {
105  case SDL_BLENDMODE_BLEND:
107  break;
108  case SDL_BLENDMODE_ADD:
110  break;
111  case SDL_BLENDMODE_MOD:
113  break;
114  default:
116  break;
117  }
118  return 0;
119 }
GLint GLint GLint GLint GLint x
Definition: SDL_opengl.h:1574
#define DRAW_SETPIXELXY_MOD_ARGB8888(x, y)
Definition: SDL_draw.h:211
static SDL_BlendMode blendMode
Definition: testdraw2.c:34
#define DRAW_SETPIXELXY_ARGB8888(x, y)
Definition: SDL_draw.h:202
GLint GLint GLint GLint GLint GLint y
Definition: SDL_opengl.h:1574
GLboolean GLboolean GLboolean GLboolean a
#define DRAW_SETPIXELXY_BLEND_ARGB8888(x, y)
Definition: SDL_draw.h:205
#define DRAW_SETPIXELXY_ADD_ARGB8888(x, y)
Definition: SDL_draw.h:208

◆ SDL_BlendPoint_RGB()

static int SDL_BlendPoint_RGB ( SDL_Surface dst,
int  x,
int  y,
SDL_BlendMode  blendMode,
Uint8  r,
Uint8  g,
Uint8  b,
Uint8  a 
)
static

Definition at line 122 of file SDL_blendpoint.c.

References SDL_PixelFormat::BytesPerPixel, DRAW_SETPIXELXY2_ADD_RGB, DRAW_SETPIXELXY2_BLEND_RGB, DRAW_SETPIXELXY2_MOD_RGB, DRAW_SETPIXELXY2_RGB, DRAW_SETPIXELXY4_ADD_RGB, DRAW_SETPIXELXY4_BLEND_RGB, DRAW_SETPIXELXY4_MOD_RGB, DRAW_SETPIXELXY4_RGB, SDL_Surface::format, SDL_BLENDMODE_ADD, SDL_BLENDMODE_BLEND, SDL_BLENDMODE_MOD, and SDL_Unsupported.

Referenced by SDL_BlendPoint(), and SDL_BlendPoints().

124 {
125  SDL_PixelFormat *fmt = dst->format;
126  unsigned inva = 0xff - a;
127 
128  switch (fmt->BytesPerPixel) {
129  case 2:
130  switch (blendMode) {
131  case SDL_BLENDMODE_BLEND:
133  break;
134  case SDL_BLENDMODE_ADD:
136  break;
137  case SDL_BLENDMODE_MOD:
139  break;
140  default:
142  break;
143  }
144  return 0;
145  case 4:
146  switch (blendMode) {
147  case SDL_BLENDMODE_BLEND:
149  break;
150  case SDL_BLENDMODE_ADD:
152  break;
153  case SDL_BLENDMODE_MOD:
155  break;
156  default:
158  break;
159  }
160  return 0;
161  default:
162  return SDL_Unsupported();
163  }
164 }
#define DRAW_SETPIXELXY2_RGB(x, y)
Definition: SDL_draw.h:233
#define DRAW_SETPIXELXY4_MOD_RGB(x, y)
Definition: SDL_draw.h:254
GLint GLint GLint GLint GLint x
Definition: SDL_opengl.h:1574
Uint8 BytesPerPixel
Definition: SDL_pixels.h:320
#define DRAW_SETPIXELXY2_BLEND_RGB(x, y)
Definition: SDL_draw.h:239
static SDL_BlendMode blendMode
Definition: testdraw2.c:34
GLint GLint GLint GLint GLint GLint y
Definition: SDL_opengl.h:1574
#define DRAW_SETPIXELXY4_BLEND_RGB(x, y)
Definition: SDL_draw.h:242
SDL_PixelFormat * format
Definition: SDL_surface.h:72
#define DRAW_SETPIXELXY2_ADD_RGB(x, y)
Definition: SDL_draw.h:245
#define DRAW_SETPIXELXY4_ADD_RGB(x, y)
Definition: SDL_draw.h:248
GLboolean GLboolean GLboolean GLboolean a
#define DRAW_SETPIXELXY4_RGB(x, y)
Definition: SDL_draw.h:236
#define SDL_Unsupported()
Definition: SDL_error.h:53
#define DRAW_SETPIXELXY2_MOD_RGB(x, y)
Definition: SDL_draw.h:251

◆ SDL_BlendPoint_RGB555()

static int SDL_BlendPoint_RGB555 ( SDL_Surface dst,
int  x,
int  y,
SDL_BlendMode  blendMode,
Uint8  r,
Uint8  g,
Uint8  b,
Uint8  a 
)
static

Definition at line 30 of file SDL_blendpoint.c.

References DRAW_SETPIXELXY_ADD_RGB555, DRAW_SETPIXELXY_BLEND_RGB555, DRAW_SETPIXELXY_MOD_RGB555, DRAW_SETPIXELXY_RGB555, SDL_BLENDMODE_ADD, SDL_BLENDMODE_BLEND, and SDL_BLENDMODE_MOD.

Referenced by SDL_BlendPoint(), and SDL_BlendPoints().

32 {
33  unsigned inva = 0xff - a;
34 
35  switch (blendMode) {
38  break;
39  case SDL_BLENDMODE_ADD:
41  break;
42  case SDL_BLENDMODE_MOD:
44  break;
45  default:
47  break;
48  }
49  return 0;
50 }
GLint GLint GLint GLint GLint x
Definition: SDL_opengl.h:1574
static SDL_BlendMode blendMode
Definition: testdraw2.c:34
#define DRAW_SETPIXELXY_BLEND_RGB555(x, y)
Definition: SDL_draw.h:112
#define DRAW_SETPIXELXY_MOD_RGB555(x, y)
Definition: SDL_draw.h:118
GLint GLint GLint GLint GLint GLint y
Definition: SDL_opengl.h:1574
#define DRAW_SETPIXELXY_ADD_RGB555(x, y)
Definition: SDL_draw.h:115
#define DRAW_SETPIXELXY_RGB555(x, y)
Definition: SDL_draw.h:109
GLboolean GLboolean GLboolean GLboolean a

◆ SDL_BlendPoint_RGB565()

static int SDL_BlendPoint_RGB565 ( SDL_Surface dst,
int  x,
int  y,
SDL_BlendMode  blendMode,
Uint8  r,
Uint8  g,
Uint8  b,
Uint8  a 
)
static

Definition at line 53 of file SDL_blendpoint.c.

References DRAW_SETPIXELXY_ADD_RGB565, DRAW_SETPIXELXY_BLEND_RGB565, DRAW_SETPIXELXY_MOD_RGB565, DRAW_SETPIXELXY_RGB565, SDL_BLENDMODE_ADD, SDL_BLENDMODE_BLEND, and SDL_BLENDMODE_MOD.

Referenced by SDL_BlendPoint(), and SDL_BlendPoints().

55 {
56  unsigned inva = 0xff - a;
57 
58  switch (blendMode) {
61  break;
62  case SDL_BLENDMODE_ADD:
64  break;
65  case SDL_BLENDMODE_MOD:
67  break;
68  default:
70  break;
71  }
72  return 0;
73 }
#define DRAW_SETPIXELXY_RGB565(x, y)
Definition: SDL_draw.h:140
GLint GLint GLint GLint GLint x
Definition: SDL_opengl.h:1574
static SDL_BlendMode blendMode
Definition: testdraw2.c:34
GLint GLint GLint GLint GLint GLint y
Definition: SDL_opengl.h:1574
#define DRAW_SETPIXELXY_MOD_RGB565(x, y)
Definition: SDL_draw.h:149
#define DRAW_SETPIXELXY_BLEND_RGB565(x, y)
Definition: SDL_draw.h:143
GLboolean GLboolean GLboolean GLboolean a
#define DRAW_SETPIXELXY_ADD_RGB565(x, y)
Definition: SDL_draw.h:146

◆ SDL_BlendPoint_RGB888()

static int SDL_BlendPoint_RGB888 ( SDL_Surface dst,
int  x,
int  y,
SDL_BlendMode  blendMode,
Uint8  r,
Uint8  g,
Uint8  b,
Uint8  a 
)
static

Definition at line 76 of file SDL_blendpoint.c.

References DRAW_SETPIXELXY_ADD_RGB888, DRAW_SETPIXELXY_BLEND_RGB888, DRAW_SETPIXELXY_MOD_RGB888, DRAW_SETPIXELXY_RGB888, SDL_BLENDMODE_ADD, SDL_BLENDMODE_BLEND, and SDL_BLENDMODE_MOD.

Referenced by SDL_BlendPoint(), and SDL_BlendPoints().

78 {
79  unsigned inva = 0xff - a;
80 
81  switch (blendMode) {
84  break;
85  case SDL_BLENDMODE_ADD:
87  break;
88  case SDL_BLENDMODE_MOD:
90  break;
91  default:
93  break;
94  }
95  return 0;
96 }
#define DRAW_SETPIXELXY_ADD_RGB888(x, y)
Definition: SDL_draw.h:177
GLint GLint GLint GLint GLint x
Definition: SDL_opengl.h:1574
static SDL_BlendMode blendMode
Definition: testdraw2.c:34
#define DRAW_SETPIXELXY_BLEND_RGB888(x, y)
Definition: SDL_draw.h:174
GLint GLint GLint GLint GLint GLint y
Definition: SDL_opengl.h:1574
#define DRAW_SETPIXELXY_MOD_RGB888(x, y)
Definition: SDL_draw.h:180
#define DRAW_SETPIXELXY_RGB888(x, y)
Definition: SDL_draw.h:171
GLboolean GLboolean GLboolean GLboolean a

◆ SDL_BlendPoint_RGBA()

static int SDL_BlendPoint_RGBA ( SDL_Surface dst,
int  x,
int  y,
SDL_BlendMode  blendMode,
Uint8  r,
Uint8  g,
Uint8  b,
Uint8  a 
)
static

Definition at line 167 of file SDL_blendpoint.c.

References SDL_PixelFormat::BytesPerPixel, DRAW_SETPIXELXY4_ADD_RGBA, DRAW_SETPIXELXY4_BLEND_RGBA, DRAW_SETPIXELXY4_MOD_RGBA, DRAW_SETPIXELXY4_RGBA, SDL_Surface::format, SDL_BLENDMODE_ADD, SDL_BLENDMODE_BLEND, SDL_BLENDMODE_MOD, and SDL_Unsupported.

Referenced by SDL_BlendPoint(), and SDL_BlendPoints().

169 {
170  SDL_PixelFormat *fmt = dst->format;
171  unsigned inva = 0xff - a;
172 
173  switch (fmt->BytesPerPixel) {
174  case 4:
175  switch (blendMode) {
176  case SDL_BLENDMODE_BLEND:
178  break;
179  case SDL_BLENDMODE_ADD:
181  break;
182  case SDL_BLENDMODE_MOD:
184  break;
185  default:
187  break;
188  }
189  return 0;
190  default:
191  return SDL_Unsupported();
192  }
193 }
GLint GLint GLint GLint GLint x
Definition: SDL_opengl.h:1574
Uint8 BytesPerPixel
Definition: SDL_pixels.h:320
#define DRAW_SETPIXELXY4_RGBA(x, y)
Definition: SDL_draw.h:277
#define DRAW_SETPIXELXY4_ADD_RGBA(x, y)
Definition: SDL_draw.h:283
#define DRAW_SETPIXELXY4_MOD_RGBA(x, y)
Definition: SDL_draw.h:286
static SDL_BlendMode blendMode
Definition: testdraw2.c:34
GLint GLint GLint GLint GLint GLint y
Definition: SDL_opengl.h:1574
SDL_PixelFormat * format
Definition: SDL_surface.h:72
#define DRAW_SETPIXELXY4_BLEND_RGBA(x, y)
Definition: SDL_draw.h:280
GLboolean GLboolean GLboolean GLboolean a
#define SDL_Unsupported()
Definition: SDL_error.h:53

◆ SDL_BlendPoints()

int SDL_BlendPoints ( SDL_Surface dst,
const SDL_Point points,
int  count,
SDL_BlendMode  blendMode,
Uint8  r,
Uint8  g,
Uint8  b,
Uint8  a 
)

Definition at line 257 of file SDL_blendpoint.c.

References SDL_PixelFormat::Amask, SDL_PixelFormat::BitsPerPixel, blendMode, SDL_Surface::clip_rect, DRAW_MUL, SDL_Surface::format, SDL_Rect::h, i, NULL, SDL_PixelFormat::Rmask, SDL_BLENDMODE_ADD, SDL_BLENDMODE_BLEND, SDL_BlendPoint_ARGB8888(), SDL_BlendPoint_RGB(), SDL_BlendPoint_RGB555(), SDL_BlendPoint_RGB565(), SDL_BlendPoint_RGB888(), SDL_BlendPoint_RGBA(), SDL_SetError, SDL_Rect::w, SDL_Point::x, SDL_Rect::x, SDL_Point::y, and SDL_Rect::y.

Referenced by SW_RenderDrawPoints().

259 {
260  int minx, miny;
261  int maxx, maxy;
262  int i;
263  int x, y;
264  int (*func)(SDL_Surface * dst, int x, int y,
266  int status = 0;
267 
268  if (!dst) {
269  return SDL_SetError("Passed NULL destination surface");
270  }
271 
272  /* This function doesn't work on surfaces < 8 bpp */
273  if (dst->format->BitsPerPixel < 8) {
274  return SDL_SetError("SDL_BlendPoints(): Unsupported surface format");
275  }
276 
277  if (blendMode == SDL_BLENDMODE_BLEND || blendMode == SDL_BLENDMODE_ADD) {
278  r = DRAW_MUL(r, a);
279  g = DRAW_MUL(g, a);
280  b = DRAW_MUL(b, a);
281  }
282 
283  /* FIXME: Does this function pointer slow things down significantly? */
284  switch (dst->format->BitsPerPixel) {
285  case 15:
286  switch (dst->format->Rmask) {
287  case 0x7C00:
289  break;
290  }
291  break;
292  case 16:
293  switch (dst->format->Rmask) {
294  case 0xF800:
296  break;
297  }
298  break;
299  case 32:
300  switch (dst->format->Rmask) {
301  case 0x00FF0000:
302  if (!dst->format->Amask) {
304  } else {
306  }
307  break;
308  }
309  break;
310  default:
311  break;
312  }
313 
314  if (!func) {
315  if (!dst->format->Amask) {
317  } else {
319  }
320  }
321 
322  minx = dst->clip_rect.x;
323  maxx = dst->clip_rect.x + dst->clip_rect.w - 1;
324  miny = dst->clip_rect.y;
325  maxy = dst->clip_rect.y + dst->clip_rect.h - 1;
326 
327  for (i = 0; i < count; ++i) {
328  x = points[i].x;
329  y = points[i].y;
330 
331  if (x < minx || x > maxx || y < miny || y > maxy) {
332  continue;
333  }
334  status = func(dst, x, y, blendMode, r, g, b, a);
335  }
336  return status;
337 }
GLdouble GLdouble GLdouble r
Definition: SDL_opengl.h:2079
GLenum GLenum dst
GLint GLint GLint GLint GLint x
Definition: SDL_opengl.h:1574
static int SDL_BlendPoint_RGBA(SDL_Surface *dst, int x, int y, SDL_BlendMode blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
SDL_BlendMode
The blend mode used in SDL_RenderCopy() and drawing operations.
Definition: SDL_blendmode.h:40
GLuint GLuint GLsizei count
Definition: SDL_opengl.h:1571
A collection of pixels used in software blitting.
Definition: SDL_surface.h:69
static int SDL_BlendPoint_ARGB8888(SDL_Surface *dst, int x, int y, SDL_BlendMode blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
static int SDL_BlendPoint_RGB888(SDL_Surface *dst, int x, int y, SDL_BlendMode blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
static int SDL_BlendPoint_RGB565(SDL_Surface *dst, int x, int y, SDL_BlendMode blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
static SDL_BlendMode blendMode
Definition: testdraw2.c:34
int x
Definition: SDL_rect.h:50
static int SDL_BlendPoint_RGB555(SDL_Surface *dst, int x, int y, SDL_BlendMode blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
int y
Definition: SDL_rect.h:51
uint8_t Uint8
Definition: SDL_stdinc.h:157
Uint8 BitsPerPixel
Definition: SDL_pixels.h:319
GLint GLint GLint GLint GLint GLint y
Definition: SDL_opengl.h:1574
int x
Definition: SDL_rect.h:66
int w
Definition: SDL_rect.h:67
SDL_Rect clip_rect
Definition: SDL_surface.h:85
return Display return Display Bool Bool int int int return Display XEvent Bool(*) XPointer return Display return Display Drawable _Xconst char unsigned int unsigned int return Display Pixmap Pixmap XColor XColor unsigned int unsigned int return Display _Xconst char char int char return Display Visual unsigned int int int char unsigned int unsigned int in i)
Definition: SDL_x11sym.h:50
static int SDL_BlendPoint_RGB(SDL_Surface *dst, int x, int y, SDL_BlendMode blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
#define NULL
Definition: begin_code.h:164
SDL_PixelFormat * format
Definition: SDL_surface.h:72
#define SDL_SetError
GLenum func
int h
Definition: SDL_rect.h:67
GLboolean GLboolean GLboolean GLboolean a
GLboolean GLboolean g
GLboolean GLboolean GLboolean b
int y
Definition: SDL_rect.h:66
#define DRAW_MUL(_a, _b)
Definition: SDL_draw.h:29