OpenSceneGraph
3.0.1
|
Pure virtual base class for fonts. More...
Classes | |
class | FontImplementation |
Public Types | |
typedef OpenThreads::Mutex | FontMutex |
typedef std::vector < osg::ref_ptr< GlyphTexture > > | GlyphTextureList |
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 |
Clone an object, with Object* return type. | |
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 |
void | setTexEnv (osg::TexEnv *texenv) |
osg::TexEnv * | getTexEnv () |
const osg::TexEnv * | getTexEnv () const |
void | setStateSet (osg::StateSet *stateset) |
osg::StateSet * | getStateSet () |
const osg::StateSet * | getStateSet () 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 (const FontResolution &fontSize, unsigned int charcode) |
Get a Glyph for specified charcode, and the font size nearest to the current font size hint. | |
virtual Glyph3D * | getGlyph3D (unsigned int charcode) |
Get a Glyph3D for specified charcode. | |
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 | setGlyphImageMarginRatio (float margin) |
Set the margin ratio around each glyph, relative to the glyph's size. | |
float | getGlyphImageMarginRatio () 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 |
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) |
Set whether to use a mutex to ensure ref() and unref() are thread safe. | |
virtual void | resizeGLObjectBuffers (unsigned int maxSize) |
Resize any per context GLObject buffers to specified size. | |
virtual void | releaseGLObjects (osg::State *state=0) const |
If State is non-zero, this function releases OpenGL objects for the specified graphics context. | |
GlyphTextureList & | getGlyphTextureList () |
Static Public Member Functions | |
static osg::ref_ptr< Font > & | getDefaultFont () |
Protected Types | |
typedef std::vector < osg::ref_ptr< osg::StateSet > > | StateSetList |
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 |
Protected Member Functions | |
virtual | ~Font () |
void | addGlyph (const FontResolution &fontRes, unsigned int charcode, Glyph *glyph) |
Protected Attributes | |
OpenThreads::Mutex | _glyphMapMutex |
osg::ref_ptr< osg::TexEnv > | _texenv |
osg::ref_ptr< osg::StateSet > | _stateset |
FontSizeGlyphMap | _sizeGlyphMap |
GlyphTextureList | _glyphTextureList |
Glyph3DMap | _glyph3DMap |
FontResolution | _fontSize |
unsigned int | _margin |
float | _marginRatio |
unsigned int | _textureWidthHint |
unsigned int | _textureHeightHint |
osg::Texture::FilterMode | _minFilterHint |
osg::Texture::FilterMode | _magFilterHint |
unsigned int | _depth |
unsigned int | _numCurveSamples |
osg::ref_ptr< FontImplementation > | _implementation |
Friends | |
class | FontImplementation |
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
typedef OpenThreads::Mutex osgText::Font::FontMutex |
typedef std::map< FontResolution, GlyphMap > osgText::Font::FontSizeGlyphMap [protected] |
typedef std::map< unsigned int, osg::ref_ptr<Glyph3D> > osgText::Font::Glyph3DMap [protected] |
typedef std::map< unsigned int, osg::ref_ptr<Glyph> > osgText::Font::GlyphMap [protected] |
typedef std::vector< osg::ref_ptr<GlyphTexture> > osgText::Font::GlyphTextureList |
typedef std::vector< osg::ref_ptr<osg::StateSet> > osgText::Font::StateSetList [protected] |
osgText::Font::Font | ( | FontImplementation * | implementation = 0 | ) |
virtual osgText::Font::~Font | ( | ) | [protected, virtual] |
void osgText::Font::addGlyph | ( | const FontResolution & | fontRes, |
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] |
Clone an object, with Object* return type.
Must be defined by derived classes.
Implements osg::Object.
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.
static osg::ref_ptr<Font>& osgText::Font::getDefaultFont | ( | ) | [static] |
virtual std::string osgText::Font::getFileName | ( | ) | const [virtual] |
unsigned int osgText::Font::getFontDepth | ( | ) | const [inline] |
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.
virtual Glyph3D* osgText::Font::getGlyph3D | ( | unsigned int | charcode | ) | [virtual] |
Get a Glyph3D for specified charcode.
unsigned int osgText::Font::getGlyphImageMargin | ( | ) | const |
float osgText::Font::getGlyphImageMarginRatio | ( | ) | const |
GlyphTextureList& osgText::Font::getGlyphTextureList | ( | ) | [inline] |
FontImplementation* osgText::Font::getImplementation | ( | ) |
const FontImplementation* osgText::Font::getImplementation | ( | ) | const |
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::getNumberCurveSamples | ( | ) | const [inline] |
osg::StateSet* osgText::Font::getStateSet | ( | ) | [inline] |
const osg::StateSet* osgText::Font::getStateSet | ( | ) | const [inline] |
osg::TexEnv* osgText::Font::getTexEnv | ( | ) | [inline] |
const osg::TexEnv* osgText::Font::getTexEnv | ( | ) | const [inline] |
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] |
Reimplemented from osg::Object.
References NULL.
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::resizeGLObjectBuffers | ( | unsigned int | maxSize | ) | [virtual] |
Resize any per context GLObject buffers to specified size.
Reimplemented from osg::Object.
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 1 texels.
void osgText::Font::setGlyphImageMarginRatio | ( | float | margin | ) |
Set the margin ratio around each glyph, relative to the glyph's size.
to ensure that texture filtering doesn't bleed adjacent glyph's into each other. Default margin is 0.05.
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::setNumberCurveSamples | ( | unsigned int | numSamples | ) | [inline] |
void osgText::Font::setStateSet | ( | osg::StateSet * | stateset | ) | [inline] |
void osgText::Font::setTexEnv | ( | osg::TexEnv * | texenv | ) | [inline] |
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.
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.
friend class FontImplementation [friend] |
unsigned int osgText::Font::_depth [protected] |
FontResolution osgText::Font::_fontSize [protected] |
Glyph3DMap osgText::Font::_glyph3DMap [protected] |
OpenThreads::Mutex osgText::Font::_glyphMapMutex [mutable, protected] |
GlyphTextureList osgText::Font::_glyphTextureList [protected] |
osg::ref_ptr<FontImplementation> osgText::Font::_implementation [protected] |
unsigned int osgText::Font::_margin [protected] |
float osgText::Font::_marginRatio [protected] |
unsigned int osgText::Font::_numCurveSamples [protected] |
FontSizeGlyphMap osgText::Font::_sizeGlyphMap [protected] |
osg::ref_ptr<osg::StateSet> osgText::Font::_stateset [protected] |
osg::ref_ptr<osg::TexEnv> osgText::Font::_texenv [protected] |
unsigned int osgText::Font::_textureHeightHint [protected] |
unsigned int osgText::Font::_textureWidthHint [protected] |
![]() | Generated at Mon Oct 3 2011 12:39:49 for the OpenSceneGraph by doxygen 1.7.5. |