man SDL_SetRowStretchCode (Fonctions bibliothèques) - (SDL_stretchcode.h)

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. Otherwise, the start adress of the Assembler is returned, which is the input argument of PutCode.

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 specified the byte-width of each pixel.

CETTE PAGE DOCUMENTE AUSSI :