21 #include "../SDL_internal.h" 33 #ifndef USE_DUFFS_LOOP 61 for (c = width;
c; --
c) {
73 #ifndef USE_DUFFS_LOOP 74 # if ( SDL_BYTEORDER == SDL_LIL_ENDIAN ) 85 #ifndef USE_DUFFS_LOOP 107 *(
Uint16 *)dst = map[*src++];
117 if ((
long) dst & 0x03) {
126 *(
Uint16 *) dst = map[*src++];
130 for (c = width / 4;
c; --
c) {
131 *(
Uint32 *) dst = (map[src[
HI]] << 16) | (map[src[
LO]]);
134 *(
Uint32 *) dst = (map[src[
HI]] << 16) | (map[src[
LO]]);
141 *(
Uint16 *) dst = map[*src++];
144 *(
Uint32 *) dst = (map[src[
HI]] << 16) | (map[src[
LO]]);
149 *(
Uint16 *) dst = map[*src++];
159 for (c = width / 4;
c; --
c) {
160 *(
Uint32 *) dst = (map[src[
HI]] << 16) | (map[src[
LO]]);
163 *(
Uint32 *) dst = (map[src[
HI]] << 16) | (map[src[
LO]]);
170 *(
Uint16 *) dst = map[*src++];
173 *(
Uint32 *) dst = (map[src[
HI]] << 16) | (map[src[
LO]]);
178 *(
Uint16 *) dst = map[*src++];
192 #ifndef USE_DUFFS_LOOP 198 int srcskip, dstskip;
202 height = info->
dst_h;
210 #ifdef USE_DUFFS_LOOP 224 for (c = width;
c; --
c) {
241 #ifndef USE_DUFFS_LOOP 247 int srcskip, dstskip;
251 height = info->
dst_h;
259 #ifdef USE_DUFFS_LOOP 262 *dst++ = map[*src++];
266 for (c = width / 4;
c; --
c) {
267 *dst++ = map[*src++];
268 *dst++ = map[*src++];
269 *dst++ = map[*src++];
270 *dst++ = map[*src++];
274 *dst++ = map[*src++];
276 *dst++ = map[*src++];
278 *dst++ = map[*src++];
303 if ( *src != ckey ) {
319 if ( *src != ckey ) {
352 if ( *src != ckey ) {
382 if ( *src != ckey ) {
384 dst[0] = palmap[o++];
385 dst[1] = palmap[o++];
386 dst[2] = palmap[o++];
417 if ( *src != ckey ) {
418 *dstp = palmap[*
src];
444 unsigned dR, dG, dB, dA;
445 const unsigned A = info->
a;
485 unsigned dR, dG, dB, dA;
486 const unsigned A = info->
a;
495 if ( *src != ckey ) {
#define SDL_COPY_COLORKEY
#define ALPHA_BLEND_RGBA(sR, sG, sB, sA, dR, dG, dB, dA)
static void Blit1to3Key(SDL_BlitInfo *info)
SDL_PixelFormat * src_fmt
#define ASSEMBLE_RGBA(buf, bpp, fmt, r, g, b, a)
A collection of pixels used in software blitting.
static const SDL_BlitFunc one_blitkey[]
#define SDL_COPY_RLE_MASK
SDL_BlitFunc SDL_CalculateBlit1(SDL_Surface *surface)
GLint GLint GLsizei width
#define DISEMBLE_RGBA(buf, bpp, fmt, Pixel, r, g, b, a)
static const SDL_BlitFunc one_blit[]
static void Blit1to2Key(SDL_BlitInfo *info)
#define DUFFS_LOOP4(pixel_copy_increment, width)
static void Blit1toNAlphaKey(SDL_BlitInfo *info)
#define DUFFS_LOOP(pixel_copy_increment, width)
static void Blit1to2(SDL_BlitInfo *info)
SDL_PixelFormat * dst_fmt
static void Blit1to4Key(SDL_BlitInfo *info)
GLint GLint GLsizei GLsizei height
#define SDL_COPY_MODULATE_ALPHA
static void Blit1to3(SDL_BlitInfo *info)
static void Blit1toNAlpha(SDL_BlitInfo *info)
void(* SDL_BlitFunc)(SDL_BlitInfo *info)
static void Blit1to1Key(SDL_BlitInfo *info)
const GLubyte GLuint GLuint GLuint GLuint alpha GLboolean GLboolean GLboolean GLboolean alpha GLint GLint GLsizei GLsizei GLenum type GLenum GLint GLenum GLint GLint GLsizei GLsizei GLint border GLenum GLint GLint GLint GLint GLint GLsizei GLsizei height GLsizei GLsizei GLenum GLenum const GLvoid *pixels GLenum GLint GLint GLint GLint j2 GLdouble GLdouble GLdouble GLdouble GLdouble GLdouble zFar GLenum GLenum GLint *params GLenum GLenum GLint *params GLenum GLenum GLint *params GLenum GLenum GLfloat *params GLenum GLint GLenum GLenum GLvoid *pixels GLenum GLint GLenum GLint *params GLenum GLenum GLint *params GLenum GLsizei const GLvoid *pointer GLenum GLenum const GLint *params GLenum GLfloat GLfloat GLint GLint const GLfloat *points GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat *points GLint GLfloat GLfloat GLint GLfloat GLfloat v2 GLenum GLenum const GLint *params GLdouble GLdouble GLdouble GLdouble GLdouble GLdouble zFar GLenum map
static void Blit1to4(SDL_BlitInfo *info)
static void Blit1to1(SDL_BlitInfo *info)