Added support for controlling the number of curves samples to generate on Glyph3D's. Set via Font3D::setNumberCurveSamples(num).
This commit is contained in:
parent
6049f67a48
commit
fd1493e14b
@ -87,6 +87,9 @@ public:
|
|||||||
unsigned int getFontHeight() const { return _height; }
|
unsigned int getFontHeight() const { return _height; }
|
||||||
unsigned int getFontDepth() const { return _depth; }
|
unsigned int getFontDepth() const { return _depth; }
|
||||||
|
|
||||||
|
void setNumberCurveSamples(unsigned int numSamples) { _numCurveSamples = numSamples; }
|
||||||
|
unsigned int getNumberCurveSamples() const { return _numCurveSamples; }
|
||||||
|
|
||||||
/** Get a kerning (adjustment of spacing of two adjacent character) for specified charcodes, w.r.t the current font size hint.*/
|
/** Get a kerning (adjustment of spacing of two adjacent character) for specified charcodes, w.r.t the current font size hint.*/
|
||||||
virtual osg::Vec2 getKerning(unsigned int leftcharcode,unsigned int rightcharcode, KerningType kerningType);
|
virtual osg::Vec2 getKerning(unsigned int leftcharcode,unsigned int rightcharcode, KerningType kerningType);
|
||||||
|
|
||||||
@ -123,6 +126,9 @@ protected:
|
|||||||
unsigned int _depth;
|
unsigned int _depth;
|
||||||
unsigned int _width;
|
unsigned int _width;
|
||||||
unsigned int _height;
|
unsigned int _height;
|
||||||
|
|
||||||
|
unsigned int _numCurveSamples;
|
||||||
|
|
||||||
// unsigned int _margin;
|
// unsigned int _margin;
|
||||||
// float _marginRatio;
|
// float _marginRatio;
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ namespace
|
|||||||
|
|
||||||
struct Char3DInfo
|
struct Char3DInfo
|
||||||
{
|
{
|
||||||
Char3DInfo(int numSteps=50):
|
Char3DInfo(int numSteps):
|
||||||
_verts( new osg::Vec3Array ),
|
_verts( new osg::Vec3Array ),
|
||||||
_geometry( new osg::Geometry ),
|
_geometry( new osg::Geometry ),
|
||||||
_idx(0),
|
_idx(0),
|
||||||
@ -243,7 +243,7 @@ void FreeTypeFont3D::init()
|
|||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
Char3DInfo char3d;
|
Char3DInfo char3d(10);
|
||||||
|
|
||||||
FT_Outline outline = _face->glyph->outline;
|
FT_Outline outline = _face->glyph->outline;
|
||||||
FT_Outline_Funcs funcs;
|
FT_Outline_Funcs funcs;
|
||||||
@ -344,7 +344,7 @@ osgText::Font3D::Glyph3D * FreeTypeFont3D::getGlyph(unsigned int charcode)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ** init FreeType to describe the glyph
|
// ** init FreeType to describe the glyph
|
||||||
Char3DInfo char3d;
|
Char3DInfo char3d(_facade->getNumberCurveSamples());
|
||||||
|
|
||||||
FT_Outline outline = _face->glyph->outline;
|
FT_Outline outline = _face->glyph->outline;
|
||||||
FT_Outline_Funcs funcs;
|
FT_Outline_Funcs funcs;
|
||||||
|
@ -29,8 +29,6 @@ public:
|
|||||||
|
|
||||||
virtual std::string getFileName() const { return _filename; }
|
virtual std::string getFileName() const { return _filename; }
|
||||||
|
|
||||||
// virtual void setFontResolution(unsigned int width, unsigned int height, unsigned int depth);
|
|
||||||
|
|
||||||
virtual osgText::Font3D::Glyph3D * getGlyph(unsigned int charcode);
|
virtual osgText::Font3D::Glyph3D * getGlyph(unsigned int charcode);
|
||||||
|
|
||||||
virtual osg::Vec2 getKerning(unsigned int leftcharcode,unsigned int rightcharcode, osgText::KerningType _kerningType);
|
virtual osg::Vec2 getKerning(unsigned int leftcharcode,unsigned int rightcharcode, osgText::KerningType _kerningType);
|
||||||
|
@ -243,7 +243,8 @@ Font3D::Font3D(Font3DImplementation* implementation):
|
|||||||
osg::Object(true),
|
osg::Object(true),
|
||||||
_depth(1),
|
_depth(1),
|
||||||
_width(64),
|
_width(64),
|
||||||
_height(64)
|
_height(64),
|
||||||
|
_numCurveSamples(10)
|
||||||
{
|
{
|
||||||
setImplementation(implementation);
|
setImplementation(implementation);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user