Man Linux: Main Page and Category List

NAME

       SDL_SetRowStretchCode, SDL_PutRowStretchCode, SDL_RunRowStretchCode,
       SDL_StretchRow1, SDL_StretchRow2, SDL_StretchRow3, SDL_StretchRow4 -
       (SDL_stretchcode.h)

SYNOPSIS

        #include <SDL_stretch.h>

       unsigned char* SDL_SetRowStretchCode(int src_w, int dst_w, int bpp);

       unsigned char* SDL_PutRowStretchCode(unsigned char* buffer, int buflen,
                                            int src_w, int dst_w, int bpp);

       void SDL_RunRowStretchCode(unsigned char* buffer, unsigned char* src,
                                  unsigned char* dst);

       void SDL_StretchRow1(Uint8 *src, int src_w, Uint8 *dst, int dst_w);

       void SDL_StretchRow2(Uint16 *src, int src_w, Uint16 *dst, int dst_w);

       void SDL_StretchRow3(Uint8 *src, int src_w, Uint8 *dst, int dst_w);

       void SDL_StretchRow4(Uint32 *src, int src_w, Uint32 *dst, int dst_w);

DESCRIPTION

       The SetRowStretchCode is a wrapper around PutRowStretchCode that uses
       the Adress and Size of the shared SDL_TheRowStretchCode buffer. The
       PutRowStretchCode will fill the given buffer with an assembler stream
       that should be called with SDL_RunRowStretchCode. The assembler stream
       is usually faster as all the scale decisions are done in advance of the
       execution. This helps when a RunCode is done multiple times with the
       same src_w/dst_w/bpp pair. All the pixel-get and pixel-set calls are
       unrolled in that buffer. Therefore, the buffer should be big enough -
       as a rule of thumb use a buffer of size (src_w+dst_w)*5

       If PutCode or SetCode fails, a NULL is returned and SDL_SetError.
       Otherwise, the start adress of the machine code buffer is returned,
       which is also the input argument of PutCode and RunCode.

       If SDL_SetRowStretchCode fails, the SDL_StretchRow1 function must be
       used instead.  The SDL_StretchRow1 function and its cousins are
       singular routines that work in a tight loop to scale a single row. The
       number specifies the byte-width of each pixel (it is not a bit-width!).