[Libreoffice-commits] .: binfilter/bf_sw
Caolán McNamara
caolan at kemper.freedesktop.org
Fri Sep 23 06:03:24 PDT 2011
binfilter/bf_sw/source/core/inc/drawfont.hxx | 5
binfilter/bf_sw/source/core/layout/sw_flycnt.cxx | 5
binfilter/bf_sw/source/core/text/inftxt.hxx | 9
binfilter/bf_sw/source/core/text/sw_frmform.cxx | 2
binfilter/bf_sw/source/core/text/sw_porlay.cxx | 114 -------
binfilter/bf_sw/source/core/text/sw_pormulti.cxx | 373 -----------------------
6 files changed, 508 deletions(-)
New commits:
commit 21eb5cb817082d46491cea84fd3b82a3931a6a52
Author: Caolán McNamara <caolanm at redhat.com>
Date: Fri Sep 23 13:51:08 2011 +0100
callcatcher: remove newly unused methods
diff --git a/binfilter/bf_sw/source/core/inc/drawfont.hxx b/binfilter/bf_sw/source/core/inc/drawfont.hxx
index bf5cbfb..4274542 100644
--- a/binfilter/bf_sw/source/core/inc/drawfont.hxx
+++ b/binfilter/bf_sw/source/core/inc/drawfont.hxx
@@ -163,11 +163,6 @@ public:
// examines the range [ nStart, nStart + nEnd ] if there are kanas
// returns start index of kana entry in array, otherwise USHRT_MAX
USHORT HasKana( xub_StrLen nStart, const xub_StrLen nEnd ) const;
-
- // modifies the kerning array according to a given compress value
- long Compress( sal_Int32* pKernArray, xub_StrLen nIdx, xub_StrLen nLen,
- const USHORT nCompress, const USHORT nFontHeight,
- Point* pPoint = NULL ) const;
};
inline void SwScriptInfo::SetInvalidity( const xub_StrLen nPos )
diff --git a/binfilter/bf_sw/source/core/layout/sw_flycnt.cxx b/binfilter/bf_sw/source/core/layout/sw_flycnt.cxx
index 568ee53..3cc2395 100644
--- a/binfilter/bf_sw/source/core/layout/sw_flycnt.cxx
+++ b/binfilter/bf_sw/source/core/layout/sw_flycnt.cxx
@@ -249,11 +249,6 @@ namespace binfilter {
/*?*/ SwOszControl::pStk5 = 0;
/*N*/ }
-/*N*/ bool IsInProgress( const SwFlyFrm* /*pFly*/ )
-/*N*/ {
- DBG_BF_ASSERT(0, "STRIP"); return FALSE;
-/*N*/ }
-
/*N*/ bool SwOszControl::IsInProgress( const SwFlyFrm *pFly )
/*N*/ {
/*N*/ if ( SwOszControl::pStk1 && !pFly->IsLowerOf( SwOszControl::pStk1 ) )
diff --git a/binfilter/bf_sw/source/core/text/inftxt.hxx b/binfilter/bf_sw/source/core/text/inftxt.hxx
index 4d9f9be..cb38c31 100644
--- a/binfilter/bf_sw/source/core/text/inftxt.hxx
+++ b/binfilter/bf_sw/source/core/text/inftxt.hxx
@@ -232,15 +232,6 @@ public:
const xub_StrLen _nLen = STRING_LEN )
{ CtorInit( _pFrm, _pFnt, _nIdx, _nLen ); }
- // GetMultiAttr returns the text attribute of the multiportion,
- // if rPos is inside any multi-line part.
- // rPos will set to the end of the multi-line part.
-#ifdef BIDI
- SwMultiCreator* GetMultiCreator( xub_StrLen &rPos, SwMultiPortion* pM ) const;
-#else
- SwMultiCreator* GetMultiCreator( xub_StrLen &rPos ) const;
-#endif
-
inline sal_Bool OnWin() const { return bOnWin; }
inline void SetOnWin( const sal_Bool bNew ) { bOnWin = bNew; }
inline sal_Bool NotEOL() const { return bNotEOL; }
diff --git a/binfilter/bf_sw/source/core/text/sw_frmform.cxx b/binfilter/bf_sw/source/core/text/sw_frmform.cxx
index 0ef23bd..09a5171 100644
--- a/binfilter/bf_sw/source/core/text/sw_frmform.cxx
+++ b/binfilter/bf_sw/source/core/text/sw_frmform.cxx
@@ -56,8 +56,6 @@
namespace binfilter {
-extern bool IsInProgress( const SwFlyFrm *pFly );
-
class FormatLevel
{
static MSHORT nLevel;
diff --git a/binfilter/bf_sw/source/core/text/sw_porlay.cxx b/binfilter/bf_sw/source/core/text/sw_porlay.cxx
index cf78792..a6eb583 100644
--- a/binfilter/bf_sw/source/core/text/sw_porlay.cxx
+++ b/binfilter/bf_sw/source/core/text/sw_porlay.cxx
@@ -915,120 +915,6 @@ SwLinePortion *SwLineLayout::Insert( SwLinePortion *pIns )
/*N*/ }
/*************************************************************************
- * SwScriptInfo::Compress()
- *************************************************************************/
-
-/*N*/ long SwScriptInfo::Compress( sal_Int32* pKernArray, xub_StrLen nIdx, xub_StrLen nLen,
-/*N*/ const USHORT nCompress, const USHORT nFontHeight,
-/*N*/ Point* pPoint ) const
-/*N*/ {
-/*N*/ OSL_ENSURE( nCompress, "Compression without compression?!" );
-/*N*/ OSL_ENSURE( nLen, "Compression without text?!" );
-/*N*/ USHORT nCompCount = CountCompChg();
-/*N*/
-/*N*/ // In asian typography, there are full width and half width characters.
-/*N*/ // Full width punctuation characters can be compressed by 50 %
-/*N*/ // to determine this, we compare the font width with 75 % of its height
-/*N*/ USHORT nMinWidth = ( 3 * nFontHeight ) / 4;
-/*N*/
-/*N*/ USHORT nCompIdx = HasKana( nIdx, nLen );
-/*N*/
-/*N*/ if ( USHRT_MAX == nCompIdx )
-/*N*/ return 0;
-/*N*/
-/*N*/ xub_StrLen nChg = GetCompStart( nCompIdx );
-/*N*/ xub_StrLen nCompLen = GetCompLen( nCompIdx );
-/*N*/ USHORT nI = 0;
-/*N*/ nLen += nIdx;
-/*N*/
-/*N*/ if( nChg > nIdx )
-/*N*/ {
-/*N*/ nI = nChg - nIdx;
-/*N*/ nIdx = nChg;
-/*N*/ }
-/*N*/ else if( nIdx < nChg + nCompLen )
-/*N*/ nCompLen -= nIdx - nChg;
-/*N*/
-/*N*/ if( nIdx > nLen || nCompIdx >= nCompCount )
-/*N*/ return 0;
-/*N*/
-/*N*/ long nSub = 0;
-/*N*/ long nLast = nI ? pKernArray[ nI - 1 ] : 0;
-/*N*/ do
-/*N*/ {
-/*N*/ USHORT nType = GetCompType( nCompIdx );
-/*N*/ OSL_ENSURE( nType == CompType( nIdx ), "Gimme the right type!" );
-/*N*/ nCompLen += nIdx;
-/*N*/ if( nCompLen > nLen )
-/*N*/ nCompLen = nLen;
-/*N*/
-/*N*/ // are we allowed to compress the character?
-/*N*/ if ( pKernArray[ nI ] - nLast < nMinWidth )
-/*N*/ {
-/*N*/ nIdx++; nI++;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ while( nIdx < nCompLen )
-/*N*/ {
-/*N*/ OSL_ENSURE( SwScriptInfo::NONE != nType, "None compression?!" );
-/*N*/
-/*N*/ // nLast is width of current character
-/*N*/ nLast -= pKernArray[ nI ];
-/*N*/
-/*N*/ nLast *= nCompress;
-/*N*/ long nMove = 0;
-/*N*/ if( SwScriptInfo::KANA != nType )
-/*N*/ {
-/*N*/ nLast /= 20000;
-/*N*/ if( pPoint && SwScriptInfo::SPECIAL_LEFT == nType )
-/*N*/ {
-/*N*/ if( nI )
-/*N*/ nMove = nLast;
-/*N*/ else
-/*N*/ {
-/*N*/ pPoint->X() += nLast;
-/*N*/ nLast = 0;
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ nLast /= 100000;
-/*N*/ nSub -= nLast;
-/*N*/ nLast = pKernArray[ nI ];
-/*N*/ if( nMove )
-/*N*/ pKernArray[ nI - 1 ] += nMove;
-/*N*/ pKernArray[ nI++ ] -= nSub;
-/*N*/ ++nIdx;
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ if( nIdx < nLen )
-/*N*/ {
-/*N*/ xub_StrLen nChg1;
-/*N*/ if( ++nCompIdx < nCompCount )
-/*N*/ {
-/*N*/ nChg1 = GetCompStart( nCompIdx );
-/*N*/ if( nChg1 > nLen )
-/*N*/ nChg1 = nLen;
-/*N*/ nCompLen = GetCompLen( nCompIdx );
-/*N*/ }
-/*N*/ else
-/*N*/ nChg1 = nLen;
-/*N*/ while( nIdx < nChg1 )
-/*N*/ {
-/*N*/ nLast = pKernArray[ nI ];
-/*N*/ pKernArray[ nI++ ] -= nSub;
-/*N*/ ++nIdx;
-/*N*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ break;
-/*N*/ } while( nIdx < nLen );
-/*N*/ return nSub;
-/*N*/ }
-
-/*************************************************************************
* class SwParaPortion
*************************************************************************/
diff --git a/binfilter/bf_sw/source/core/text/sw_pormulti.cxx b/binfilter/bf_sw/source/core/text/sw_pormulti.cxx
index c2dc44b..0df5771 100644
--- a/binfilter/bf_sw/source/core/text/sw_pormulti.cxx
+++ b/binfilter/bf_sw/source/core/text/sw_pormulti.cxx
@@ -160,379 +160,6 @@ extern BYTE WhichFont( xub_StrLen nIdx, const String* pTxt,
/*N*/ return sal_False;
/*N*/ }
-/*N*/ #ifdef BIDI
-/*N*/ SwMultiCreator* SwTxtSizeInfo::GetMultiCreator( xub_StrLen &rPos,
-/*N*/ SwMultiPortion* pMulti ) const
-/*N*/ #else
-/*N*/ SwMultiCreator* SwTxtSizeInfo::GetMultiCreator( xub_StrLen &rPos ) const
-/*N*/ #endif
-/*N*/ {
-/*N*/ #ifdef BIDI
-/*N*/ SwScriptInfo& rSI = ((SwParaPortion*)GetParaPortion())->GetScriptInfo();
-/*N*/
-/*N*/ // get the last embedding level
-/*N*/ BYTE nCurrLevel;
-/*N*/ if ( !pMulti )
-/*N*/ // no nested bidi portion required
-/*N*/ nCurrLevel = GetTxtFrm()->IsRightToLeft() ? 1 : 0;
-/*N*/
-/*N*/ // check if there is a field at rPos:
-/*N*/ BYTE nNextLevel = nCurrLevel;
-/*N*/ sal_Bool bFldBidi = sal_False;
-/*N*/
-/*N*/ if ( CH_TXTATR_BREAKWORD == GetChar( rPos ) )
- bFldBidi = sal_True;
-/*N*/ else
-/*N*/ nNextLevel = rSI.DirType( rPos );
-/*N*/
-/*N*/ if ( GetTxt().Len() != rPos && nNextLevel > nCurrLevel )
-/*N*/ {
-/*?*/ rPos = bFldBidi ? rPos + 1 : rSI.NextDirChg( rPos, &nCurrLevel );
-/*?*/ if ( STRING_LEN == rPos )
-/*?*/ return NULL;
-/*?*/ SwMultiCreator *pRet = new SwMultiCreator;
-/*?*/ pRet->pItem = NULL;
-/*?*/ pRet->pAttr = NULL;
-/*?*/ pRet->nId = SW_MC_BIDI;
-/*?*/ pRet->nLevel = nCurrLevel + 1;
-/*?*/ return pRet;
-/*N*/ }
-/*N*/
-/*N*/ // a bidi portion can only contain other bidi portions
-/*N*/ if ( pMulti )
-/*N*/ return NULL;
-/*N*/ #endif
-/*N*/
-/*N*/ const SvxCharRotateItem* pRotate = NULL;
-/*N*/ const SfxPoolItem* pRotItem;
-/*N*/ if( SFX_ITEM_SET == pFrm->GetTxtNode()->GetSwAttrSet().
-/*N*/ GetItemState( RES_CHRATR_ROTATE, TRUE, &pRotItem ) &&
-/*N*/ ((SvxCharRotateItem*)pRotItem)->GetValue() )
-/*?*/ pRotate = (SvxCharRotateItem*)pRotItem;
-/*N*/ else
-/*N*/ pRotItem = NULL;
-/*N*/ const SvxTwoLinesItem* p2Lines = NULL;
-/*N*/ const SfxPoolItem* pItem;
-/*N*/ if( SFX_ITEM_SET == pFrm->GetTxtNode()->GetSwAttrSet().
-/*N*/ GetItemState( RES_CHRATR_TWO_LINES, TRUE, &pItem ) &&
-/*N*/ ((SvxTwoLinesItem*)pItem)->GetValue() )
-/*N*/ p2Lines = (SvxTwoLinesItem*)pItem;
-/*N*/ else
-/*N*/ pItem = NULL;
-/*N*/
-/*N*/ const SwpHints *pHints = pFrm->GetTxtNode()->GetpSwpHints();
-/*N*/ if( !pHints && !p2Lines && !pRotate )
-/*N*/ return NULL;
-/*N*/ const SwTxtAttr *pRuby = NULL;
-/*N*/ sal_Bool bTwo = sal_False;
-/*N*/ sal_Bool bRot = sal_False;
-/*N*/ USHORT n2Lines = USHRT_MAX;
-/*N*/ USHORT nRotate = USHRT_MAX;
-/*N*/ USHORT nCount = pHints ? pHints->Count() : 0;
-/*N*/ USHORT i;
-/*N*/ for( i = 0; i < nCount; ++i )
-/*N*/ {
-/*N*/ const SwTxtAttr *pTmp = (*pHints)[i];
-/*N*/ xub_StrLen nStart = *pTmp->GetStart();
-/*N*/ if( rPos < nStart )
-/*N*/ break;
-/*N*/ if( *pTmp->GetAnyEnd() > rPos )
-/*N*/ {
-/*N*/ if( RES_TXTATR_CJK_RUBY == pTmp->Which() )
-/*N*/ pRuby = pTmp;
-/*N*/ else
-/*N*/ {
-/*N*/ const SvxCharRotateItem* pRoTmp = NULL;
-/*N*/ if( lcl_HasRotation( *pTmp, pRoTmp, bRot ) )
-/*N*/ {
-/*N*/ nRotate = bRot ? i : nCount;
-/*N*/ pRotate = pRoTmp;
-/*N*/ }
-/*N*/ const SvxTwoLinesItem* p2Tmp = NULL;
-/*N*/ if( lcl_Has2Lines( *pTmp, p2Tmp, bTwo ) )
-/*N*/ {
-/*N*/ n2Lines = bTwo ? i : nCount;
-/*N*/ p2Lines = p2Tmp;
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ if( pRuby )
-/*N*/ { // The winner is ... a ruby attribute and so
-/*N*/ // the end of the multiportion is the end of the ruby attribute.
-/*?*/ rPos = *pRuby->GetEnd();
-/*?*/ SwMultiCreator *pRet = new SwMultiCreator;
-/*?*/ pRet->pItem = NULL;
-/*?*/ pRet->pAttr = pRuby;
-/*?*/ pRet->nId = SW_MC_RUBY;
-/*?*/ #ifdef BIDI
-/*?*/ pRet->nLevel = GetTxtFrm()->IsRightToLeft() ? 1 : 0;
-/*?*/ #endif
-/*?*/ return pRet;
-/*N*/ }
-/*N*/ if( n2Lines < nCount || ( pItem && pItem == p2Lines &&
-/*N*/ rPos < GetTxt().Len() ) )
-/*N*/ { // The winner is a 2-line-attribute,
-/*?*/ // the end of the multiportion depends on the following attributes...
-/*?*/ SwMultiCreator *pRet = new SwMultiCreator;
-/*?*/
-/*?*/ // We note the endpositions of the 2-line attributes in aEnd as stack
-/*?*/ SvXub_StrLens aEnd;
-/*?*/
-/*?*/ // The bOn flag signs the state of the last 2-line attribute in the
-/*?*/ // aEnd-stack, it is compatible with the winner-attribute or
-/*?*/ // it interrupts the other attribute.
-/*?*/ sal_Bool bOn = sal_True;
-/*?*/
-/*?*/ if( n2Lines < nCount )
-/*?*/ {
-/*?*/ pRet->pItem = NULL;
-/*?*/ pRet->pAttr = (*pHints)[n2Lines];
-/*?*/ aEnd.Insert( *pRet->pAttr->GetEnd(), 0 );
-/*?*/ if( pItem )
-/*?*/ {
-/*?*/ aEnd[ 0 ] = GetTxt().Len();
-/*?*/ bOn = ((SvxTwoLinesItem*)pItem)->GetEndBracket() ==
-/*?*/ p2Lines->GetEndBracket() &&
-/*?*/ ((SvxTwoLinesItem*)pItem)->GetStartBracket() ==
-/*?*/ p2Lines->GetStartBracket();
-/*?*/ }
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ pRet->pItem = pItem;
-/*?*/ pRet->pAttr = NULL;
-/*?*/ aEnd.Insert( GetTxt().Len(), 0 );
-/*?*/ }
-/*?*/ pRet->nId = SW_MC_DOUBLE;
-/*?*/ #ifdef BIDI
-/*?*/ pRet->nLevel = GetTxtFrm()->IsRightToLeft() ? 1 : 0;
-/*?*/ #endif
-/*?*/
-/*?*/ // n2Lines is the index of the last 2-line-attribute, which contains
-/*?*/ // the actual position.
-/*?*/ i = 0;
-/*?*/ // At this moment we know that at position rPos the "winner"-attribute
-/*?*/ // causes a 2-line-portion. The end of the attribute is the end of the
-/*?*/ // portion, if there's no interrupting attribute.
-/*?*/ // There are two kinds of interruptors:
-/*?*/ // - ruby attributes stops the 2-line-attribute, the end of the
-/*?*/ // multiline is the start of the ruby attribute
-/*?*/ // - 2-line-attributes with value "Off" or with different brackets,
-/*?*/ // these attributes may interrupt the winner, but they could be
-/*?*/ // neutralized by another 2-line-attribute starting at the same
-/*?*/ // position with the same brackets as the winner-attribute.
-/*?*/
-/*?*/ // In the following loop rPos is the critical position and it will be
-/*?*/ // evaluated, if at rPos starts a interrupting or a maintaining
-/*?*/ // continuity attribute.
-/*?*/ while( i < nCount )
-/*?*/ {
-/*?*/ const SwTxtAttr *pTmp = (*pHints)[i++];
-/*?*/ if( *pTmp->GetAnyEnd() <= rPos )
-/*?*/ continue;
-/*?*/ if( rPos < *pTmp->GetStart() )
-/*?*/ {
-/*?*/ // If bOn is FALSE and the next attribute starts later than rPos
-/*?*/ // the winner attribute is interrupted at rPos.
-/*?*/ // If the start of the next atribute is behind the end of
-/*?*/ // the last attribute on the aEnd-stack, this is the endposition
-/*?*/ // on the stack is the end of the 2-line portion.
-/*?*/ if( !bOn || aEnd[ aEnd.Count()-1 ] < *pTmp->GetStart() )
-/*?*/ break;
-/*?*/ // At this moment, bOn is TRUE and the next attribute starts
-/*?*/ // behind rPos, so we could move rPos to the next startpoint
-/*?*/ rPos = *pTmp->GetStart();
-/*?*/ // We clean up the aEnd-stack, endpositions equal to rPos are
-/*?*/ // superfluous.
-/*?*/ while( aEnd.Count() && aEnd[ aEnd.Count()-1 ] <= rPos )
-/*?*/ {
-/*?*/ bOn = !bOn;
-/*?*/ aEnd.Remove( aEnd.Count()-1, 1 );
-/*?*/ }
-/*?*/ // If the endstack is empty, we simulate an attribute with
-/*?*/ // state TRUE and endposition rPos
-/*?*/ if( !aEnd.Count() )
-/*?*/ {
-/*?*/ aEnd.Insert( rPos, 0 );
-/*?*/ bOn = sal_True;
-/*?*/ }
-/*?*/ }
-/*?*/ // A ruby attribute stops the 2-line immediately
-/*?*/ if( RES_TXTATR_CJK_RUBY == pTmp->Which() )
-/*?*/ return pRet;
-/*?*/ if( lcl_Has2Lines( *pTmp, p2Lines, bTwo ) )
-/*?*/ { // We have an interesting attribute..
-/*?*/ if( bTwo == bOn )
-/*?*/ { // .. with the same state, so the last attribute could
-/*?*/ // be continued.
-/*?*/ if( aEnd[ aEnd.Count()-1 ] < *pTmp->GetEnd() )
-/*?*/ aEnd[ aEnd.Count()-1 ] = *pTmp->GetEnd();
-/*?*/ }
-/*?*/ else
-/*?*/ { // .. with a different state.
-/*?*/ bOn = bTwo;
-/*?*/ // If this is smaller than the last on the stack, we put
-/*?*/ // it on the stack. If it has the same endposition, the last
-/*?*/ // could be removed.
-/*?*/ if( aEnd[ aEnd.Count()-1 ] > *pTmp->GetEnd() )
-/*?*/ aEnd.Insert( *pTmp->GetEnd(), aEnd.Count() );
-/*?*/ else if( aEnd.Count() > 1 )
-/*?*/ aEnd.Remove( aEnd.Count()-1, 1 );
-/*?*/ else
-/*?*/ aEnd[ aEnd.Count()-1 ] = *pTmp->GetEnd();
-/*?*/ }
-/*?*/ }
-/*?*/ }
-/*?*/ if( bOn && aEnd.Count() )
-/*?*/ rPos = aEnd[ aEnd.Count()-1 ];
-/*?*/ return pRet;
-/*N*/ }
-/*N*/ if( nRotate < nCount || ( pRotItem && pRotItem == pRotate &&
-/*N*/ rPos < GetTxt().Len() ) )
-/*N*/ { // The winner is a rotate-attribute,
-/*?*/ // the end of the multiportion depends on the following attributes...
-/*?*/ SwMultiCreator *pRet = new SwMultiCreator;
-/*?*/ pRet->nId = SW_MC_ROTATE;
-/*?*/
-/*?*/ // We note the endpositions of the 2-line attributes in aEnd as stack
-/*?*/ SvXub_StrLens aEnd;
-/*?*/
-/*?*/ // The bOn flag signs the state of the last 2-line attribute in the
-/*?*/ // aEnd-stack, which could interrupts the winning rotation attribute.
-/*?*/ sal_Bool bOn = pItem ? sal_True : sal_False;
-/*?*/ aEnd.Insert( GetTxt().Len(), 0 );
-/*?*/ // n2Lines is the index of the last 2-line-attribute, which contains
-/*?*/ // the actual position.
-/*?*/ i = 0;
-/*?*/ xub_StrLen n2Start = rPos;
-/*?*/ while( i < nCount )
-/*?*/ {
-/*?*/ const SwTxtAttr *pTmp = (*pHints)[i++];
-/*?*/ if( *pTmp->GetAnyEnd() <= n2Start )
-/*?*/ continue;
-/*?*/ if( n2Start < *pTmp->GetStart() )
-/*?*/ {
-/*?*/ if( bOn || aEnd[ aEnd.Count()-1 ] < *pTmp->GetStart() )
-/*?*/ break;
-/*?*/ n2Start = *pTmp->GetStart();
-/*?*/ while( aEnd.Count() && aEnd[ aEnd.Count()-1 ] <= n2Start )
-/*?*/ {
-/*?*/ bOn = !bOn;
-/*?*/ aEnd.Remove( aEnd.Count()-1, 1 );
-/*?*/ }
-/*?*/ if( !aEnd.Count() )
-/*?*/ {
-/*?*/ aEnd.Insert( n2Start, 0 );
-/*?*/ bOn = sal_False;
-/*?*/ }
-/*?*/ }
-/*?*/ // A ruby attribute stops immediately
-/*?*/ if( RES_TXTATR_CJK_RUBY == pTmp->Which() )
-/*?*/ {
-/*?*/ bOn = sal_True;
-/*?*/ break;
-/*?*/ }
-/*?*/ p2Lines = NULL;
-/*?*/ if( lcl_Has2Lines( *pTmp, p2Lines, bTwo ) )
-/*?*/ {
-/*?*/ if( bTwo == bOn )
-/*?*/ {
-/*?*/ if( aEnd[ aEnd.Count()-1 ] < *pTmp->GetEnd() )
-/*?*/ aEnd[ aEnd.Count()-1 ] = *pTmp->GetEnd();
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ bOn = bTwo;
-/*?*/ if( aEnd[ aEnd.Count()-1 ] > *pTmp->GetEnd() )
-/*?*/ aEnd.Insert( *pTmp->GetEnd(), aEnd.Count() );
-/*?*/ else if( aEnd.Count() > 1 )
-/*?*/ aEnd.Remove( aEnd.Count()-1, 1 );
-/*?*/ else
-/*?*/ aEnd[ aEnd.Count()-1 ] = *pTmp->GetEnd();
-/*?*/ }
-/*?*/ }
-/*?*/ }
-/*?*/ if( !bOn && aEnd.Count() )
-/*?*/ n2Start = aEnd[ aEnd.Count()-1 ];
-/*?*/
-/*?*/ if( aEnd.Count() )
-/*?*/ aEnd.Remove( 0, aEnd.Count() );
-/*?*/
-/*?*/ bOn = sal_True;
-/*?*/ if( nRotate < nCount )
-/*?*/ {
-/*?*/ pRet->pItem = NULL;
-/*?*/ pRet->pAttr = (*pHints)[nRotate];
-/*?*/ aEnd.Insert( *pRet->pAttr->GetEnd(), 0 );
-/*?*/ if( pRotItem )
-/*?*/ {
-/*?*/ aEnd[ 0 ] = GetTxt().Len();
-/*?*/ bOn = ((SvxCharRotateItem*)pRotItem)->GetValue() ==
-/*?*/ pRotate->GetValue();
-/*?*/ }
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ pRet->pItem = pRotItem;
-/*?*/ pRet->pAttr = NULL;
-/*?*/ aEnd.Insert( GetTxt().Len(), 0 );
-/*?*/ }
-/*?*/ i = 0;
-/*?*/ while( i < nCount )
-/*?*/ {
-/*?*/ const SwTxtAttr *pTmp = (*pHints)[i++];
-/*?*/ if( *pTmp->GetAnyEnd() <= rPos )
-/*?*/ continue;
-/*?*/ if( rPos < *pTmp->GetStart() )
-/*?*/ {
-/*?*/ if( !bOn || aEnd[ aEnd.Count()-1 ] < *pTmp->GetStart() )
-/*?*/ break;
-/*?*/ rPos = *pTmp->GetStart();
-/*?*/ while( aEnd.Count() && aEnd[ aEnd.Count()-1 ] <= rPos )
-/*?*/ {
-/*?*/ bOn = !bOn;
-/*?*/ aEnd.Remove( aEnd.Count()-1, 1 );
-/*?*/ }
-/*?*/ if( !aEnd.Count() )
-/*?*/ {
-/*?*/ aEnd.Insert( rPos, 0 );
-/*?*/ bOn = sal_True;
-/*?*/ }
-/*?*/ }
-/*?*/ if( RES_TXTATR_CJK_RUBY == pTmp->Which() )
-/*?*/ {
-/*?*/ bOn = sal_False;
-/*?*/ break;
-/*?*/ }
-/*?*/ if( lcl_HasRotation( *pTmp, pRotate, bTwo ) )
-/*?*/ {
-/*?*/ if( bTwo == bOn )
-/*?*/ {
-/*?*/ if( aEnd[ aEnd.Count()-1 ] < *pTmp->GetEnd() )
-/*?*/ aEnd[ aEnd.Count()-1 ] = *pTmp->GetEnd();
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ bOn = bTwo;
-/*?*/ if( aEnd[ aEnd.Count()-1 ] > *pTmp->GetEnd() )
-/*?*/ aEnd.Insert( *pTmp->GetEnd(), aEnd.Count() );
-/*?*/ else if( aEnd.Count() > 1 )
-/*?*/ aEnd.Remove( aEnd.Count()-1, 1 );
-/*?*/ else
-/*?*/ aEnd[ aEnd.Count()-1 ] = *pTmp->GetEnd();
-/*?*/ }
-/*?*/ }
-/*?*/ }
-/*?*/ if( bOn && aEnd.Count() )
-/*?*/ rPos = aEnd[ aEnd.Count()-1 ];
-/*?*/ if( rPos > n2Start )
-/*?*/ rPos = n2Start;
-/*?*/ return pRet;
-/*N*/ }
-/*N*/ return NULL;
-/*N*/ }
-
/*--------------------------------------------------
* SwTxtFormatter::MakeRestPortion(..)
* When a fieldportion at the end of line breaks and needs a following
More information about the Libreoffice-commits
mailing list