openscenegraph
osgText::Font Class Reference

#include <Font>

Inheritance diagram for osgText::Font:
osg::Object osg::Referenced

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::ObjectcloneType () const
virtual osg::Objectclone (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
StateSetsgetCachedStateSets ()
const StateSetsgetCachedStateSets () const
virtual osg::Vec2 getKerning (const FontResolution &fontRes, unsigned int leftcharcode, unsigned int rightcharcode, KerningType kerningType)
virtual GlyphgetGlyph (const FontResolution &fontSize, unsigned int charcode)
virtual Glyph3DgetGlyph3D (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)
FontImplementationgetImplementation ()
const FontImplementationgetImplementation () const
virtual void setThreadSafeRefUnref (bool threadSafe)
virtual void resizeGLObjectBuffers (unsigned int maxSize)
virtual void releaseGLObjects (osg::State *state=0) const
GlyphTextureListgetGlyphTextureList ()
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 NodeasNode ()
virtual const NodeasNode () const
virtual NodeVisitorasNodeVisitor ()
virtual const NodeVisitorasNodeVisitor () const
virtual StateSetasStateSet ()
virtual const StateSetasStateSet () const
virtual StateAttributeasStateAttribute ()
virtual const StateAttributeasStateAttribute () const
virtual UniformasUniform ()
virtual const UniformasUniform () const
virtual CameraasCamera ()
virtual const CameraasCamera () const
virtual DrawableasDrawable ()
virtual const DrawableasDrawable () const
virtual CallbackasCallback ()
virtual const CallbackasCallback () const
virtual CallbackObjectasCallbackObject ()
virtual const CallbackObjectasCallbackObject () const
virtual UserDataContainerasUserDataContainer ()
virtual const UserDataContainerasUserDataContainer () const
virtual ValueObjectasValueObject ()
virtual const ValueObjectasValueObject () const
virtual ImageasImage ()
virtual const ImageasImage () 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::UserDataContainergetUserDataContainer ()
const osg::UserDataContainergetUserDataContainer () const
osg::UserDataContainergetOrCreateUserDataContainer ()
virtual void setUserData (Referenced *obj)
template<class T>
void setUserData (const ref_ptr< T > &ud)
virtual ReferencedgetUserData ()
virtual const ReferencedgetUserData () 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 &)
Referencedoperator= (const Referenced &)
bool getThreadSafeRefUnref () const
OpenThreads::MutexgetRefMutex () const
int ref () const
int unref () const
int unref_nodelete () const
int referenceCount () const
ObserverSetgetObserverSet () const
ObserverSetgetOrCreateObserverSet () const
void addObserver (Observer *observer) const
void removeObserver (Observer *observer) const

Static Public Member Functions

static osg::ref_ptr< FontgetDefaultFont ()
Static Public Member Functions inherited from osg::Referenced
static OpenThreads::MutexgetGlobalReferencedMutex ()
static void setDeleteHandler (DeleteHandler *handler)
static DeleteHandlergetDeleteHandler ()

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, GlyphMapFontSizeGlyphMap
typedef std::map< FontResolution, Glyph3DMapFontSizeGlyph3DMap

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

◆ FontSizeGlyph3DMap

◆ FontSizeGlyphMap

◆ 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

◆ StateSets

Constructor & Destructor Documentation

◆ Font()

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

Referenced by isSameKindAs().

◆ ~Font()

virtual osgText::Font::~Font ( )
protectedvirtual

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
inlinevirtual

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
inlinevirtual

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

Implements osg::Object.

◆ cloneType()

virtual osg::Object * osgText::Font::cloneType ( ) const
inlinevirtual

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
inlinevirtual

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
inlinevirtual

Reimplemented from osg::Object.

References Font(), and NULL.

◆ libraryName()

virtual const char * osgText::Font::libraryName ( ) const
inlinevirtual

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.

◆ 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
mutableprotected

◆ _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

◆ _minFilterHint

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

◆ _numCurveSamples

unsigned int osgText::Font::_numCurveSamples
protected

◆ _sizeGlyph3DMap

FontSizeGlyph3DMap osgText::Font::_sizeGlyph3DMap
protected

◆ _sizeGlyphMap

FontSizeGlyphMap osgText::Font::_sizeGlyphMap
protected

◆ _statesets

StateSets osgText::Font::_statesets
protected

◆ _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: