Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

# osgText::Font Class Reference

Pure virtual base class for fonts. More...

Inheritance diagram for osgText::Font:

[legend]
List of all members.

## Public Member Functions
| Font (FontImplementation *implementation=0)
virtual osg::Object * | cloneType () const
| Clone the type of an object, with Object* return type.
virtual osg::Object * | clone (const osg::CopyOp &) const
virtual bool | isSameKindAs (const osg::Object *obj) const
virtual const char * | className () const
| return the name of the object's class type.
virtual const char * | libraryName () const
| return the name of the object's library.
virtual std::string | getFileName () const
virtual void | setFontResolution (unsigned int width, unsigned int height)
| Set the pixel width and height hint.
unsigned int | getFontWidth () const
unsigned int | getFontHeight () const
virtual osg::Vec2 | getKerning (unsigned int leftcharcode, unsigned int rightcharcode, KerningType kerningType)
| Get a kerning (adjustment of spacing of two adjacent character) for specified charcodes, w.r.t the current font size hint.
virtual Glyph * | getGlyph (unsigned int charcode)
| Get a Glyph for specified charcode, and the font size nearest to the current font size hint.
virtual bool | hasVertical () const
| Return true if this font provides vertical alignments and spacing or glyphs.
void | setGlyphImageMargin (unsigned int margin)
| Set the margin around each glyph, to ensure that texture filtering doesn't bleed adjacent glyph's into each other.
unsigned int | getGlyphImageMargin () const
void | setTextureSizeHint (unsigned int width, unsigned int height)
| Set the size of texture to create to store the glyph images when rendering.
unsigned int | getTextureWidthHint () const
unsigned int | getTextureHeightHint () const
void | setMinFilterHint (osg::Texture::FilterMode mode)
| Set the minification texture filter to use when creating the texture to store the glyph images when rendering.
osg::Texture::FilterMode | getMinFilterHint () const
void | setMagFilterHint (osg::Texture::FilterMode mode)
| Set the magnification texture filter to use when creating the texture to store the glyph images when rendering.
osg::Texture::FilterMode | getMagFilterHint () const
void | setImplementation (FontImplementation *implementation)
FontImplementation * | getImplementation ()
const FontImplementation * | getImplementation () const
virtual void | releaseGLObjects (osg::State *state=0) const
| If State is non-zero, this function releases OpenGL objects for the specified graphics context.
## Protected Types
typedef std::vector< osg::ref_ptr< GlyphTexture > > | GlyphTextureList
typedef std::vector< osg::ref_ptr< osg::StateSet > > | StateSetList
typedef std::map< unsigned int, osg::ref_ptr< Glyph > > | GlyphMap
typedef std::pair< unsigned int, unsigned int > | SizePair
typedef std::map< SizePair, GlyphMap > | SizeGlyphMap
## Protected Member Functions
virtual | ~Font ()
void | addGlyph (unsigned int width, unsigned int height, unsigned int charcode, Glyph *glyph)
## Protected Attributes
SizeGlyphMap | _sizeGlyphMap
GlyphTextureList | _glyphTextureList
StateSetList | _stateSetList
unsigned int | _width
unsigned int | _height
unsigned int | _margin
unsigned int | _textureWidthHint
unsigned int | _textureHeightHint
osg::Texture::FilterMode | _minFilterHint
osg::Texture::FilterMode | _magFilterHint
osg::ref_ptr< osg::TexEnv > | _texEnv
osg::ref_ptr< FontImplementation > | _implementation

## Detailed Description

Pure virtual base class for fonts.

Concrete implementation are the DefaultFont found in src/osgText/DefaultFont.cpp and FreeTypeFont found in src/osgPlugins/freetype/FreeTypeFont.cpp

## Member Typedef Documentation

typedef std::map< unsigned int, osg::ref_ptr<Glyph> > osgText::Font::GlyphMap`[protected]`

typedef std::vector< osg::ref_ptr<GlyphTexture> > osgText::Font::GlyphTextureList`[protected]`

typedef std::map< SizePair, GlyphMap > osgText::Font::SizeGlyphMap`[protected]`

typedef std::pair< unsigned int, unsigned int > osgText::Font::SizePair`[protected]`

typedef std::vector< osg::ref_ptr<osg::StateSet> > osgText::Font::StateSetList`[protected]`

## Constructor & Destructor Documentation

osgText::Font::Font | ( | FontImplementation * | implementation = 0 | ) |

virtual osgText::Font::~Font | ( |  | ) | `[protected, virtual]`

## Member Function Documentation

void osgText::Font::addGlyph | ( | unsigned int | width,
|  | unsigned int | height,
|  | unsigned int | charcode,
|  | Glyph * | glyph
| ) | `[protected]`

virtual const char* osgText::Font::className | ( |  | ) | const`[inline, virtual]`

| return the name of the object's class type. Must be defined by derived classes. Implements osg::Object.

virtual osg::Object* osgText::Font::clone | ( | const osg::CopyOp & |  | ) | const`[inline, virtual]`

virtual osg::Object* osgText::Font::cloneType | ( |  | ) | const`[inline, virtual]`

| Clone the type of an object, with Object* return type. Must be defined by derived classes. Implements osg::Object.

virtual std::string osgText::Font::getFileName | ( |  | ) | const`[virtual]`

unsigned int osgText::Font::getFontHeight | ( |  | ) | const

unsigned int osgText::Font::getFontWidth | ( |  | ) | const

virtual Glyph* osgText::Font::getGlyph | ( | unsigned int | charcode | ) | `[virtual]`

| Get a Glyph for specified charcode, and the font size nearest to the current font size hint.

unsigned int osgText::Font::getGlyphImageMargin | ( |  | ) | const

const FontImplementation* osgText::Font::getImplementation | ( |  | ) | const

FontImplementation* osgText::Font::getImplementation | ( |  | ) |

virtual osg::Vec2 osgText::Font::getKerning | ( | unsigned int | leftcharcode,
|  | unsigned int | rightcharcode,
|  | KerningType | kerningType
| ) | `[virtual]`

| Get a kerning (adjustment of spacing of two adjacent character) for specified charcodes, w.r.t the current font size hint.

osg::Texture::FilterMode osgText::Font::getMagFilterHint | ( |  | ) | const

osg::Texture::FilterMode osgText::Font::getMinFilterHint | ( |  | ) | const

unsigned int osgText::Font::getTextureHeightHint | ( |  | ) | const

unsigned int osgText::Font::getTextureWidthHint | ( |  | ) | const

virtual bool osgText::Font::hasVertical | ( |  | ) | const`[virtual]`

| Return true if this font provides vertical alignments and spacing or glyphs.

virtual bool osgText::Font::isSameKindAs | ( | const osg::Object * | obj | ) | const`[inline, virtual]`

virtual const char* osgText::Font::libraryName | ( |  | ) | const`[inline, virtual]`

| return the name of the object's library. Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name. Implements osg::Object.

virtual void osgText::Font::releaseGLObjects | ( | osg::State * | state = 0 | ) | const`[virtual]`

| If State is non-zero, this function releases OpenGL objects for the specified graphics context. Otherwise, releases OpenGL objexts for all graphics contexts. Reimplemented from osg::Object.

virtual void osgText::Font::setFontResolution | ( | unsigned int | width,
|  | unsigned int | height
| ) | `[virtual]`

| Set the pixel width and height hint.

void osgText::Font::setGlyphImageMargin | ( | unsigned int | margin | ) |

| Set the margin around each glyph, to ensure that texture filtering doesn't bleed adjacent glyph's into each other. Default margin is 2 texels.

void osgText::Font::setImplementation | ( | FontImplementation * | implementation | ) |

void osgText::Font::setMagFilterHint | ( | osg::Texture::FilterMode | mode | ) |

| Set the magnification texture filter to use when creating the texture to store the glyph images when rendering. Note, this doesn't affect already created Texture Glhph's.

void osgText::Font::setMinFilterHint | ( | osg::Texture::FilterMode | mode | ) |

| Set the minification texture filter to use when creating the texture to store the glyph images when rendering. Note, this doesn't affect already created Texture Glhph's.

void osgText::Font::setTextureSizeHint | ( | unsigned int | width,
|  | unsigned int | height
| ) |

| Set the size of texture to create to store the glyph images when rendering. Note, this doesn't affect already created Texture Glhph's.

## Member Data Documentation

GlyphTextureList osgText::Font::_glyphTextureList`[protected]`

unsigned int osgText::Font::_height`[protected]`

osg::ref_ptr<FontImplementation> osgText::Font::_implementation`[protected]`

osg::Texture::FilterMode osgText::Font::_magFilterHint`[protected]`

unsigned int osgText::Font::_margin`[protected]`

osg::Texture::FilterMode osgText::Font::_minFilterHint`[protected]`

SizeGlyphMap osgText::Font::_sizeGlyphMap`[protected]`

StateSetList osgText::Font::_stateSetList`[protected]`

osg::ref_ptr<osg::TexEnv > osgText::Font::_texEnv`[protected]`

unsigned int osgText::Font::_textureHeightHint`[protected]`

unsigned int osgText::Font::_textureWidthHint`[protected]`

unsigned int osgText::Font::_width`[protected]`

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

- Font