ScummVM API documentation
Scumm::SmushMultiFont Class Reference

#include <smush_multi_font.h>

Inheritance diagram for Scumm::SmushMultiFont:

Public Member Functions

 SmushMultiFont (ScummEngine *vm, SmushPlayer *player, bool useOriginalColors)
 
void drawString (const char *str, byte *buffer, Common::Rect &clipRect, int x, int y, int16 col, TextStyleFlags flags)
 
void drawString (const char *str, byte *buffer, Common::Rect &clipRect, int x, int y, int pitch, int16 col, TextStyleFlags flags)
 
void drawStringWrap (const char *str, byte *buffer, Common::Rect &clipRect, int x, int y, int16 col, TextStyleFlags flags)
 
int draw2byte (byte *buffer, Common::Rect &clipRect, int x, int y, int pitch, int16 col, uint16 chr) override
 
int drawCharV7 (byte *buffer, Common::Rect &clipRect, int x, int y, int pitch, int16 col, TextStyleFlags flags, byte chr) override
 
int getCharWidth (uint16 chr) const override
 
int getCharHeight (uint16 chr) const override
 
int getFontHeight () const override
 
int setFont (int id) override
 
bool newStyleWrapping () const override
 
void setDefaultFont (int id)
 

Static Public Attributes

static const int MAX_FONTS = 5
 

Detailed Description

SmushMultiFont - Multi-font renderer for SMUSH videos

This class implements the GlyphRenderer_v7 interface and supports switching between multiple fonts during text rendering via the ^fXX escape sequence.

The original Rebel Assault 2 (and other SCUMM v7 games) used a linked list of font structures that could be traversed when ^f escape codes were encountered. This class provides equivalent functionality by holding an array of NutRenderer pointers and switching between them.


The documentation for this class was generated from the following file: