osgText::Font Class Reference

`#include <Font>`

Inheritance diagram for osgText::Font:

## Classes

class | FontImplementation

## Public Types

typedef std::vector< osg::ref_ptr< osg::StateSet > > | StateSets
typedef OpenThreads::Mutex | FontMutex
typedef std::vector< osg::ref_ptr< GlyphTexture > > | GlyphTextureList
Public Types inherited from osg::Object
enum | DataVariance { DYNAMIC , STATIC , UNSPECIFIED }

## Public Member Functions

| Font (FontImplementation *implementation=0)
virtual osg::Object * | cloneType () const
virtual osg::Object * | clone (const osg::CopyOp &) const
virtual bool | isSameKindAs (const osg::Object *obj) const
virtual const char * | className () const
virtual const char * | libraryName () const
virtual std::string | getFileName () const
StateSets & | getCachedStateSets ()
const StateSets & | getCachedStateSets () const
virtual osg::Vec2 | getKerning (const FontResolution &fontRes, unsigned int leftcharcode, unsigned int rightcharcode, KerningType kerningType)
virtual Glyph * | getGlyph (const FontResolution &fontSize, unsigned int charcode)
virtual Glyph3D * | getGlyph3D (const FontResolution &fontSize, unsigned int charcode)
virtual bool | hasVertical () const
virtual bool | getVerticalSize (float &ascender, float &descender) const
void | setTextureSizeHint (unsigned int width, unsigned int height)
unsigned int | getTextureWidthHint () const
unsigned int | getTextureHeightHint () const
void | setMinFilterHint (osg::Texture::FilterMode mode)
osg::Texture::FilterMode | getMinFilterHint () const
void | setMagFilterHint (osg::Texture::FilterMode mode)
osg::Texture::FilterMode | getMagFilterHint () const
void | setMaxAnisotropy (float anis)
float | getMaxAnisotropy () const
unsigned int | getFontDepth () const
void | setNumberCurveSamples (unsigned int numSamples)
unsigned int | getNumberCurveSamples () const
void | setImplementation (FontImplementation *implementation)
FontImplementation * | getImplementation ()
const FontImplementation * | getImplementation () const
virtual void | setThreadSafeRefUnref (bool threadSafe)
virtual void | resizeGLObjectBuffers (unsigned int maxSize)
virtual void | releaseGLObjects (osg::State *state=0) const
GlyphTextureList & | getGlyphTextureList ()
void | assignGlyphToGlyphTexture (Glyph *glyph, ShaderTechnique shaderTechnique)
Public Member Functions inherited from osg::Object
| Object ()
| Object (bool threadSafeRefUnref)
| Object (const Object &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
std::string | getCompoundClassName () const
virtual Node * | asNode ()
virtual const Node * | asNode () const
virtual NodeVisitor * | asNodeVisitor ()
virtual const NodeVisitor * | asNodeVisitor () const
virtual StateSet * | asStateSet ()
virtual const StateSet * | asStateSet () const
virtual StateAttribute * | asStateAttribute ()
virtual const StateAttribute * | asStateAttribute () const
virtual Uniform * | asUniform ()
virtual const Uniform * | asUniform () const
virtual Camera * | asCamera ()
virtual const Camera * | asCamera () const
virtual Drawable * | asDrawable ()
virtual const Drawable * | asDrawable () const
virtual Callback * | asCallback ()
virtual const Callback * | asCallback () const
virtual CallbackObject * | asCallbackObject ()
virtual const CallbackObject * | asCallbackObject () const
virtual UserDataContainer * | asUserDataContainer ()
virtual const UserDataContainer * | asUserDataContainer () const
virtual ValueObject * | asValueObject ()
virtual const ValueObject * | asValueObject () const
virtual Image * | asImage ()
virtual const Image * | asImage () const
virtual void | setName (const std::string &name)
void | setName (const char *name)
const std::string & | getName () const
void | setDataVariance (DataVariance dv)
DataVariance | getDataVariance () const
virtual void | computeDataVariance ()
void | setUserDataContainer (osg::UserDataContainer *udc)
template<class T>
void | setUserDataContainer (const ref_ptr< T > &udc)
osg::UserDataContainer * | getUserDataContainer ()
const osg::UserDataContainer * | getUserDataContainer () const
osg::UserDataContainer * | getOrCreateUserDataContainer ()
virtual void | setUserData (Referenced *obj)
template<class T>
void | setUserData (const ref_ptr< T > &ud)
virtual Referenced * | getUserData ()
virtual const Referenced * | getUserData () const
template<typename T>
bool | getUserValue (const std::string &name, T &value) const
template<typename T>
void | setUserValue (const std::string &name, const T &value)
template<typename T>
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool | getUserValue (const std::string &name, T &value) const
Public Member Functions inherited from osg::Referenced
| Referenced ()
| Referenced (bool threadSafeRefUnref)
| Referenced (const Referenced &)
Referenced & | operator= (const Referenced &)
bool | getThreadSafeRefUnref () const
OpenThreads::Mutex * | getRefMutex () const
int | ref () const
int | unref () const
int | unref_nodelete () const
int | referenceCount () const
ObserverSet * | getObserverSet () const
ObserverSet * | getOrCreateObserverSet () const
void | addObserver (Observer *observer) const
void | removeObserver (Observer *observer) const

## Static Public Member Functions

static osg::ref_ptr< Font > | getDefaultFont ()
Static Public Member Functions inherited from osg::Referenced
static OpenThreads::Mutex * | getGlobalReferencedMutex ()
static void | setDeleteHandler (DeleteHandler *handler)
static DeleteHandler * | getDeleteHandler ()

## Protected Types

typedef std::map< unsigned int, osg::ref_ptr< Glyph > > | GlyphMap
typedef std::map< unsigned int, osg::ref_ptr< Glyph3D > > | Glyph3DMap
typedef std::map< FontResolution, GlyphMap > | FontSizeGlyphMap
typedef std::map< FontResolution, Glyph3DMap > | FontSizeGlyph3DMap

## Protected Member Functions

virtual | ~Font ()
void | addGlyph (const FontResolution &fontRes, unsigned int charcode, Glyph *glyph)
Protected Member Functions inherited from osg::Object
virtual | ~Object ()
Protected Member Functions inherited from osg::Referenced
virtual | ~Referenced ()
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const
void | deleteUsingDeleteHandler () const

## Protected Attributes

OpenThreads::Mutex | _glyphMapMutex
StateSets | _statesets
FontSizeGlyphMap | _sizeGlyphMap
GlyphTextureList | _glyphTextureList
FontSizeGlyph3DMap | _sizeGlyph3DMap
FontResolution | _fontSize
unsigned int | _textureWidthHint
unsigned int | _textureHeightHint
osg::Texture::FilterMode | _minFilterHint
osg::Texture::FilterMode | _magFilterHint
float | _maxAnisotropy
unsigned int | _depth
unsigned int | _numCurveSamples
osg::ref_ptr< FontImplementation > | _implementation
Protected Attributes inherited from osg::Object
std::string | _name
DataVariance | _dataVariance
osg::UserDataContainer * | _userDataContainer
Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr | _observerSet
OpenThreads::Atomic | _refCount

## Friends

class | FontImplementation

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

## FontMutex

typedef OpenThreads::Mutex osgText::Font::FontMutex

## FontSizeGlyph3DMap

typedef std::map< FontResolution, Glyph3DMap > osgText::Font::FontSizeGlyph3DMap

protected

## FontSizeGlyphMap

typedef std::map< FontResolution, GlyphMap > osgText::Font::FontSizeGlyphMap

protected

## Glyph3DMap

typedef std::map< unsigned int, osg::ref_ptr<Glyph3D> > osgText::Font::Glyph3DMap

protected

## GlyphMap

typedef std::map< unsigned int, osg::ref_ptr<Glyph> > osgText::Font::GlyphMap

protected

## GlyphTextureList

typedef std::vector< osg::ref_ptr<GlyphTexture> > osgText::Font::GlyphTextureList

## StateSets

typedef std::vector< osg::ref_ptr<osg::StateSet> > osgText::Font::StateSets

## Constructor & Destructor Documentation

## Font()

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

Referenced by isSameKindAs().

## ~Font()

virtual osgText::Font::~Font | ( |  | ) |

protected virtual

## Member Function Documentation

## addGlyph()

void osgText::Font::addGlyph | ( | const FontResolution & | fontRes,
|  | unsigned int | charcode,
|  | Glyph * | glyph )

protected

## assignGlyphToGlyphTexture()

void osgText::Font::assignGlyphToGlyphTexture | ( | Glyph * | glyph,
|  | ShaderTechnique | shaderTechnique )

## className()

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.

## clone()

virtual osg::Object * osgText::Font::clone | ( | const osg::CopyOp & |  | ) | const

inline virtual

Clone an object, with Object* return type. Must be defined by derived classes.

Implements osg::Object.

## cloneType()

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.

## getCachedStateSets() [1/2]

StateSets & osgText::Font::getCachedStateSets | ( |  | ) |

inline

References _statesets.

## getCachedStateSets() [2/2]

const StateSets & osgText::Font::getCachedStateSets | ( |  | ) | const

inline

References _statesets.

## getDefaultFont()

osg::ref_ptr< Font > osgText::Font::getDefaultFont | ( |  | ) |

static

## getFileName()

virtual std::string osgText::Font::getFileName | ( |  | ) | const

virtual

## getFontDepth()

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

inline

References _depth.

## getGlyph()

virtual Glyph * osgText::Font::getGlyph | ( | const FontResolution & | fontSize,
|  | unsigned int | charcode )

virtual

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

## getGlyph3D()

virtual Glyph3D * osgText::Font::getGlyph3D | ( | const FontResolution & | fontSize,
|  | unsigned int | charcode )

virtual

Get a Glyph3D for specified charcode and a font size.

## getGlyphTextureList()

GlyphTextureList & osgText::Font::getGlyphTextureList | ( |  | ) |

inline

References _glyphTextureList.

## getImplementation() [1/2]

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

## getImplementation() [2/2]

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

## getKerning()

virtual osg::Vec2 osgText::Font::getKerning | ( | const FontResolution & | fontRes,
|  | unsigned int | leftcharcode,
|  | unsigned int | rightcharcode,
|  | KerningType | kerningType )

virtual

Get a kerning (adjustment of spacing of two adjacent character) for specified charcodes and a font resolution.

## getMagFilterHint()

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

## getMaxAnisotropy()

float osgText::Font::getMaxAnisotropy | ( |  | ) | const

inline

References _maxAnisotropy.

## getMinFilterHint()

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

## getNumberCurveSamples()

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

inline

References _numCurveSamples.

## getTextureHeightHint()

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

## getTextureWidthHint()

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

## getVerticalSize()

virtual bool osgText::Font::getVerticalSize | ( | float & | ascender,
|  | float & | descender ) const

inline virtual

Get the ascender and descender sizes of the font where supported by the FontImplementation, return true on success, return false when not supported.

References _implementation.

## hasVertical()

virtual bool osgText::Font::hasVertical | ( |  | ) | const

virtual

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

## isSameKindAs()

virtual bool osgText::Font::isSameKindAs | ( | const osg::Object * | obj | ) | const

inline virtual

Reimplemented from osg::Object.

References Font(), and NULL.

## libraryName()

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.

## releaseGLObjects()

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.

## resizeGLObjectBuffers()

virtual void osgText::Font::resizeGLObjectBuffers | ( | unsigned int | maxSize | ) |

virtual

Resize any per context GLObject buffers to specified size.

Reimplemented from osg::Object.

## setImplementation()

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

## setMagFilterHint()

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.

## setMaxAnisotropy()

void osgText::Font::setMaxAnisotropy | ( | float | anis | ) |

inline

References _maxAnisotropy.

## setMinFilterHint()

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.

## setNumberCurveSamples()

void osgText::Font::setNumberCurveSamples | ( | unsigned int | numSamples | ) |

inline

References _numCurveSamples.

## setTextureSizeHint()

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.

## setThreadSafeRefUnref()

virtual void osgText::Font::setThreadSafeRefUnref | ( | bool | threadSafe | ) |

virtual

Set whether to use a mutex to ensure ref() and unref() are thread safe.

Reimplemented from osg::Object.

## Friends And Related Symbol Documentation

## FontImplementation

friend class FontImplementation

friend

## Member Data Documentation

## _depth

unsigned int osgText::Font::_depth

protected

Referenced by getFontDepth().

## _fontSize

FontResolution osgText::Font::_fontSize

protected

## _glyphMapMutex

OpenThreads::Mutex osgText::Font::_glyphMapMutex

mutable protected

## _glyphTextureList

GlyphTextureList osgText::Font::_glyphTextureList

protected

Referenced by getGlyphTextureList().

## _implementation

osg::ref_ptr<FontImplementation> osgText::Font::_implementation

protected

Referenced by getVerticalSize().

## _magFilterHint

osg::Texture::FilterMode osgText::Font::_magFilterHint

protected

## _maxAnisotropy

float osgText::Font::_maxAnisotropy

protected

Referenced by getMaxAnisotropy(), and setMaxAnisotropy().

## _minFilterHint

osg::Texture::FilterMode osgText::Font::_minFilterHint

protected

## _numCurveSamples

unsigned int osgText::Font::_numCurveSamples

protected

Referenced by getNumberCurveSamples(), and setNumberCurveSamples().

## _sizeGlyph3DMap

FontSizeGlyph3DMap osgText::Font::_sizeGlyph3DMap

protected

## _sizeGlyphMap

FontSizeGlyphMap osgText::Font::_sizeGlyphMap

protected

## _statesets

StateSets osgText::Font::_statesets

protected

Referenced by getCachedStateSets(), and getCachedStateSets().

## _textureHeightHint

unsigned int osgText::Font::_textureHeightHint

protected

## _textureWidthHint

unsigned int osgText::Font::_textureWidthHint

protected

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

- Font