WoopsiUI::PackedFontBase Class Reference

#include <packedfontbase.h>

Inheritance diagram for WoopsiUI::PackedFontBase:
WoopsiUI::FontBase WoopsiUI::PackedFont1 WoopsiUI::PackedFont16

List of all members.

Public Member Functions

 PackedFontBase (u8 first, u8 last, const u16 *glyphData, const u16 *glyphOffset, const u8 *glyphWidth, const u8 height, const u8 spWidth, const u8 fixedWidth=0)
void setFontWidth (u8 fontWidth)
virtual s16 drawChar (u16 *bitmap, u16 bitmapWidth, u16 bitmapHeight, char letter, s16 x, s16 y, u16 clipX1, u16 clipY1, u16 clipX2, u16 clipY2)
virtual u16 getStringWidth (const char *text) const
virtual u16 getStringWidth (const char *text, u16 length) const
virtual u16 getCharWidth (char letter) const
const bool isCharBlank (const char letter) const
virtual void renderChar (const u16 *pixelData, u16 pixelsPerRow, u16 *bitmap, u16 bitmapWidth, s16 x, s16 y, u16 clipX1, u16 clipY1, u16 clipX2, u16 clipY2)=0

Protected Attributes

u8 _first
u8 _last
const u16 * _glyphData
const u16 * _glyphOffset
const u8 * _glyphWidth
u8 _fontWidth
u8 _spWidth
u8 _widMax

Detailed Description

PackedFont is a base class defining a font whose data is packed into a more efficient data format.


Constructor & Destructor Documentation

WoopsiUI::PackedFontBase::PackedFontBase ( u8  first,
u8  last,
const u16 *  glyphData,
const u16 *  glyphOffset,
const u8 *  glyphWidth,
const u8  height,
const u8  spWidth,
const u8  fixedWidth = 0 
) [inline]

Constructor.

Parameters:
first Ascii index of first character in glphyDdata.
last Ascii index of last character in glyphData.
glyphData Packed array representing font.
glyphOffset Offset into glyphData[] of character[i].
glyphWidth Pixel width of character[i].
height The height of the font.
spWidth The width of a space character
fixedWidth Character width (fixed), or 0 for proportional.

Member Function Documentation

virtual s16 WoopsiUI::PackedFontBase::drawChar ( u16 *  bitmap,
u16  bitmapWidth,
u16  bitmapHeight,
char  letter,
s16  x,
s16  y,
u16  clipX1,
u16  clipY1,
u16  clipX2,
u16  clipY2 
) [virtual]

Draw an individual character of the font to the specified bitmap.

Parameters:
bitmap The bitmap to draw to.
bitmapWidth The width of the bitmap being drawn to.
bitmapHeight The height of the bitmap being drawn to.
letter The character to output.
x The x co-ordinate of the text.
y The y co-ordinate of the text.
clipX1 The left edge of the clipping rectangle.
clipY1 The top edge of the clipping rectangle.
clipX2 The right edge of the clipping rectangle.
clipY2 The bottom edge of the clipping rectangle.
Returns:
The x co-ordinate for the next character to be drawn.
virtual u16 WoopsiUI::PackedFontBase::getCharWidth ( char  letter  )  const [virtual]

Get the width of an individual character.

Parameters:
letter The character to get the width of.
Returns:
The width of the character in pixels.

Implements WoopsiUI::FontBase.

virtual u16 WoopsiUI::PackedFontBase::getStringWidth ( const char *  text,
u16  length 
) const [virtual]

Get the width of a string with a specified length in pixels when drawn with this font. Useful if you want to determine the width of a string without a terminator, or the width of a section of a string.

Parameters:
text The string to check.
length The length of the string in chars.
Returns:
The width of the string in pixels.

Implements WoopsiUI::FontBase.

virtual u16 WoopsiUI::PackedFontBase::getStringWidth ( const char *  text  )  const [virtual]

Get the width of a string in pixels when drawn with this font.

Parameters:
text The string to check.
Returns:
The width of the string in pixels.

Implements WoopsiUI::FontBase.

const bool WoopsiUI::PackedFontBase::isCharBlank ( const char  letter  )  const [virtual]

Text uses this to decide whether a given character is blank or not

Implements WoopsiUI::FontBase.

virtual void WoopsiUI::PackedFontBase::renderChar ( const u16 *  pixelData,
u16  pixelsPerRow,
u16 *  bitmap,
u16  bitmapWidth,
s16  x,
s16  y,
u16  clipX1,
u16  clipY1,
u16  clipX2,
u16  clipY2 
) [pure virtual]

Render an individual character of the font to the specified bitmap.

Parameters:
pixelData The font-specific pixel data
pixelsPerRow The number of pixels to render per row (for this character)
bitmap Top-left corner of output space to draw to.
bitmapWidth The width of the bitmap being drawn to.
x The x co-ordinate of the text.
y The y co-ordinate of the text.
clipX1 The left edge of the clipping rectangle.
clipY1 The top edge of the clipping rectangle.
clipX2 The right edge of the clipping rectangle.
clipY2 The bottom edge of the clipping rectangle.
void WoopsiUI::PackedFontBase::setFontWidth ( u8  fontWidth  )  [inline]

Makes this font fixed-width, though doesn't allow the spacing to be less than the font's known maximum character width. If you want fixed spacing but don't know the required size, pass 1.

Parameters:
fontWidth Font width to use (0 for proportional, 1 for wide-enough)

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

Generated on Sun Nov 15 11:35:36 2009 for Woopsi by  doxygen 1.6.1