summaryrefslogtreecommitdiff
path: root/svx/source/outliner
diff options
context:
space:
mode:
authorVladimir Glazounov <vg@openoffice.org>2008-08-19 22:01:55 +0000
committerVladimir Glazounov <vg@openoffice.org>2008-08-19 22:01:55 +0000
commite394881955837b65b072565e481a21ac310de0b4 (patch)
tree13a6e499d34b4466373edaa16f10f051fa7acccf /svx/source/outliner
parentae50ff7dc36c57f617bb827423ab7b8b21951794 (diff)
INTEGRATION: CWS aw033 (1.10.16); FILE MERGED
2008/08/19 15:55:48 cl 1.10.16.11: RESYNC: (1.17-1.18); FILE MERGED 2008/06/25 12:28:04 aw 1.10.16.10: RESYNC: (1.16-1.17); FILE MERGED 2008/05/14 13:59:30 aw 1.10.16.9: RESYNC: (1.15-1.16); FILE MERGED 2007/09/27 16:05:52 aw 1.10.16.8: #i39532# bullet extensions 2007/09/26 11:38:43 aw 1.10.16.7: #i73860# text decomposition extrended 2007/08/09 18:43:52 aw 1.10.16.6: RESYNC: (1.14-1.15); FILE MERGED 2007/08/02 11:46:43 aw 1.10.16.5: #i39532# added support for Metafile comment actions over MetaFile VCLprimitive renderer 2006/11/28 19:22:18 aw 1.10.16.4: RESYNC: (1.13-1.14); FILE MERGED 2006/09/26 19:17:16 aw 1.10.16.3: RESYNC: (1.11-1.13); FILE MERGED 2006/05/12 16:00:30 aw 1.10.16.2: RESYNC: (1.10-1.11); FILE MERGED 2006/05/12 12:46:21 aw 1.10.16.1: code changes for primitive support
Diffstat (limited to 'svx/source/outliner')
-rw-r--r--svx/source/outliner/outleeng.cxx48
1 files changed, 38 insertions, 10 deletions
diff --git a/svx/source/outliner/outleeng.cxx b/svx/source/outliner/outleeng.cxx
index 87ab99b97e..5dad2e60b2 100644
--- a/svx/source/outliner/outleeng.cxx
+++ b/svx/source/outliner/outleeng.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: outleeng.cxx,v $
- * $Revision: 1.18 $
+ * $Revision: 1.19 $
*
* This file is part of OpenOffice.org.
*
@@ -59,6 +59,7 @@ void OutlinerEditEng::PaintingFirstLine( USHORT nPara, const Point& rStartPos, l
PaintFirstLineInfo aInfo( nPara, rStartPos, nBaseLineY, rOrigin, nOrientation, pOutDev );
pOwner->maPaintFirstLineHdl.Call( &aInfo );
}
+
pOwner->PaintBullet( nPara, rStartPos, rOrigin, nOrientation, pOutDev );
}
@@ -154,22 +155,49 @@ XubString OutlinerEditEng::GetUndoComment( USHORT nUndoId ) const
}
// #101498#
-void OutlinerEditEng::DrawingText( const Point& rStartPos, const XubString& rText, USHORT nTextStart, USHORT nTextLen, const sal_Int32* pDXArray, const SvxFont& rFont, USHORT nPara, USHORT nIndex, BYTE nRightToLeft)
-{
- if ( nIndex == 0 )
+void OutlinerEditEng::DrawingText( const Point& rStartPos, const XubString& rText, USHORT nTextStart, USHORT nTextLen,
+ const sal_Int32* pDXArray, const SvxFont& rFont, USHORT nPara, USHORT nIndex, BYTE nRightToLeft,
+ const EEngineData::WrongSpellVector* pWrongSpellVector,
+ const SvxFieldData* pFieldData,
+ bool bEndOfLine,
+ bool bEndOfParagraph,
+ bool bEndOfBullet,
+ const ::com::sun::star::lang::Locale* pLocale,
+ const Color& rTextLineColor)
+{
+ // why do bullet here at all? Just use GetEditEnginePtr()->PaintingFirstLine
+ // inside of ImpEditEngine::Paint which calls pOwner->PaintBullet with the correct
+ // values for hor and ver. No change for not-layouting (painting).
+ // changed, bullet rendering now using PaintBullet via
+/* if ( nIndex == 0 )
{
// Dann das Bullet 'malen', dort wird bStrippingPortions ausgewertet
// und Outliner::DrawingText gerufen
// DrawingText liefert die BaseLine, DrawBullet braucht Top().
- Point aCorrectedPos( rStartPos );
- aCorrectedPos.Y() = GetDocPosTopLeft( nPara ).Y();
- aCorrectedPos.Y() += GetFirstLineOffset( nPara );
- pOwner->PaintBullet( nPara, aCorrectedPos, Point(), 0, GetRefDevice() );
- }
+
+ if(true)
+ {
+ // ##
+ // another error: This call happens when only stripping, but the position
+ // is already aligned to text output. For bullet rendering, it needs to be reset
+ // to the correct value in x and y. PaintBullet takes care of X-start offset itself
+ const Point aDocPosTopLeft(GetDocPosTopLeft( nPara ));
+ const Point aCorrectedPos(rStartPos.X() - aDocPosTopLeft.X(), aDocPosTopLeft.Y() + GetFirstLineOffset( nPara ));
+ pOwner->PaintBullet( nPara, aCorrectedPos, Point(), 0, GetRefDevice() );
+ }
+ else
+ {
+ Point aCorrectedPos( rStartPos );
+ aCorrectedPos.Y() = GetDocPosTopLeft( nPara ).Y();
+ aCorrectedPos.Y() += GetFirstLineOffset( nPara );
+ pOwner->PaintBullet( nPara, aCorrectedPos, Point(), 0, GetRefDevice() );
+ }
+ } */
// #101498#
- pOwner->DrawingText(rStartPos,rText,nTextStart,nTextLen,pDXArray,rFont,nPara,nIndex,nRightToLeft);
+ pOwner->DrawingText(rStartPos,rText,nTextStart,nTextLen,pDXArray,rFont,nPara,nIndex,nRightToLeft,
+ pWrongSpellVector, pFieldData, bEndOfLine, bEndOfParagraph, bEndOfBullet, pLocale, rTextLineColor);
}
void OutlinerEditEng::FieldClicked( const SvxFieldItem& rField, USHORT nPara, USHORT nPos )