# WoopsiUI::FontBase Class Reference

`#include <fontbase.h>`

Inheritance diagram for WoopsiUI::FontBase:

List of all members.

## 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 u16 | getStringWidth (const WoopsiString &text) const =0
virtual u16 | getStringWidth (const WoopsiString &text, s32 startIndex, s32 length) const =0
virtual u16 | getCharWidth (u32 letter) const =0
virtual u16 | getCharHeight (u32 letter) const
const u8 | getHeight () const

## Detailed Description

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.

## Constructor & Destructor Documentation

WoopsiUI::FontBase::FontBase | ( | const u8 | height,
|  | const u16 | transparentColour = `0` |
| ) |  |  | `[inline]`

Constructor.

Parameters:

  | 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.

## Member Function Documentation

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::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.

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.

Implemented in WoopsiUI::Font, WoopsiUI::FreeTypeFont, WoopsiUI::MonoFont, and WoopsiUI::PackedFontBase.

virtual u16 WoopsiUI::FontBase::getCharHeight | ( | u32 | letter | ) | const`[inline, virtual]`

Get the height of an individual character.

Parameters:

  | letter | The letter to get the height of.

Returns:
  The height of the character in pixels.

virtual u16 WoopsiUI::FontBase::getCharWidth | ( | u32 | letter | ) | const`[pure 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.

Implemented in WoopsiUI::FixedWidthFontBase, WoopsiUI::FreeTypeFont, and 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.

Returns:
  The current drawing colour.

const u8 WoopsiUI::FontBase::getHeight | ( |  | ) | const`[inline]`

Gets the height of the font.

Returns:
  The height of the font.

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.

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.

Implemented in WoopsiUI::FixedWidthFontBase, WoopsiUI::FreeTypeFont, and WoopsiUI::PackedFontBase.

virtual u16 WoopsiUI::FontBase::getStringWidth | ( | const WoopsiString & | text | ) | const`[pure 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.

Implemented in WoopsiUI::FixedWidthFontBase, WoopsiUI::FreeTypeFont, and WoopsiUI::PackedFontBase.

const u16 WoopsiUI::FontBase::getTransparentColour | ( |  | ) | const`[inline]`

Get the colour currently being used as the transparent background colour.

Returns:
  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.

Parameters:

  | letter | The character to check.

Returns:
  True if the glyph contains any pixels to be drawn. False if the glyph is blank.

Implemented in WoopsiUI::FixedWidthFontBase, WoopsiUI::FreeTypeFont, and WoopsiUI::PackedFontBase.

const bool WoopsiUI::FontBase::isMonochrome | ( |  | ) | const`[inline]`

Returns true if the current font is being drawn using a single colour.

Returns:
  True if the current font is monochrome.

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.

Parameters:

  | colour | The new drawing colour.

void WoopsiUI::FontBase::setTransparentColour | ( | const u16 | colour | ) | `[inline]`

Sets the transparent background colour to a new value.

Parameters:

  | colour | The new background colour.

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

- fontbase.h