Blitter

Contents

La tâche principale du blitter est de dessiner des sprites à l'écran. Il doit gérer la réapplication des couleurs et les effets de transparence. Des méthodes supplémentaires sont fournies pour pré-encoder les données des sprites du jeu dans un format préféré par le blitter.

Les blitters suivants existent dans SVN:

Méthodes

uint8 GetScreenDepth()

Obtient la profondeur d'écran pour laquelle travaille le blitter. Ce peut être: 8, 16, 24 ou 32.

void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom)

Dessine une image à l'écran, étant donnés un ensemble de paramètres définis précédemment.

void DrawColorMappingRect(void *dst, int width, int height, int pal)

Dessine une table de couleurs à l'écran. C'est-à-dire: la couleur de l'écran est recherchée dans la palette pour correspondre à une nouvelle couleur, qui est alors mise à l'écran de nouveau.

Sprite *Encode(SpriteLoader::Sprite *sprite, Blitter::AllocatorProc *allocator)

Convertit un sprite depuis le chargeur dans notre propre format.

Le SpriteLoader appelle cette méthode pour chaque sprite réel chargé. Cette fonction a besoin de convertir les données d'un sprite depuis le format RGBAM vers le format préféré du blitter. Pour les blitters 8bpp, ce sera fait en général en abandonnant les données RGBA et en n'utilisant que la partie M indexée.

const char *GetRenderer()

Obtient le programme de rendu dont cette classe dépend.