diff options
author | Rüdiger Timm <rt@openoffice.org> | 2003-09-25 06:47:44 +0000 |
---|---|---|
committer | Rüdiger Timm <rt@openoffice.org> | 2003-09-25 06:47:44 +0000 |
commit | c1ae6cb4ad09c6261616619af2577e0be0305202 (patch) | |
tree | 28f79e97ab87722d0a086426170006c3dbc7e485 /svx | |
parent | 29d012f82b10a3f06e5ed7f34ce475eb4e5287dc (diff) |
INTEGRATION: CWS killarneyfilterteam13 (1.79.20); FILE MERGED
2003/09/03 15:10:51 cmc 1.79.20.2: RESYNC: (1.79-1.81); FILE MERGED
2003/08/26 12:01:06 cmc 1.79.20.1: #i18685# Flip internal margins when flipping textbox
Diffstat (limited to 'svx')
-rw-r--r-- | svx/source/msfilter/msdffimp.cxx | 54 |
1 files changed, 40 insertions, 14 deletions
diff --git a/svx/source/msfilter/msdffimp.cxx b/svx/source/msfilter/msdffimp.cxx index 992d19a35093..f136d7a1b246 100644 --- a/svx/source/msfilter/msdffimp.cxx +++ b/svx/source/msfilter/msdffimp.cxx @@ -2,9 +2,9 @@ * * $RCSfile: msdffimp.cxx,v $ * - * $Revision: 1.82 $ + * $Revision: 1.83 $ * - * last change: $Author: rt $ $Date: 2003-09-19 10:02:23 $ + * last change: $Author: rt $ $Date: 2003-09-25 07:47:44 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -3410,6 +3410,17 @@ SdrObject* SvxMSDffManager::ProcessObj(SvStream& rSt, pObj = pOrgObj = 0; } + // Distance of Textbox to it's surrounding Autoshape + INT32 nTextLeft = GetPropertyValue( DFF_Prop_dxTextLeft, 91440L); + INT32 nTextRight = GetPropertyValue( DFF_Prop_dxTextRight, 91440L ); + INT32 nTextTop = GetPropertyValue( DFF_Prop_dyTextTop, 45720L ); + INT32 nTextBottom = GetPropertyValue( DFF_Prop_dyTextBottom, 45720L ); + + ScaleEmu( nTextLeft ); + ScaleEmu( nTextRight ); + ScaleEmu( nTextTop ); + ScaleEmu( nTextBottom ); + INT32 nTextRotationAngle=0; bool bVerticalText = false; if ( IsProperty( DFF_Prop_txflTextFlow ) ) @@ -3444,12 +3455,39 @@ SdrObject* SvxMSDffManager::ProcessObj(SvStream& rSt, switch (nTextRotationAngle) { case 9000: + { + long nWidth = rTextRect.GetWidth(); + rTextRect.Right() = rTextRect.Left() + rTextRect.GetHeight(); + rTextRect.Bottom() = rTextRect.Top() + nWidth; + + INT32 nOldTextLeft = nTextLeft; + INT32 nOldTextRight = nTextRight; + INT32 nOldTextTop = nTextTop; + INT32 nOldTextBottom = nTextBottom; + + nTextLeft = nOldTextBottom; + nTextRight = nOldTextTop; + nTextTop = nOldTextLeft; + nTextBottom = nOldTextRight; + } + break; case 27000: { long nWidth = rTextRect.GetWidth(); rTextRect.Right() = rTextRect.Left() + rTextRect.GetHeight(); rTextRect.Bottom() = rTextRect.Top() + nWidth; + + INT32 nOldTextLeft = nTextLeft; + INT32 nOldTextRight = nTextRight; + INT32 nOldTextTop = nTextTop; + INT32 nOldTextBottom = nTextBottom; + + nTextLeft = nOldTextTop; + nTextRight = nOldTextBottom; + nTextTop = nOldTextRight; + nTextBottom = nOldTextLeft; } + break; default: break; } @@ -3458,18 +3496,6 @@ SdrObject* SvxMSDffManager::ProcessObj(SvStream& rSt, pTextObj = new SdrRectObj(OBJ_TEXT, rTextRect); pTextImpRec = new SvxMSDffImportRec(*pImpRec); - // Distance of Textbox to it's surrounding Autoshape - INT32 nTextLeft = GetPropertyValue( DFF_Prop_dxTextLeft, 91440L); - INT32 nTextRight = GetPropertyValue( DFF_Prop_dxTextRight, 91440L ); - INT32 nTextTop = GetPropertyValue( DFF_Prop_dyTextTop, 45720L ); - INT32 nTextBottom = GetPropertyValue( DFF_Prop_dyTextBottom, 45720L ); - - ScaleEmu( nTextLeft ); - ScaleEmu( nTextRight ); - ScaleEmu( nTextTop ); - ScaleEmu( nTextBottom ); - - // Die vertikalen Absatzeinrueckungen sind im BoundRect mit drin, // hier rausrechnen Rectangle aNewRect(rTextRect); |