diff options
author | Ivo Hinkelmann <ihi@openoffice.org> | 2009-04-02 12:39:35 +0000 |
---|---|---|
committer | Ivo Hinkelmann <ihi@openoffice.org> | 2009-04-02 12:39:35 +0000 |
commit | 5116a6c26d520683987542c3e680bd4317ea7da2 (patch) | |
tree | 5256dd68206231964bbbb0685dcb9f7310aae62f /svx | |
parent | c48a05c77bfd377bc98e24cee8fc585b681d31a8 (diff) |
CWS-TOOLING: integrate CWS aw067_DEV300
2009-03-24 11:47:28 +0100 aw r269933 : #i100489# added missing support for proportional font scaling and DXArray preparation
2009-03-24 11:42:59 +0100 aw r269932 : #i100424# corrected handling of font scaling in renderer and tooling
Diffstat (limited to 'svx')
-rw-r--r-- | svx/source/svdraw/svdotextdecomposition.cxx | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/svx/source/svdraw/svdotextdecomposition.cxx b/svx/source/svdraw/svdotextdecomposition.cxx index b6dc0a8186f2..fe56b2da4e61 100644 --- a/svx/source/svdraw/svdotextdecomposition.cxx +++ b/svx/source/svdraw/svdotextdecomposition.cxx @@ -206,6 +206,10 @@ namespace false)); basegfx::B2DHomMatrix aNewTransform; + // #i100489# need extra scale factor for DXArray which collects all scalings + // which are needed to get the DXArray to unit coordinates + double fDXArrayScaleFactor(aSize.getX()); + // add font scale to new transform aNewTransform.scale(aSize.getX(), aSize.getY()); @@ -214,6 +218,10 @@ namespace { const double fFactor(rInfo.mrFont.GetPropr() / 100.0); aNewTransform.scale(fFactor, fFactor); + + // #i100489# proportional font scaling influences the DXArray, + // add to factor + fDXArrayScaleFactor *= fFactor; } // apply font rotate @@ -265,7 +273,8 @@ namespace if(!bDisableTextArray && rInfo.mpDXArray && rInfo.mnTextLen) { - const double fScaleFactor(basegfx::fTools::equalZero(aSize.getX()) ? 1.0 : 1.0 / aSize.getX()); + // #i100489# use fDXArrayScaleFactor here + const double fScaleFactor(basegfx::fTools::equalZero(fDXArrayScaleFactor) ? 1.0 : 1.0 / fDXArrayScaleFactor); aDXArray.reserve(rInfo.mnTextLen); for(xub_StrLen a(0); a < rInfo.mnTextLen; a++) |