Added --margin texel_width and --margin-ration ratio to control the spacing between glyphs in the font.
This commit is contained in:
parent
20ecd5c60d
commit
7323bb776b
@ -64,6 +64,8 @@ struct TextSettings
|
|||||||
{
|
{
|
||||||
TextSettings():
|
TextSettings():
|
||||||
fontFilename("fonts/arial.ttf"),
|
fontFilename("fonts/arial.ttf"),
|
||||||
|
glyphImageMargin(1),
|
||||||
|
glyphImageMarginRatio(0.02),
|
||||||
textColor(1.0f, 1.0f, 1.0f, 1.0f),
|
textColor(1.0f, 1.0f, 1.0f, 1.0f),
|
||||||
backdropType(osgText::Text::NONE),
|
backdropType(osgText::Text::NONE),
|
||||||
backdropOffset(0.04f, 0.04f),
|
backdropOffset(0.04f, 0.04f),
|
||||||
@ -90,6 +92,11 @@ struct TextSettings
|
|||||||
|
|
||||||
if (arguments.read("--font",fontFilename)) {}
|
if (arguments.read("--font",fontFilename)) {}
|
||||||
|
|
||||||
|
|
||||||
|
if (arguments.read("--margin", glyphImageMargin)) {}
|
||||||
|
if (arguments.read("--margin-ratio", glyphImageMarginRatio)) {}
|
||||||
|
|
||||||
|
|
||||||
if (arguments.read("--outline")) backdropType = osgText::Text::OUTLINE;
|
if (arguments.read("--outline")) backdropType = osgText::Text::OUTLINE;
|
||||||
if (arguments.read("--shadow")) backdropType = osgText::Text::DROP_SHADOW_BOTTOM_RIGHT;
|
if (arguments.read("--shadow")) backdropType = osgText::Text::DROP_SHADOW_BOTTOM_RIGHT;
|
||||||
|
|
||||||
@ -113,6 +120,9 @@ struct TextSettings
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::string fontFilename;
|
std::string fontFilename;
|
||||||
|
unsigned int glyphImageMargin;
|
||||||
|
float glyphImageMarginRatio;
|
||||||
|
|
||||||
osg::Vec4 textColor;
|
osg::Vec4 textColor;
|
||||||
osgText::Text::BackdropType backdropType;
|
osgText::Text::BackdropType backdropType;
|
||||||
osg::Vec2 backdropOffset;
|
osg::Vec2 backdropOffset;
|
||||||
@ -128,6 +138,9 @@ osgText::Text* createLabel(const std::string& l, TextSettings& settings, unsigne
|
|||||||
osgText::Text* label = new osgText::Text();
|
osgText::Text* label = new osgText::Text();
|
||||||
osg::ref_ptr<osgText::Font> font = osgText::readRefFontFile(settings.fontFilename);
|
osg::ref_ptr<osgText::Font> font = osgText::readRefFontFile(settings.fontFilename);
|
||||||
|
|
||||||
|
font->setGlyphImageMargin(settings.glyphImageMargin);
|
||||||
|
font->setGlyphImageMarginRatio(settings.glyphImageMarginRatio);
|
||||||
|
|
||||||
settings.setText(*label);
|
settings.setText(*label);
|
||||||
|
|
||||||
label->setCharacterSize(size);
|
label->setCharacterSize(size);
|
||||||
|
Loading…
Reference in New Issue
Block a user