summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorAndreas Martens <ama@openoffice.org>2000-12-21 13:17:09 +0000
committerAndreas Martens <ama@openoffice.org>2000-12-21 13:17:09 +0000
commit42e0b758466654676871affc3e2b0c3cb79ace2e (patch)
tree26559012cea2ccc76d8086dcdf2aeaa0f57bd7b3 /sw
parenta3c93b48fc03ffa458b450045e408afccd0da146 (diff)
New: Rotated text portions
Diffstat (limited to 'sw')
-rw-r--r--sw/source/core/text/itrcrsr.cxx26
1 files changed, 20 insertions, 6 deletions
diff --git a/sw/source/core/text/itrcrsr.cxx b/sw/source/core/text/itrcrsr.cxx
index 22ecb17cba74..5612bff9cf7e 100644
--- a/sw/source/core/text/itrcrsr.cxx
+++ b/sw/source/core/text/itrcrsr.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: itrcrsr.cxx,v $
*
- * $Revision: 1.13 $
+ * $Revision: 1.14 $
*
- * last change: $Author: ama $ $Date: 2000-12-18 09:59:53 $
+ * last change: $Author: ama $ $Date: 2000-12-21 14:17:09 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -513,11 +513,25 @@ sal_Bool SwTxtCursor::GetCharRect( SwRect* pOrig, const xub_StrLen nOfst,
Next();
sal_Bool bSpaceChg = ((SwMultiPortion*)pPor)->
ChgSpaceAdd( pCurr, nSpaceAdd );
+ Point aOldPos = pOrig->Pos();
bRet = GetCharRect( pOrig, nOfst, pCMS, nMax );
- pOrig->Pos().X() += nX;
- if( ((SwMultiPortion*)pPor)->HasBrackets() )
- pOrig->Pos().X() +=
- ((SwDoubleLinePortion*)pPor)->PreWidth();
+ if( ((SwMultiPortion*)pPor)->GetRotation() )
+ {
+ long nTmp = pOrig->Width();
+ pOrig->Width( pOrig->Height() );
+ pOrig->Height( nTmp );
+ nTmp = pOrig->Left() - aOldPos.X();
+ pOrig->Pos().X() = nX + aOldPos.X();
+ pOrig->Pos().Y() = aOldPos.Y() + nTmpAscent
+ + pPor->Height() - pPor->GetAscent() - nTmp;
+ }
+ else
+ {
+ pOrig->Pos().X() += nX;
+ if( ((SwMultiPortion*)pPor)->HasBrackets() )
+ pOrig->Pos().X() +=
+ ((SwDoubleLinePortion*)pPor)->PreWidth();
+ }
if( bSpaceChg )
SwDoubleLinePortion::ResetSpaceAdd( pCurr );
pCurr = pOldCurr;