WoopsiUI::PackedFontBase Class Reference

#include <packedfontbase.h>

Inheritance diagram for WoopsiUI::PackedFontBase:
WoopsiUI::FontBase WoopsiUI::PackedFont1 WoopsiUI::PackedFont16 WoopsiUI::CourierMono WoopsiUI::NewTopaz WoopsiUI::Arial9 WoopsiUI::BankGothic12 WoopsiUI::Batang12 WoopsiUI::Batang14 WoopsiUI::Batang15 WoopsiUI::Courier WoopsiUI::Courier12 WoopsiUI::Courier12b WoopsiUI::CourierNew10 WoopsiUI::CourierNew12 WoopsiUI::Dotum13 WoopsiUI::FixedSys12 WoopsiUI::Garamond10 WoopsiUI::GillSans11 WoopsiUI::GillSans11b WoopsiUI::Gloucester10 WoopsiUI::Goudy9 WoopsiUI::Gulimche12 WoopsiUI::Gulimche12b WoopsiUI::Gungsuh12 WoopsiUI::Gungsuh15 WoopsiUI::Gungsuhche11 WoopsiUI::Gungsuhche15 WoopsiUI::Kartika10 WoopsiUI::Kartika9 WoopsiUI::Latha10 WoopsiUI::Latha15 WoopsiUI::Latha9 WoopsiUI::LucidaCalligraphy14 WoopsiUI::Mangal9 WoopsiUI::Modern9 WoopsiUI::Modern9b WoopsiUI::MSGothic8 WoopsiUI::MSGothic9 WoopsiUI::MSSans9 WoopsiUI::MSSans9b WoopsiUI::MSSerif11 WoopsiUI::MSSerif11b WoopsiUI::OCRFont8 WoopsiUI::PoorRichard12 WoopsiUI::PoorRichard9 WoopsiUI::ProFont9 WoopsiUI::Roman11i WoopsiUI::Roman13 WoopsiUI::Roman13i WoopsiUI::Roman9b WoopsiUI::Script9b WoopsiUI::TimesNewRoman9 WoopsiUI::Tunga8

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 (MutableBitmapBase *bitmap, u32 letter, s16 x, s16 y, u16 clipX1, u16 clipY1, u16 clipX2, u16 clipY2)
virtual u16 getStringWidth (const WoopsiString &text) const
virtual u16 getStringWidth (const WoopsiString &text, s32 startIndex, s32 length) const
virtual u16 getCharWidth (u32 letter) const
const bool isCharBlank (const u32 letter) const
virtual void renderChar (const u16 *pixelData, u16 pixelsPerRow, MutableBitmapBase *bitmap, 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 ( MutableBitmapBase bitmap,
u32  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.
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.

Implements WoopsiUI::FontBase.

virtual u16 WoopsiUI::PackedFontBase::getCharWidth ( u32  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 WoopsiString text,
s32  startIndex,
s32  length 
) const [virtual]

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

Parameters:
text The string to check.
startIndex The start point of the substring within the string.
length The length of the substring in chars.
Returns:
The width of the substring in pixels.

Implements WoopsiUI::FontBase.

virtual u16 WoopsiUI::PackedFontBase::getStringWidth ( const WoopsiString 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 u32  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,
MutableBitmapBase bitmap,
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 The bitmap to draw 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.

Implemented in WoopsiUI::PackedFont1, and WoopsiUI::PackedFont16.

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)

Member Data Documentation

The first letter that the font contains

Width of the font, or 0 for proportional

const u16* WoopsiUI::PackedFontBase::_glyphData [protected]

All data for each glyph

Locations of each character in _glyphData

Width in pixels of each glyph in _glyphData

The last letter that the font contains

Width of a blank space

The maximum width of a character in the font


The documentation for this class was generated from the following file:
Generated by  doxygen 1.6.3