From: Thomas Geymayer Date: Sun, 16 Jun 2013 08:49:46 +0000 (+0200) Subject: canvas::Text: Make font resolution user configurable X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=ece743342a0214fcbee2143b231981fe616d12c4;p=simgear.git canvas::Text: Make font resolution user configurable --- diff --git a/simgear/canvas/elements/CanvasText.cxx b/simgear/canvas/elements/CanvasText.cxx index 012f9325..031adba7 100644 --- a/simgear/canvas/elements/CanvasText.cxx +++ b/simgear/canvas/elements/CanvasText.cxx @@ -34,7 +34,7 @@ namespace canvas TextOSG(canvas::Text* text); - void setCharacterSize(float height); + void setFontResolution(int res); void setCharacterAspect(float aspect); void setFill(const std::string& fill); void setBackgroundColor(const std::string& fill); @@ -58,27 +58,15 @@ namespace canvas } //---------------------------------------------------------------------------- - void Text::TextOSG::setCharacterSize(float height) + void Text::TextOSG::setFontResolution(int res) { - TextBase::setCharacterSize(height); - - unsigned int res = 32; - CanvasPtr canvas = _text_element->_canvas.lock(); - if( canvas ) - { - float factor = canvas->getSizeY() / canvas->getViewHeight(); - res = height * factor; - } - - // TODO different vertical/horizontal resolution? - // TODO configurable? - setFontResolution(res, res); + TextBase::setFontResolution(res, res); } //---------------------------------------------------------------------------- void Text::TextOSG::setCharacterAspect(float aspect) { - TextBase::setCharacterSize(getCharacterHeight(), aspect); + setCharacterSize(getCharacterHeight(), aspect); } //---------------------------------------------------------------------------- @@ -294,6 +282,7 @@ namespace canvas addStyle("character-aspect-ratio", "numeric", &TextOSG::setCharacterAspect, text); + addStyle("font-resolution", "numeric", &TextOSG::setFontResolution, text); addStyle("padding", "numeric", &TextOSG::setBoundingBoxMargin, text); // TEXT = 1 default // BOUNDINGBOX = 2