WoopsiUI::PackedFontBase Class Reference
#include <packedfontbase.h>
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] |
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:
- C:/Documents and Settings/Administrator/Desktop/woopsi-src-0.40/Woopsi/libwoopsi/include/packedfontbase.h