24#include <OpenThreads/Mutex>
32#ifdef OSG_PROVIDE_READFILE
81 virtual const char*
className()
const {
return "Font"; }
88 typedef std::vector< osg::ref_ptr<osg::StateSet> >
StateSets;
168 typedef std::map< unsigned int, osg::ref_ptr<Glyph> >
GlyphMap;
169 typedef std::map< unsigned int, osg::ref_ptr<Glyph3D> >
Glyph3DMap;
228 _facade->addGlyph(fontRes, charcode, glyph);
The core osg library provides the basic scene graph classes such as Nodes, State and Drawables,...
Definition AlphaFunc:19
Vec2f Vec2
Definition Vec2:21
The osgText library is a NodeKit that extends the core scene graph to support high quality text.
std::pair< unsigned int, unsigned int > FontResolution
Definition KerningType:20
OSGTEXT_EXPORT osg::ref_ptr< Font > readRefFontFile(const std::string &filename, const osgDB::Options *userOptions=0)
KerningType
Definition KerningType:23
OSGTEXT_EXPORT std::string findFontFile(const std::string &str)
OSGTEXT_EXPORT osg::ref_ptr< Font > readRefFontStream(std::istream &stream, const osgDB::Options *userOptions=0)
ShaderTechnique
Definition Glyph:42
Copy Op(erator) used to control whether shallow or deep copy is used during copy construction and clo...
Definition CopyOp:41
Base class/standard interface for objects which require IO support, cloning and reference counting.
Definition Object:61
Smart pointer for handling referenced counted objects.
Definition ref_ptr:32
Base class for providing reference counted objects.
Definition Referenced:44
Encapsulates the current applied OpenGL modes, attributes and vertex arrays settings,...
Definition State:80
FilterMode
Definition Texture:499
Options base class used for passing options into plugins to control their operation.
Definition Options:30
osg::Texture::FilterMode getMinFilterHint() const
void setMinFilterHint(osg::Texture::FilterMode mode)
Set the minification texture filter to use when creating the texture to store the glyph images when r...
void setImplementation(FontImplementation *implementation)
osg::ref_ptr< FontImplementation > _implementation
Definition Font:196
virtual void resizeGLObjectBuffers(unsigned int maxSize)
Resize any per context GLObject buffers to specified size.
virtual bool hasVertical() const
Return true if this font provides vertical alignments and spacing or glyphs.
GlyphTextureList _glyphTextureList
Definition Font:178
FontResolution _fontSize
Definition Font:184
FontSizeGlyphMap _sizeGlyphMap
Definition Font:177
void assignGlyphToGlyphTexture(Glyph *glyph, ShaderTechnique shaderTechnique)
osg::Texture::FilterMode getMagFilterHint() const
StateSets & getCachedStateSets()
Definition Font:89
virtual bool isSameKindAs(const osg::Object *obj) const
Definition Font:80
std::map< FontResolution, Glyph3DMap > FontSizeGlyph3DMap
Definition Font:172
virtual osg::Object * clone(const osg::CopyOp &) const
Clone an object, with Object* return type.
Definition Font:79
std::map< FontResolution, GlyphMap > FontSizeGlyphMap
Definition Font:171
void setNumberCurveSamples(unsigned int numSamples)
Definition Font:132
unsigned int _textureHeightHint
Definition Font:187
GlyphTextureList & getGlyphTextureList()
Definition Font:158
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.
std::map< unsigned int, osg::ref_ptr< Glyph3D > > Glyph3DMap
Definition Font:169
virtual osg::Vec2 getKerning(const FontResolution &fontRes, unsigned int leftcharcode, unsigned int rightcharcode, KerningType kerningType)
Get a kerning (adjustment of spacing of two adjacent character) for specified charcodes and a font re...
unsigned int _textureWidthHint
Definition Font:186
void setMagFilterHint(osg::Texture::FilterMode mode)
Set the magnification texture filter to use when creating the texture to store the glyph images when ...
virtual std::string getFileName() const
FontSizeGlyph3DMap _sizeGlyph3DMap
Definition Font:181
std::vector< osg::ref_ptr< osg::StateSet > > StateSets
Definition Font:88
StateSets _statesets
Definition Font:176
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.
osg::Texture::FilterMode _magFilterHint
Definition Font:189
float getMaxAnisotropy() const
Definition Font:128
osg::Texture::FilterMode _minFilterHint
Definition Font:188
unsigned int getTextureHeightHint() const
unsigned int _depth
Definition Font:192
unsigned int getFontDepth() const
Definition Font:130
unsigned int _numCurveSamples
Definition Font:193
virtual void setThreadSafeRefUnref(bool threadSafe)
Set whether to use a mutex to ensure ref() and unref() are thread safe.
float _maxAnisotropy
Definition Font:190
std::vector< osg::ref_ptr< GlyphTexture > > GlyphTextureList
Definition Font:157
FontImplementation * getImplementation()
std::map< unsigned int, osg::ref_ptr< Glyph > > GlyphMap
Definition Font:168
const StateSets & getCachedStateSets() const
Definition Font:90
Font(FontImplementation *implementation=0)
virtual osg::Object * cloneType() const
Clone the type of an object, with Object* return type.
Definition Font:78
void setMaxAnisotropy(float anis)
Definition Font:127
virtual Glyph3D * getGlyph3D(const FontResolution &fontSize, unsigned int charcode)
Get a Glyph3D for specified charcode and a font size.
unsigned int getTextureWidthHint() const
unsigned int getNumberCurveSamples() const
Definition Font:133
OpenThreads::Mutex FontMutex
Definition Font:155
virtual const char * libraryName() const
return the name of the object's library.
Definition Font:82
void addGlyph(const FontResolution &fontRes, unsigned int charcode, Glyph *glyph)
OpenThreads::Mutex _glyphMapMutex
Definition Font:174
virtual bool getVerticalSize(float &ascender, float &descender) const
Get the ascender and descender sizes of the font where supported by the FontImplementation,...
Definition Font:108
static osg::ref_ptr< Font > getDefaultFont()
void setTextureSizeHint(unsigned int width, unsigned int height)
Set the size of texture to create to store the glyph images when rendering.
virtual const char * className() const
return the name of the object's class type.
Definition Font:81
void addGlyph(const FontResolution &fontRes, unsigned int charcode, Glyph *glyph)
Definition Font:226
virtual bool getVerticalSize(float &, float &) const
Definition Font:233
Font * _facade
Definition Font:231
virtual bool hasVertical() const =0
Return true if this font provides vertical alignments and spacing or glyphs.
virtual osg::Vec2 getKerning(const FontResolution &fontRes, unsigned int leftcharcode, unsigned int rightcharcode, KerningType kerningType)=0
Get a kerning (adjustment of spacing of two adjacent character) for specified charcodes,...
virtual Glyph * getGlyph(const FontResolution &fontRes, unsigned int charcode)=0
Get a Glyph for specified charcode, and the font size nearest to the current font size hint.
virtual bool supportsMultipleFontResolutions() const =0
virtual std::string getFileName() const =0
virtual Glyph3D * getGlyph3D(const FontResolution &fontRes, unsigned int charcode)=0
Get a Glyph3D for specified charcode.
FontImplementation()
Definition Font:206
#define NULL
Definition Export:55
#define OSGTEXT_EXPORT
Definition Export:39