From: nds Date: Tue, 5 Mar 2019 15:51:12 +0000 (+0300) Subject: 0030537: Visualization - wrapping text in font text formatter X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=7f694369c88e1364dbc8e5c84b2368e9bebefd1f;p=occt-copy.git 0030537: Visualization - wrapping text in font text formatter #corners should be arranged around (0,0) point, example of the first point if rect width is 100, symbol has an empty width: # - left alignment: (-50, 0) # - center alignment: (0, 0) # - right alignment: (50, 0) (cherry picked from commit 3ae32a0a4e0fea48e00947c1761f60a0e123e45e) --- diff --git a/src/Font/Font_TextFormatter.cxx b/src/Font/Font_TextFormatter.cxx index 108b93fc7e..350517aae1 100644 --- a/src/Font/Font_TextFormatter.cxx +++ b/src/Font/Font_TextFormatter.cxx @@ -193,8 +193,8 @@ void Font_TextFormatter::newLine (const Standard_Integer theLastRect, { default: case Graphic3d_HTA_LEFT: myMoveVec.x() = -aXMin; break; - case Graphic3d_HTA_RIGHT: myMoveVec.x() = -aXMin + (theMaxLineWidth - (aXMax - aXMin)); break; - case Graphic3d_HTA_CENTER: myMoveVec.x() = -aXMin + 0.5f * (theMaxLineWidth - (aXMax - aXMin)); break; + case Graphic3d_HTA_RIGHT: myMoveVec.x() = -aXMin + (theMaxLineWidth - (aXMax - aXMin)) - theMaxLineWidth; break; + case Graphic3d_HTA_CENTER: myMoveVec.x() = -aXMin + 0.5f * (theMaxLineWidth - (aXMax - aXMin)) - 0.5 * theMaxLineWidth; break; } move (myCorners, myMoveVec, myRectLineStart, theLastRect);