## class OSGTEXT_EXPORT osgText::Font

> Pure virtual base class for fonts.

## Inheritance:

### Public Methods

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
virtual void setSize(unsigned int width, unsigned int height)
  Set the pixel width and height hint
unsigned int getWidth()
unsigned int getHeight()
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, wrt 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

### Public Members

class FontImplementation: public osg::Referenced
class OSGTEXT_EXPORT GlyphTexture: public osg::Texture2D
class OSGTEXT_EXPORT Glyph: public osg::Image

### Protected Fields

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<FontImplementation> _implementation

### Protected Methods

virtual ~Font()
void addGlyph(unsigned int width, unsigned int height, unsigned int charcode, Glyph* glyph)

### Protected Members

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

## Documentation

> 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

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

`virtual void setSize(unsigned int width, unsigned int height)`
  Set the pixel width and height hint

`unsigned int getWidth()`

`unsigned int getHeight()`

`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, wrt 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. Default margin is 2 texels.

`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. Note, this doesn't affect already created Texture Glhph's.

`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. Note, this doesn't affect already created Texture Glhph's.

`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. Note, this doesn't affect already created Texture Glhph's.

`osg::Texture::FilterMode getMagFilterHint() const`

`void setImplementation(FontImplementation* implementation)`

`FontImplementation* getImplementation()`

`const FontImplementation* getImplementation() const`

`virtual ~Font()`

`void addGlyph(unsigned int width, unsigned int height, unsigned int charcode, Glyph* glyph)`

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

`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<FontImplementation> _implementation`

This class has no child classes.

Friends:
  class FontImplementation

Alphabetic index HTML hierarchy of classes or Java

This page was generated with the help of DOC++.