Woopsi 1.0
GUI Framework for Nintendo DS Homebrew
|
#include <fontbase.h>
Public Member Functions | |
FontBase (const u8 height, const u16 transparentColour=0) | |
virtual | ~FontBase () |
virtual const bool | isCharBlank (const u32 letter) const =0 |
void | setColour (const u16 colour) |
const u16 | getColour () const |
const bool | isMonochrome () const |
const u16 | getTransparentColour () const |
void | setTransparentColour (const u16 colour) |
void | clearColour () |
virtual s16 | drawChar (MutableBitmapBase *bitmap, u32 letter, s16 x, s16 y, u16 clipX1, u16 clipY1, u16 clipX2, u16 clipY2)=0 |
virtual s16 | drawBaselineChar (MutableBitmapBase *bitmap, u32 letter, s16 x, s16 y, u16 clipX1, u16 clipY1, u16 clipX2, u16 clipY2)=0 |
virtual u16 | getStringWidth (const WoopsiString &text) const =0 |
virtual u16 | getStringWidth (const WoopsiString &text, s32 startIndex, s32 length) const =0 |
virtual u8 | getCharWidth (u32 letter) const =0 |
virtual u8 | getCharHeight (u32 letter) const |
virtual s8 | getCharTop (u32 letter) const =0 |
const u8 | getHeight () const |
Abstract class defining the basic properties of a font and providing some of the essential functionality. Should be used as a base class for all fonts.
WoopsiUI::FontBase::FontBase | ( | const u8 | height, |
const u16 | transparentColour = 0 |
||
) | [inline] |
Constructor.
height | The height of the font in pixels. |
transparentColour | The colour in the font bitmap used as the background colour. |
virtual WoopsiUI::FontBase::~FontBase | ( | ) | [inline, virtual] |
Destructor.
void WoopsiUI::FontBase::clearColour | ( | ) | [inline] |
Resets back to multicolour mode if the font supports it and is currently set to monochrome mode.
virtual s16 WoopsiUI::FontBase::drawBaselineChar | ( | MutableBitmapBase * | bitmap, |
u32 | letter, | ||
s16 | x, | ||
s16 | y, | ||
u16 | clipX1, | ||
u16 | clipY1, | ||
u16 | clipX2, | ||
u16 | clipY2 | ||
) | [pure virtual] |
Draw an individual character of the font to the specified bitmap on a baseline.
bitmap | The bitmap to draw to. |
letter | The character to output. |
x | The x co-ordinate of the pen. |
y | The y co-ordinate of the pen. |
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::PackedFontBase.
virtual s16 WoopsiUI::FontBase::drawChar | ( | MutableBitmapBase * | bitmap, |
u32 | letter, | ||
s16 | x, | ||
s16 | y, | ||
u16 | clipX1, | ||
u16 | clipY1, | ||
u16 | clipX2, | ||
u16 | clipY2 | ||
) | [pure virtual] |
Draw an individual character of the font to the specified bitmap.
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. |
Implemented in WoopsiUI::PackedFontBase.
virtual u8 WoopsiUI::FontBase::getCharHeight | ( | u32 | letter | ) | const [inline, virtual] |
Get the height of an individual character.
letter | The letter to get the height of. |
virtual s8 WoopsiUI::FontBase::getCharTop | ( | u32 | letter | ) | const [pure virtual] |
Get the algebric distance from baseline to top of an individual character.
letter | The character to get the "top" of. |
Implemented in WoopsiUI::PackedFontBase.
virtual u8 WoopsiUI::FontBase::getCharWidth | ( | u32 | letter | ) | const [pure virtual] |
Get the width of an individual character.
letter | The character to get the width of. |
Implemented in WoopsiUI::PackedFontBase.
const u16 WoopsiUI::FontBase::getColour | ( | ) | const [inline] |
Gets the colour currently being used as the drawing colour. This should be used in conjunction with isMonochrome() to determine if this is really being used or not; isMonochrome() must be true for this colour to be used.
const u8 WoopsiUI::FontBase::getHeight | ( | ) | const [inline] |
Gets the height of the font.
virtual u16 WoopsiUI::FontBase::getStringWidth | ( | const WoopsiString & | text | ) | const [pure virtual] |
Get the width of a string in pixels when drawn with this font.
text | The string to check. |
Implemented in WoopsiUI::PackedFontBase.
virtual u16 WoopsiUI::FontBase::getStringWidth | ( | const WoopsiString & | text, |
s32 | startIndex, | ||
s32 | length | ||
) | const [pure virtual] |
Get the width of a portion of a string in pixels when drawn with this font.
text | The string to check. |
startIndex | The start point of the substring within the string. |
length | The length of the substring in chars. |
Implemented in WoopsiUI::PackedFontBase.
const u16 WoopsiUI::FontBase::getTransparentColour | ( | ) | const [inline] |
Get the colour currently being used as the transparent background colour.
virtual const bool WoopsiUI::FontBase::isCharBlank | ( | const u32 | letter | ) | const [pure virtual] |
Checks if supplied character is blank in the current font.
letter | The character to check. |
Implemented in WoopsiUI::PackedFontBase.
const bool WoopsiUI::FontBase::isMonochrome | ( | ) | const [inline] |
Returns true if the current font is being drawn using a single colour.
void WoopsiUI::FontBase::setColour | ( | const u16 | colour | ) | [inline] |
Sets the colour to use as the drawing colour. If set, this overrides the colours present in a non-monochrome font.
colour | The new drawing colour. |
void WoopsiUI::FontBase::setTransparentColour | ( | const u16 | colour | ) | [inline] |
Sets the transparent background colour to a new value.
colour | The new background colour. |