Panda3D
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes

TextFont Class Reference

An encapsulation of a font; i.e. More...

#include "textFont.h"

Inheritance diagram for TextFont:
TypedReferenceCount Namable TypedObject ReferenceCount MemoryBase MemoryBase MemoryBase StaticTextFont

List of all members.

Public Types

enum  RenderMode {
  RM_texture, RM_wireframe, RM_polygon, RM_extruded,
  RM_solid, RM_invalid
}
enum  WindingOrder { WO_default, WO_left, WO_right, WO_invalid }

Public Member Functions

 TextFont (const TextFont &copy)
virtual TypeHandle force_init_type ()
virtual bool get_glyph (int character, const TextGlyph *&glyph)=0
TextGlyphget_invalid_glyph ()
 Returns a special glyph that can be used as a placeholder for any character not in the font.
PN_stdfloat get_line_height () const
 Returns the number of units high each line of text is.
PN_stdfloat get_space_advance () const
 Returns the number of units wide a space is.
virtual TypeHandle get_type () const
bool is_valid () const
 Returns true if the font is valid and ready to use, false otherwise.
 operator bool () const
 Returns true if the font is valid and ready to use, false otherwise.
virtual PT (TextFont) make_copy() const =0
void set_line_height (PN_stdfloat line_height)
 Changes the number of units high each line of text is.
void set_space_advance (PN_stdfloat space_advance)
 Changes the number of units wide a space is.
virtual void write (ostream &out, int indent_level) const

Static Public Member Functions

static TypeHandle get_class_type ()
static void init_type ()
static RenderMode string_render_mode (const string &string)
 Returns the RenderMode value associated with the given string representation, or RM_invalid if the string does not match any known RenderMode value.
static WindingOrder string_winding_order (const string &string)
 Returns the WindingOrder value associated with the given string representation, or WO_invalid if the string does not match any known WindingOrder value.

Protected Member Functions

 PT (TextGlyph) _invalid_glyph

Protected Attributes

bool _is_valid
PN_stdfloat _line_height
PN_stdfloat _space_advance

Detailed Description

An encapsulation of a font; i.e.

a set of glyphs that may be assembled together by a TextNode to represent a string of text.

This is just an abstract interface; see StaticTextFont or DynamicTextFont for an actual implementation.

Definition at line 36 of file textFont.h.


Member Function Documentation

TextGlyph * TextFont::get_invalid_glyph ( )

Returns a special glyph that can be used as a placeholder for any character not in the font.

Note that it is not guaranteed that a font will return this particular glyph for a missing character (it may return a glyph of its own devising instead).

Also note that even if a particular accented letter is missing from the font, Panda may still be able to render a suitable replacement by composing different glyphs together to simulate accent marks; this happens automatically behind the scenes.

Definition at line 89 of file textFont.cxx.

Referenced by StaticTextFont::get_glyph().

PN_stdfloat TextFont::get_line_height ( ) const [inline]

Returns the number of units high each line of text is.

Definition at line 45 of file textFont.I.

Referenced by TextNode::get_line_height().

PN_stdfloat TextFont::get_space_advance ( ) const [inline]

Returns the number of units wide a space is.

Definition at line 66 of file textFont.I.

Referenced by TextAssembler::calc_width().

bool TextFont::is_valid ( ) const [inline]

Returns true if the font is valid and ready to use, false otherwise.

Definition at line 23 of file textFont.I.

Referenced by operator bool().

TextFont::operator bool ( ) const [inline]

Returns true if the font is valid and ready to use, false otherwise.

Definition at line 34 of file textFont.I.

References is_valid().

void TextFont::set_line_height ( PN_stdfloat  line_height) [inline]

Changes the number of units high each line of text is.

Definition at line 56 of file textFont.I.

void TextFont::set_space_advance ( PN_stdfloat  space_advance) [inline]

Changes the number of units wide a space is.

Definition at line 76 of file textFont.I.

TextFont::RenderMode TextFont::string_render_mode ( const string &  string) [static]

Returns the RenderMode value associated with the given string representation, or RM_invalid if the string does not match any known RenderMode value.

Definition at line 104 of file textFont.cxx.

TextFont::WindingOrder TextFont::string_winding_order ( const string &  string) [static]

Returns the WindingOrder value associated with the given string representation, or WO_invalid if the string does not match any known WindingOrder value.

Definition at line 128 of file textFont.cxx.


The documentation for this class was generated from the following files:
 All Classes Functions Variables Enumerations