Crazy Eddies GUI System
0.6.0
|
Implementation of the Font class interface using static Imageset's. More...
Public Member Functions | |
virtual void | load () |
Complete font loading. If you create the font from an XML file, this method is invoked automatically after reading all the required data from the XMLAttributes object. If you create the font manually, it is your responsability to call this function as soon as you set up all the appropiate fields of the Font object. More... | |
Public Member Functions inherited from CEGUI::Font | |
bool | isCodepointAvailable (utf32 cp) const |
Return whether this Font can draw the specified code-point. More... | |
size_t | drawText (const String &text, const Rect &draw_area, float z, const Rect &clip_rect, TextFormatting fmt, const ColourRect &colours, float x_scale=1.0f, float y_scale=1.0f) |
Draw text into a specified area of the display. More... | |
size_t | drawText (const String &text, const Rect &draw_area, float z, const Rect &clip_rect, TextFormatting fmt, float x_scale=1.0f, float y_scale=1.0f) |
Draw text into a specified area of the display using default colours. More... | |
void | drawText (const String &text, const Rect &draw_area, float z, const Rect &clip_rect, float x_scale=1.0f, float y_scale=1.0f) |
Draw text into a specified area of the display with default colours and default formatting (LeftAligned). More... | |
size_t | drawText (const String &text, const Rect &draw_area, float z, TextFormatting fmt, const ColourRect &colours, float x_scale=1.0f, float y_scale=1.0f) |
Draw text into a specified area of the display. More... | |
size_t | drawText (const String &text, const Rect &draw_area, float z, TextFormatting fmt, float x_scale=1.0f, float y_scale=1.0f) |
Draw text into a specified area of the display with default colours. More... | |
void | drawText (const String &text, const Rect &draw_area, float z, float x_scale=1.0f, float y_scale=1.0f) |
Draw text into a specified area of the display with default colours and default formatting (LeftAligned). More... | |
void | drawText (const String &text, const Vector3 &position, const Rect &clip_rect, const ColourRect &colours, float x_scale=1.0f, float y_scale=1.0f) |
Draw text at the specified location. More... | |
void | drawText (const String &text, const Vector3 &position, const Rect &clip_rect, float x_scale=1.0f, float y_scale=1.0f) |
Draw text at the specified location with default colours. More... | |
virtual void | setNativeResolution (const Size &size) |
Set the native resolution for this Font. More... | |
virtual void | notifyScreenResolution (const Size &size) |
Notify the Font of the current (usually new) display resolution. More... | |
float | getLineSpacing (float y_scale=1.0f) const |
Return the pixel line spacing value for. More... | |
float | getFontHeight (float y_scale=1.0f) const |
return the exact pixel height of the font. More... | |
float | getBaseline (float y_scale=1.0f) const |
Return the number of pixels from the top of the highest glyph to the baseline. More... | |
float | getTextExtent (const String &text, float x_scale=1.0f) |
Return the pixel width of the specified text if rendered with this Font. More... | |
size_t | getCharAtPixel (const String &text, float pixel, float x_scale=1.0f) |
Return the index of the closest text character in String text that corresponds to pixel location pixel if the text were rendered. More... | |
size_t | getCharAtPixel (const String &text, size_t start_char, float pixel, float x_scale=1.0f) |
Return the index of the closest text character in String text, starting at character index start_char, that corresponds to pixel location pixel if the text were to be rendered. More... | |
size_t | getFormattedLineCount (const String &text, const Rect &format_area, TextFormatting fmt, float x_scale=1.0f) |
Return the number of lines the given text would be formatted to. More... | |
float | getFormattedTextExtent (const String &text, const Rect &format_area, TextFormatting fmt, float x_scale=1.0f) |
Return the horizontal pixel extent given text would be formatted to. More... | |
Public Member Functions inherited from CEGUI::PropertySet | |
PropertySet (void) | |
Constructs a new PropertySet object. | |
virtual | ~PropertySet (void) |
Destructor for PropertySet objects. | |
void | addProperty (Property *property) |
Adds a new Property to the PropertySet. More... | |
void | removeProperty (const String &name) |
Removes a Property from the PropertySet. More... | |
void | clearProperties (void) |
Removes all Property objects from the PropertySet. More... | |
bool | isPropertyPresent (const String &name) const |
Checks to see if a Property with the given name is in the PropertySet. More... | |
const String & | getPropertyHelp (const String &name) const |
Return the help text for the specified Property. More... | |
String | getProperty (const String &name) const |
Gets the current value of the specified Property. More... | |
void | setProperty (const String &name, const String &value) |
Sets the current value of a Property. More... | |
bool | isPropertyDefault (const String &name) const |
Returns whether a Property is at it's default value. More... | |
String | getPropertyDefault (const String &name) const |
Returns the default value of a Property as a String. More... | |
Iterator | getIterator (void) const |
Return a PropertySet::Iterator object to iterate over the available Properties. | |
Protected Member Functions | |
PixmapFont (const String &name, const String &fontname, const String &resourceGroup="") | |
Constructs a new semi-complete Font object. It is the responsability of the user to define the glyph mapping (via the Mapping property), and finally call the load() method which will make font available for use (this is not required for PixmapFont, though). More... | |
PixmapFont (const XMLAttributes &attributes) | |
Constructs a new semi-complete Font object. It is the responsability of the user to set up all remaining font parameters after constructing the Font object, and finally calling the load() method which will make font available for use. All font parameters that are not initialized are set to sensible default values. More... | |
virtual | ~PixmapFont () |
Destroys a Font object. More... | |
virtual void | updateFont () |
Update the font as required according to the current parameters. More... | |
virtual void | writeXMLToStream_impl (XMLSerializer &xml_stream) const |
Same as writeXMLToStream() but called from inside writeXMLToStream() so that derived classes may add their own attributes to stream. More... | |
virtual void | defineMapping (const XMLAttributes &attributes) |
Define a glyph mapping (handle a <Mapping> XML element) | |
void | defineMapping (String image_name, utf32 codepoint, float horzAdvance) |
Define a single glyph mapping. | |
void | addPixmapFontProperties () |
Register all properties of this class. | |
void | reinit () |
Initialize the imageset. | |
Protected Member Functions inherited from CEGUI::Font | |
Font (const String &name, const String &fontname, const String &resourceGroup="") | |
Constructs a new semi-complete Font object. It is the responsability of the user to set up all remaining font parameters after constructing the Font object, and finally calling the load() method which will make font available for use. All font parameters that are not initialized are set to sensible default values. More... | |
Font (const XMLAttributes &attributes) | |
Constructs a new Font object and instantly loads it. The font is ready for use right after creation, there is no need to load() it. All data required by this font is loaded from the provided XMLAttributes object. More... | |
virtual | ~Font () |
Destroys a Font object. | |
size_t | drawWrappedText (const String &text, const Rect &draw_area, float z, const Rect &clip_rect, TextFormatting fmt, const ColourRect &colours, float x_scale=1.0f, float y_scale=1.0f) |
draws wrapped text. returns number of lines output. | |
size_t | getNextWord (const String &in_string, size_t start_idx, String &out_string) const |
helper function for renderWrappedText to get next word of a string | |
void | drawTextLine (const String &text, const Vector3 &position, const Rect &clip_rect, const ColourRect &colours, float x_scale=1.0f, float y_scale=1.0f) |
Draw a line of text. No formatting is applied. | |
void | drawTextLineJustified (const String &text, const Rect &draw_area, const Vector3 &position, const Rect &clip_rect, const ColourRect &colours, float x_scale=1.0f, float y_scale=1.0f) |
Draw a justified line of text. | |
float | getWrappedTextExtent (const String &text, float wrapWidth, float x_scale=1.0f) |
returns extent of widest line of wrapped text. | |
const FontGlyph * | getGlyphData (utf32 codepoint) |
Return a pointer to the glyphDat struct for the given codepoint, or 0 if the codepoint does not have a glyph defined. More... | |
void | setMaxCodepoint (utf32 codepoint) |
Set the maximal glyph index. This reserves the respective number of bits in the d_glyphPageLoaded array. | |
virtual void | rasterize (utf32 start_codepoint, utf32 end_codepoint) |
This function prepares a certain range of glyphs to be ready for displaying. This means that after returning from this function glyphs from d_cp_map[start_codepoint] to d_cp_map[end_codepoint] should have their d_image member set. If there is an error during rasterization of some glyph, it's okay to leave the d_image field set to NULL, in which case such glyphs will be skipped from display. More... | |
void | writeXMLToStream (XMLSerializer &xml_stream) const |
Writes an xml representation of this Font to out_stream. More... | |
void | addFontProperties () |
Register all properties of this class. | |
Protected Attributes | |
Imageset * | d_glyphImages |
The imageset with the glyphs. | |
float | d_origHorzScaling |
Current X scaling for glyph images. | |
bool | d_imagesetOwner |
true if we're the owners of the imageset | |
Protected Attributes inherited from CEGUI::Font | |
CodepointMap | d_cp_map |
Contains mappings from code points to Image objects. | |
String | d_name |
Name of this font. | |
String | d_fileName |
Holds the name of the file used to create this font (either font file or imagset) | |
String | d_resourceGroup |
Holds the name of the font file's resource group. | |
float | d_ascender |
maximal font ascender (pixels above the baseline) | |
float | d_descender |
maximal font descender (negative pixels below the baseline) | |
float | d_height |
(ascender - descender) + linegap | |
bool | d_autoScale |
true when auto-scaling is enabled. | |
float | d_horzScaling |
current horizontal scaling factor. | |
float | d_vertScaling |
current vertical scaling factor. | |
float | d_nativeHorzRes |
native horizontal resolution for this Imageset. | |
float | d_nativeVertRes |
native vertical resolution for this Imageset. | |
utf32 | d_maxCodepoint |
Maximal codepoint for font glyphs. | |
uint * | d_glyphPageLoaded |
This bitmap holds information about loaded 'pages' of glyphs. A glyph page is a set of 256 codepoints, starting at 256-multiples. For example, the 1st glyph page is 0-255, fourth is 1024-1279 etc. When a specific glyph is required for painting, the corresponding bit is checked to see if the respective page has been rasterized. If not, the rasterize() method is invoked, which prepares the glyphs from the respective glyph page for being painted. More... | |
Friends | |
class | FontManager |
class | FontProperties::PixmapImageset |
class | FontProperties::PixmapMapping |
Additional Inherited Members | |
Public Types inherited from CEGUI::PropertySet | |
typedef ConstBaseIterator < PropertyRegistry > | Iterator |
Static Public Member Functions inherited from CEGUI::Font | |
static void | setDefaultResourceGroup (const String &resourceGroup) |
Sets the default resource group to be used when loading font data. More... | |
static const String & | getDefaultResourceGroup () |
Returns the default resource group currently set for Fonts. More... | |
Static Public Attributes inherited from CEGUI::Font | |
static const argb_t | DefaultColour = 0xFFFFFFFF |
Colour value used whenever a colour is not specified. | |
Protected Types inherited from CEGUI::Font | |
typedef std::map< utf32, FontGlyph > | CodepointMap |
Static Protected Attributes inherited from CEGUI::Font | |
static String | d_defaultResourceGroup |
hold default resource group for font loading. | |
Implementation of the Font class interface using static Imageset's.
To create such a font you must create a Imageset with all the glyphs, and then define individual glyphs via the Mapping object property (or via the Mapping XML element).
|
protected |
Constructs a new semi-complete Font object. It is the responsability of the user to define the glyph mapping (via the Mapping property), and finally call the load() method which will make font available for use (this is not required for PixmapFont, though).
All font parameters that are not initialized are set to sensible default values.
name | The unique name that will be used to identify this Font. |
fontname | The filename of the font file, which contains the font data. This can be a TrueType, PostScript, bitmap font etc file. If resourceGroup is set to the special value of "*", fontname is interpreted as a imageset name and the respective Imageset object must be already loaded. |
resourceGroup | Resource group identifier to be passed to the resource provider to load the font definition file. |
UnknownObjectException | Thrown if no Imageset named filename is present in within the system (when resourceGroup == "*"). |
References reinit().
|
protected |
Constructs a new semi-complete Font object. It is the responsability of the user to set up all remaining font parameters after constructing the Font object, and finally calling the load() method which will make font available for use. All font parameters that are not initialized are set to sensible default values.
name | The unique name that will be used to identify this Font. |
fontname | The filename of the font file, which contains the font data. This can be a TrueType, PostScript, bitmap font etc file. |
resourceGroup | Resource group identifier to be passed to the resource provider to load the font definition file. |
References reinit().
|
protectedvirtual |
Destroys a Font object.
References d_glyphImages, and d_imagesetOwner.
|
virtual |
Complete font loading. If you create the font from an XML file, this method is invoked automatically after reading all the required data from the XMLAttributes object. If you create the font manually, it is your responsability to call this function as soon as you set up all the appropiate fields of the Font object.
Implements CEGUI::Font.
References CEGUI::Font::d_cp_map, CEGUI::Font::d_fileName, CEGUI::Font::d_name, CEGUI::Font::d_resourceGroup, CEGUI::String::empty(), and updateFont().
|
protectedvirtual |
Update the font as required according to the current parameters.
Implements CEGUI::Font.
References CEGUI::Font::d_ascender, CEGUI::Font::d_autoScale, CEGUI::Font::d_cp_map, CEGUI::Font::d_descender, d_glyphImages, CEGUI::Font::d_height, CEGUI::Font::d_horzScaling, CEGUI::Font::d_maxCodepoint, CEGUI::Font::d_nativeHorzRes, CEGUI::Font::d_nativeVertRes, d_origHorzScaling, CEGUI::Image::getHeight(), CEGUI::Image::getOffsetY(), CEGUI::Imageset::setAutoScalingEnabled(), and CEGUI::Imageset::setNativeResolution().
Referenced by load().
|
protectedvirtual |
Same as writeXMLToStream() but called from inside writeXMLToStream() so that derived classes may add their own attributes to stream.
xml_stream | Stream where xml data should be output. |
Implements CEGUI::Font.
References CEGUI::XMLSerializer::attribute(), CEGUI::XMLSerializer::closeTag(), CEGUI::Font::d_cp_map, d_origHorzScaling, and CEGUI::XMLSerializer::openTag().