sw: prefix members of SwWW8WrGrf, WW8Export, WW8PLCF and WW8PLCF_HdFt
See tdf#94879 for motivation.
Change-Id: I86c9fd2c634b2f5422b0820dd5423008b1c0360c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131884
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
diff --git a/sw/source/filter/ww8/wrtw8esh.cxx b/sw/source/filter/ww8/wrtw8esh.cxx
index bf7be6f..d9a9043 100644
--- a/sw/source/filter/ww8/wrtw8esh.cxx
+++ b/sw/source/filter/ww8/wrtw8esh.cxx
@@ -429,7 +429,7 @@ void WW8Export::DoComboBox(const OUString &rName,
OutputField(nullptr, ww::eFORMDROPDOWN, FieldString(ww::eFORMDROPDOWN),
FieldFlags::Start | FieldFlags::CmdStart);
// write the reference to the "picture" structure
sal_uInt64 nDataStt = pDataStrm->Tell();
sal_uInt64 nDataStt = m_pDataStrm->Tell();
m_pChpPlc->AppendFkpEntry( Strm().Tell() );
WriteChar( 0x01 );
@@ -465,7 +465,7 @@ void WW8Export::DoComboBox(const OUString &rName,
aFFData.addListboxEntry(rListItems[i]);
}
aFFData.Write(pDataStrm);
aFFData.Write(m_pDataStrm);
}
void WW8Export::DoFormText(const SwInputField * pField)
@@ -473,7 +473,7 @@ void WW8Export::DoFormText(const SwInputField * pField)
OutputField(nullptr, ww::eFORMTEXT, FieldString(ww::eFORMTEXT),
FieldFlags::Start | FieldFlags::CmdStart);
// write the reference to the "picture" structure
sal_uInt64 nDataStt = pDataStrm->Tell();
sal_uInt64 nDataStt = m_pDataStrm->Tell();
m_pChpPlc->AppendFkpEntry( Strm().Tell() );
WriteChar( 0x01 );
@@ -496,7 +496,7 @@ void WW8Export::DoFormText(const SwInputField * pField)
aFFData.setName(pField->GetPar2());
aFFData.setHelp(pField->GetHelp());
aFFData.setStatus(pField->GetToolTip());
aFFData.Write(pDataStrm);
aFFData.Write(m_pDataStrm);
OutputField(nullptr, ww::eFORMTEXT, OUString(), FieldFlags::CmdEnd);
@@ -613,22 +613,22 @@ void WW8Export::MiserableRTLFrameFormatHack(SwTwips &rLeft, SwTwips &rRight,
void PlcDrawObj::WritePlc( WW8Export& rWrt ) const
{
if (8 > rWrt.pFib->m_nVersion) // Cannot export drawobject in vers 7-
if (8 > rWrt.m_pFib->m_nVersion) // Cannot export drawobject in vers 7-
return;
sal_uInt32 nFcStart = rWrt.pTableStrm->Tell();
sal_uInt32 nFcStart = rWrt.m_pTableStrm->Tell();
if (maDrawObjs.empty())
return;
// write CPs
WW8Fib& rFib = *rWrt.pFib;
WW8Fib& rFib = *rWrt.m_pFib;
WW8_CP nCpOffs = GetCpOffset(rFib);
for (const auto& rDrawObj : maDrawObjs)
SwWW8Writer::WriteLong(*rWrt.pTableStrm, rDrawObj.mnCp - nCpOffs);
SwWW8Writer::WriteLong(*rWrt.m_pTableStrm, rDrawObj.mnCp - nCpOffs);
SwWW8Writer::WriteLong(*rWrt.pTableStrm, rFib.m_ccpText + rFib.m_ccpFootnote +
SwWW8Writer::WriteLong(*rWrt.m_pTableStrm, rFib.m_ccpText + rFib.m_ccpFootnote +
rFib.m_ccpHdr + rFib.m_ccpEdn + rFib.m_ccpTxbx + rFib.m_ccpHdrTxbx + 1);
for (const auto& rDrawObj : maDrawObjs)
@@ -724,7 +724,7 @@ void PlcDrawObj::WritePlc( WW8Export& rWrt ) const
}
// spid
SwWW8Writer::WriteLong(*rWrt.pTableStrm, rDrawObj.mnShapeId);
SwWW8Writer::WriteLong(*rWrt.m_pTableStrm, rDrawObj.mnShapeId);
SwTwips nLeft = aRect.Left() + nThick;
SwTwips nRight = aRect.Right() - nThick;
@@ -776,10 +776,10 @@ void PlcDrawObj::WritePlc( WW8Export& rWrt ) const
//xaLeft/yaTop/xaRight/yaBottom - rel. to anchor
//(most of) the border is outside the graphic is word, so
//change dimensions to fit
SwWW8Writer::WriteLong(*rWrt.pTableStrm, nLeft);
SwWW8Writer::WriteLong(*rWrt.pTableStrm, nTop);
SwWW8Writer::WriteLong(*rWrt.pTableStrm, nRight);
SwWW8Writer::WriteLong(*rWrt.pTableStrm, nBottom);
SwWW8Writer::WriteLong(*rWrt.m_pTableStrm, nLeft);
SwWW8Writer::WriteLong(*rWrt.m_pTableStrm, nTop);
SwWW8Writer::WriteLong(*rWrt.m_pTableStrm, nRight);
SwWW8Writer::WriteLong(*rWrt.m_pTableStrm, nBottom);
//fHdr/bx/by/wr/wrk/fRcaSimple/fBelowText/fAnchorLock
sal_uInt16 nFlags=0;
@@ -839,13 +839,13 @@ void PlcDrawObj::WritePlc( WW8Export& rWrt ) const
if (rFrameFormat.IsInline())
nFlags |= 0x8000;
SwWW8Writer::WriteShort(*rWrt.pTableStrm, nFlags);
SwWW8Writer::WriteShort(*rWrt.m_pTableStrm, nFlags);
// cTxbx
SwWW8Writer::WriteLong(*rWrt.pTableStrm, 0);
SwWW8Writer::WriteLong(*rWrt.m_pTableStrm, 0);
}
RegisterWithFib(rFib, nFcStart, rWrt.pTableStrm->Tell() - nFcStart);
RegisterWithFib(rFib, nFcStart, rWrt.m_pTableStrm->Tell() - nFcStart);
}
void MainTextPlcDrawObj::RegisterWithFib(WW8Fib &rFib, sal_uInt32 nStart,
@@ -907,12 +907,12 @@ void DrawObj::SetShapeDetails(sal_uInt32 nId, sal_Int32 nThick)
bool WW8_WrPlcTextBoxes::WriteText( WW8Export& rWrt )
{
rWrt.m_bInWriteEscher = true;
WW8_CP& rccp=TXT_TXTBOX == nTyp ? rWrt.pFib->m_ccpTxbx : rWrt.pFib->m_ccpHdrTxbx;
WW8_CP& rccp=TXT_TXTBOX == nTyp ? rWrt.m_pFib->m_ccpTxbx : rWrt.m_pFib->m_ccpHdrTxbx;
bool bRet = WriteGenericText( rWrt, nTyp, rccp );
WW8_CP nCP = rWrt.Fc2Cp( rWrt.Strm().Tell() );
WW8Fib& rFib = *rWrt.pFib;
WW8Fib& rFib = *rWrt.m_pFib;
WW8_CP nMyOffset = rFib.m_ccpText + rFib.m_ccpFootnote + rFib.m_ccpHdr + rFib.m_ccpAtn
+ rFib.m_ccpEdn;
if( TXT_TXTBOX == nTyp )
@@ -1347,7 +1347,7 @@ void WW8Export::WriteOutliner(const OutlinerParaObject& rParaObj, sal_uInt8 nTyp
if( n )
aAttrIter.NextPara( n );
OSL_ENSURE( pO->empty(), " pO is not empty at start of line" );
OSL_ENSURE( m_pO->empty(), " pO is not empty at start of line" );
OUString aStr( rEditObj.GetText( n ));
sal_Int32 nCurrentPos = 0;
@@ -1387,8 +1387,8 @@ void WW8Export::WriteOutliner(const OutlinerParaObject& rParaObj, sal_uInt8 nTyp
}
m_pChpPlc->AppendFkpEntry( Strm().Tell(),
pO->size(), pO->data() );
pO->clear();
m_pO->size(), m_pO->data() );
m_pO->clear();
// exception: foot note at line end
if( nNextAttr == nEnd && bTextAtr )
@@ -1398,17 +1398,17 @@ void WW8Export::WriteOutliner(const OutlinerParaObject& rParaObj, sal_uInt8 nTyp
}
while( nCurrentPos < nEnd );
OSL_ENSURE( pO->empty(), " pO is not empty at start of line" );
OSL_ENSURE( m_pO->empty(), " pO is not empty at start of line" );
pO->push_back( bNul ); // Style # as short
pO->push_back( bNul );
m_pO->push_back( bNul ); // Style # as short
m_pO->push_back( bNul );
aAttrIter.OutParaAttr(false);
sal_uInt64 nPos = Strm().Tell();
m_pPapPlc->AppendFkpEntry( Strm().Tell(),
pO->size(), pO->data() );
pO->clear();
m_pO->size(), m_pO->data() );
m_pO->clear();
m_pChpPlc->AppendFkpEntry( nPos );
}
@@ -1467,13 +1467,13 @@ void WW8Export::WriteEscher()
{
if (m_pEscher)
{
sal_uInt64 nStart = pTableStrm->Tell();
sal_uInt64 nStart = m_pTableStrm->Tell();
m_pEscher->WritePictures();
m_pEscher->FinishEscher();
pFib->m_fcDggInfo = nStart;
pFib->m_lcbDggInfo = pTableStrm->Tell() - nStart;
m_pFib->m_fcDggInfo = nStart;
m_pFib->m_lcbDggInfo = m_pTableStrm->Tell() - nStart;
delete m_pEscher;
m_pEscher = nullptr;
}
@@ -2314,7 +2314,7 @@ SwEscherEx::~SwEscherEx()
void SwEscherEx::FinishEscher()
{
pEscherStrm->Seek(0);
rWrt.pTableStrm->WriteStream( *pEscherStrm );
rWrt.m_pTableStrm->WriteStream( *pEscherStrm );
delete pEscherStrm;
pEscherStrm = nullptr;
}
diff --git a/sw/source/filter/ww8/wrtw8nds.cxx b/sw/source/filter/ww8/wrtw8nds.cxx
index be8518e..5fd077a 100644
--- a/sw/source/filter/ww8/wrtw8nds.cxx
+++ b/sw/source/filter/ww8/wrtw8nds.cxx
@@ -880,7 +880,7 @@ const SfxPoolItem* SwWW8AttrIter::HasTextItem( sal_uInt16 nWhich ) const
void WW8Export::GetCurrentItems(ww::bytes &rItems) const
{
rItems.insert(rItems.end(), pO->begin(), pO->end());
rItems.insert(rItems.end(), m_pO->begin(), m_pO->end());
}
const SfxPoolItem& SwWW8AttrIter::GetItem(sal_uInt16 nWhich) const
@@ -904,7 +904,7 @@ void WW8AttributeOutput::StartRuby( const SwTextNode& rNode, sal_Int32 /*nPos*/,
aStr += rRuby.GetText() + ")";
// The parameter separator depends on the FIB.lid
if ( m_rWW8Export.pFib->getNumDecimalSep() == '.' )
if ( m_rWW8Export.m_pFib->getNumDecimalSep() == '.' )
aStr += ",";
else
aStr += ";";
@@ -1052,7 +1052,7 @@ bool WW8AttributeOutput::StartURL( const OUString &rUrl, const OUString &rTarget
m_rWW8Export.OutputField( nullptr, ww::eHYPERLINK, sURL, FieldFlags::Start | FieldFlags::CmdStart );
// write the reference to the "picture" structure
sal_uInt64 nDataStt = m_rWW8Export.pDataStrm->Tell();
sal_uInt64 nDataStt = m_rWW8Export.m_pDataStrm->Tell();
m_rWW8Export.m_pChpPlc->AppendFkpEntry( m_rWW8Export.Strm().Tell() );
// WinWord 2000 doesn't write this - so it's a temp solution by W97 ?
@@ -1097,22 +1097,22 @@ bool WW8AttributeOutput::StartURL( const OUString &rUrl, const OUString &rTarget
0x8C,0x82,0x00,0xAA,0x00,0x4B,0xA9,0x0B
};
m_rWW8Export.pDataStrm->WriteBytes(aURLData1, sizeof(aURLData1));
m_rWW8Export.m_pDataStrm->WriteBytes(aURLData1, sizeof(aURLData1));
/* Write HFD Structure */
sal_uInt8 nAnchor = 0x00;
if ( !sMark.isEmpty() )
nAnchor = 0x08;
m_rWW8Export.pDataStrm->WriteUChar(nAnchor); // HFDBits
m_rWW8Export.pDataStrm->WriteBytes(MAGIC_A, sizeof(MAGIC_A)); //clsid
m_rWW8Export.m_pDataStrm->WriteUChar(nAnchor); // HFDBits
m_rWW8Export.m_pDataStrm->WriteBytes(MAGIC_A, sizeof(MAGIC_A)); //clsid
/* Write Hyperlink Object see [MS-OSHARED] spec*/
SwWW8Writer::WriteLong( *m_rWW8Export.pDataStrm, 0x00000002);
SwWW8Writer::WriteLong( *m_rWW8Export.m_pDataStrm, 0x00000002);
sal_uInt32 nFlag = bBookMarkOnly ? 0 : 0x01;
if ( bAbsolute )
nFlag |= 0x02;
if ( !sMark.isEmpty() )
nFlag |= 0x08;
SwWW8Writer::WriteLong( *m_rWW8Export.pDataStrm, nFlag );
SwWW8Writer::WriteLong( *m_rWW8Export.m_pDataStrm, nFlag );
INetProtocol eProto = aURL.GetProtocol();
if ( eProto == INetProtocol::File || eProto == INetProtocol::Smb )
@@ -1155,16 +1155,16 @@ bool WW8AttributeOutput::StartURL( const OUString &rUrl, const OUString &rTarget
sURL = sURL.copy( sizeof(pSmb)-3 ).replaceAll( "/", "\\" );
}
m_rWW8Export.pDataStrm->WriteBytes(MAGIC_C, sizeof(MAGIC_C));
SwWW8Writer::WriteLong( *m_rWW8Export.pDataStrm, sURL.getLength()+1 );
SwWW8Writer::WriteString8( *m_rWW8Export.pDataStrm, sURL, true,
m_rWW8Export.m_pDataStrm->WriteBytes(MAGIC_C, sizeof(MAGIC_C));
SwWW8Writer::WriteLong( *m_rWW8Export.m_pDataStrm, sURL.getLength()+1 );
SwWW8Writer::WriteString8( *m_rWW8Export.m_pDataStrm, sURL, true,
RTL_TEXTENCODING_MS_1252 );
m_rWW8Export.pDataStrm->WriteBytes(MAGIC_D, sizeof(MAGIC_D));
m_rWW8Export.m_pDataStrm->WriteBytes(MAGIC_D, sizeof(MAGIC_D));
SwWW8Writer::WriteLong( *m_rWW8Export.pDataStrm, 2*sURL.getLength() + 6 );
SwWW8Writer::WriteLong( *m_rWW8Export.pDataStrm, 2*sURL.getLength() );
SwWW8Writer::WriteShort( *m_rWW8Export.pDataStrm, 3 );
SwWW8Writer::WriteString16( *m_rWW8Export.pDataStrm, sURL, false );
SwWW8Writer::WriteLong( *m_rWW8Export.m_pDataStrm, 2*sURL.getLength() + 6 );
SwWW8Writer::WriteLong( *m_rWW8Export.m_pDataStrm, 2*sURL.getLength() );
SwWW8Writer::WriteShort( *m_rWW8Export.m_pDataStrm, 3 );
SwWW8Writer::WriteString16( *m_rWW8Export.m_pDataStrm, sURL, false );
}
else if ( eProto != INetProtocol::NotValid )
{
@@ -1177,18 +1177,18 @@ bool WW8AttributeOutput::StartURL( const OUString &rUrl, const OUString &rTarget
0x8C,0x82,0x00,0xAA,0x00,0x4B,0xA9,0x0B
};
m_rWW8Export.pDataStrm->WriteBytes(MAGIC_B, sizeof(MAGIC_B));
SwWW8Writer::WriteLong( *m_rWW8Export.pDataStrm, 2 * ( sURL.getLength() + 1 ) );
SwWW8Writer::WriteString16( *m_rWW8Export.pDataStrm, sURL, true );
m_rWW8Export.m_pDataStrm->WriteBytes(MAGIC_B, sizeof(MAGIC_B));
SwWW8Writer::WriteLong( *m_rWW8Export.m_pDataStrm, 2 * ( sURL.getLength() + 1 ) );
SwWW8Writer::WriteString16( *m_rWW8Export.m_pDataStrm, sURL, true );
}
if ( !sMark.isEmpty() )
{
SwWW8Writer::WriteLong( *m_rWW8Export.pDataStrm, sMark.getLength()+1 );
SwWW8Writer::WriteString16( *m_rWW8Export.pDataStrm, sMark, true );
SwWW8Writer::WriteLong( *m_rWW8Export.m_pDataStrm, sMark.getLength()+1 );
SwWW8Writer::WriteString16( *m_rWW8Export.m_pDataStrm, sMark, true );
}
SwWW8Writer::WriteLong( *m_rWW8Export.pDataStrm, nDataStt,
m_rWW8Export.pDataStrm->Tell() - nDataStt );
SwWW8Writer::WriteLong( *m_rWW8Export.m_pDataStrm, nDataStt,
m_rWW8Export.m_pDataStrm->Tell() - nDataStt );
return true;
}
@@ -1847,13 +1847,13 @@ void WW8AttributeOutput::FormatDrop( const SwTextNode& rNode, const SwFormatDrop
SVBT16 nSty;
ShortToSVBT16( nStyle, nSty );
m_rWW8Export.pO->insert( m_rWW8Export.pO->end(), nSty, nSty+2 ); // Style #
m_rWW8Export.m_pO->insert( m_rWW8Export.m_pO->end(), nSty, nSty+2 ); // Style #
m_rWW8Export.InsUInt16( NS_sprm::PPc::val ); // Alignment (sprmPPc)
m_rWW8Export.pO->push_back( 0x20 );
m_rWW8Export.m_pO->push_back( 0x20 );
m_rWW8Export.InsUInt16( NS_sprm::PWr::val ); // Wrapping (sprmPWr)
m_rWW8Export.pO->push_back( 0x02 );
m_rWW8Export.m_pO->push_back( 0x02 );
m_rWW8Export.InsUInt16( NS_sprm::PDcs::val ); // Dropcap (sprmPDcs)
int nDCS = ( nDropLines << 3 ) | 0x01;
@@ -1879,8 +1879,8 @@ void WW8AttributeOutput::FormatDrop( const SwTextNode& rNode, const SwFormatDrop
TableInfoCell( pTextNodeInfoInner );
}
m_rWW8Export.m_pPapPlc->AppendFkpEntry( m_rWW8Export.Strm().Tell(), m_rWW8Export.pO->size(), m_rWW8Export.pO->data() );
m_rWW8Export.pO->clear();
m_rWW8Export.m_pPapPlc->AppendFkpEntry( m_rWW8Export.Strm().Tell(), m_rWW8Export.m_pO->size(), m_rWW8Export.m_pO->data() );
m_rWW8Export.m_pO->clear();
if ( rNode.GetDropSize( rFontHeight, rDropHeight, rDropDescent ) )
{
@@ -1898,8 +1898,8 @@ void WW8AttributeOutput::FormatDrop( const SwTextNode& rNode, const SwFormatDrop
m_rWW8Export.InsUInt16( static_cast< sal_uInt16 >( rFontHeight / 10 ) );
}
m_rWW8Export.m_pChpPlc->AppendFkpEntry( m_rWW8Export.Strm().Tell(), m_rWW8Export.pO->size(), m_rWW8Export.pO->data() );
m_rWW8Export.pO->clear();
m_rWW8Export.m_pChpPlc->AppendFkpEntry( m_rWW8Export.Strm().Tell(), m_rWW8Export.m_pO->size(), m_rWW8Export.m_pO->data() );
m_rWW8Export.m_pO->clear();
}
sal_Int32 MSWordExportBase::GetNextPos( SwWW8AttrIter const * aAttrIter, const SwTextNode& rNode, sal_Int32 nCurrentPos )
@@ -3375,7 +3375,7 @@ void MSWordExportBase::UpdateTocSectionNodeProperties(const SwSectionNode& rSect
void WW8Export::AppendSection( const SwPageDesc *pPageDesc, const SwSectionFormat* pFormat, sal_uLong nLnNum )
{
pSepx->AppendSep(Fc2Cp(Strm().Tell()), pPageDesc, pFormat, nLnNum);
m_pSepx->AppendSep(Fc2Cp(Strm().Tell()), pPageDesc, pFormat, nLnNum);
}
// Flys
@@ -3521,8 +3521,8 @@ void WW8AttributeOutput::Redline( const SwRedlineData* pRedline )
case RedlineType::Format:
m_rWW8Export.InsUInt16( NS_sprm::CPropRMark90::val );
m_rWW8Export.pO->push_back( 7 ); // len
m_rWW8Export.pO->push_back( 1 );
m_rWW8Export.m_pO->push_back( 7 ); // len
m_rWW8Export.m_pO->push_back( 1 );
m_rWW8Export.InsUInt16( m_rWW8Export.AddRedlineAuthor( pRedline->GetAuthor() ) );
m_rWW8Export.InsUInt32( sw::ms::DateTime2DTTM( pRedline->GetTimeStamp() ));
break;
@@ -3534,7 +3534,7 @@ void WW8AttributeOutput::Redline( const SwRedlineData* pRedline )
if ( pSprmIds )
{
m_rWW8Export.InsUInt16( pSprmIds[0] );
m_rWW8Export.pO->push_back( 1 );
m_rWW8Export.m_pO->push_back( 1 );
m_rWW8Export.InsUInt16( pSprmIds[1] );
m_rWW8Export.InsUInt16( m_rWW8Export.AddRedlineAuthor( pRedline->GetAuthor() ) );
diff --git a/sw/source/filter/ww8/wrtw8num.cxx b/sw/source/filter/ww8/wrtw8num.cxx
index e61ca56..b60d092 100644
--- a/sw/source/filter/ww8/wrtw8num.cxx
+++ b/sw/source/filter/ww8/wrtw8num.cxx
@@ -177,11 +177,11 @@ void WW8Export::WriteNumbering()
return; // no numbering is used
// list formats - LSTF
pFib->m_fcPlcfLst = pTableStrm->Tell();
pTableStrm->WriteUInt16( m_pUsedNumTable->size() );
m_pFib->m_fcPlcfLst = m_pTableStrm->Tell();
m_pTableStrm->WriteUInt16( m_pUsedNumTable->size() );
NumberingDefinitions();
// set len to FIB
pFib->m_lcbPlcfLst = pTableStrm->Tell() - pFib->m_fcPlcfLst;
m_pFib->m_lcbPlcfLst = m_pTableStrm->Tell() - m_pFib->m_fcPlcfLst;
// list formats - LVLF
AbstractNumberingDefinitions();
@@ -195,18 +195,18 @@ void WW8Export::WriteNumbering()
void WW8AttributeOutput::NumberingDefinition( sal_uInt16 nId, const SwNumRule &rRule )
{
m_rWW8Export.pTableStrm->WriteUInt32( nId );
m_rWW8Export.pTableStrm->WriteUInt32( nId );
m_rWW8Export.m_pTableStrm->WriteUInt32( nId );
m_rWW8Export.m_pTableStrm->WriteUInt32( nId );
// not associated with a Style
for ( int i = 0; i < WW8ListManager::nMaxLevel; ++i )
m_rWW8Export.pTableStrm->WriteUInt16( 0xFFF );
m_rWW8Export.m_pTableStrm->WriteUInt16( 0xFFF );
sal_uInt8 nFlags = 0;
if ( rRule.IsContinusNum() )
nFlags |= 0x1;
m_rWW8Export.pTableStrm->WriteUChar( nFlags ).WriteUChar( 0/*nDummy*/ );
m_rWW8Export.m_pTableStrm->WriteUChar( nFlags ).WriteUChar( 0/*nDummy*/ );
}
void MSWordExportBase::NumberingDefinitions()
@@ -284,11 +284,11 @@ void WW8AttributeOutput::NumberingLevel( sal_uInt8 /*nLevel*/,
)
{
// Start value
m_rWW8Export.pTableStrm->WriteUInt32( nStart );
m_rWW8Export.m_pTableStrm->WriteUInt32( nStart );
// Type
sal_uInt8 nNumId = GetLevelNFC(nNumberingType, pOutSet, WW8Export::GetNumId(nNumberingType));
m_rWW8Export.pTableStrm->WriteUChar(nNumId);
m_rWW8Export.m_pTableStrm->WriteUChar(nNumId);
// Justification
sal_uInt8 nAlign;
@@ -304,25 +304,25 @@ void WW8AttributeOutput::NumberingLevel( sal_uInt8 /*nLevel*/,
nAlign = 0;
break;
}
m_rWW8Export.pTableStrm->WriteUChar( nAlign );
m_rWW8Export.m_pTableStrm->WriteUChar( nAlign );
// Write the rgbxchNums[9], positions of placeholders for paragraph
// numbers in the text
m_rWW8Export.pTableStrm->WriteBytes(pNumLvlPos, WW8ListManager::nMaxLevel);
m_rWW8Export.m_pTableStrm->WriteBytes(pNumLvlPos, WW8ListManager::nMaxLevel);
// Type of the character between the bullet and the text
m_rWW8Export.pTableStrm->WriteUChar( nFollow );
m_rWW8Export.m_pTableStrm->WriteUChar( nFollow );
// dxaSoace/dxaIndent (Word 6 compatibility)
m_rWW8Export.pTableStrm->WriteUInt32( 0 );
m_rWW8Export.pTableStrm->WriteUInt32( 0 );
m_rWW8Export.m_pTableStrm->WriteUInt32( 0 );
m_rWW8Export.m_pTableStrm->WriteUInt32( 0 );
// cbGrpprlChpx
std::unique_ptr<ww::bytes> pCharAtrs;
if ( pOutSet )
{
std::unique_ptr<ww::bytes> pOldpO = std::move(m_rWW8Export.pO);
m_rWW8Export.pO.reset(new ww::bytes);
std::unique_ptr<ww::bytes> pOldpO = std::move(m_rWW8Export.m_pO);
m_rWW8Export.m_pO.reset(new ww::bytes);
if ( pFont )
{
sal_uInt16 nFontID = m_rWW8Export.m_aFontHelper.GetId( *pFont );
@@ -347,10 +347,10 @@ void WW8AttributeOutput::NumberingLevel( sal_uInt8 /*nLevel*/,
}
}
pCharAtrs = std::move(m_rWW8Export.pO);
m_rWW8Export.pO = std::move(pOldpO);
pCharAtrs = std::move(m_rWW8Export.m_pO);
m_rWW8Export.m_pO = std::move(pOldpO);
}
m_rWW8Export.pTableStrm->WriteUChar(sal_uInt8(pCharAtrs ? pCharAtrs->size() : 0));
m_rWW8Export.m_pTableStrm->WriteUChar(sal_uInt8(pCharAtrs ? pCharAtrs->size() : 0));
// cbGrpprlPapx
sal_uInt8 aPapSprms [] = {
@@ -358,10 +358,10 @@ void WW8AttributeOutput::NumberingLevel( sal_uInt8 /*nLevel*/,
0x60, 0x84, 0, 0, // sprmPDxaLeft1
0x15, 0xc6, 0x05, 0x00, 0x01, 0, 0, 0x06
};
m_rWW8Export.pTableStrm->WriteUChar( sal_uInt8( sizeof( aPapSprms ) ) );
m_rWW8Export.m_pTableStrm->WriteUChar( sal_uInt8( sizeof( aPapSprms ) ) );
// reserved
m_rWW8Export.pTableStrm->WriteUInt16( 0 );
m_rWW8Export.m_pTableStrm->WriteUInt16( 0 );
// pap sprms
sal_uInt8* pData = aPapSprms + 2;
@@ -371,15 +371,15 @@ void WW8AttributeOutput::NumberingLevel( sal_uInt8 /*nLevel*/,
pData += 5;
Set_UInt16( pData, nListTabPos );
m_rWW8Export.pTableStrm->WriteBytes(aPapSprms, sizeof(aPapSprms));
m_rWW8Export.m_pTableStrm->WriteBytes(aPapSprms, sizeof(aPapSprms));
// write Chpx
if (pCharAtrs && !pCharAtrs->empty())
m_rWW8Export.pTableStrm->WriteBytes(pCharAtrs->data(), pCharAtrs->size());
m_rWW8Export.m_pTableStrm->WriteBytes(pCharAtrs->data(), pCharAtrs->size());
// write the num string
m_rWW8Export.pTableStrm->WriteUInt16( rNumberingString.getLength() );
SwWW8Writer::WriteString16( *m_rWW8Export.pTableStrm, rNumberingString, false );
m_rWW8Export.m_pTableStrm->WriteUInt16( rNumberingString.getLength() );
SwWW8Writer::WriteString16( *m_rWW8Export.m_pTableStrm, rNumberingString, false );
}
void MSWordExportBase::AbstractNumberingDefinitions()
@@ -578,21 +578,21 @@ void WW8Export::OutOverrideListTab()
sal_uInt16 nCount = m_pUsedNumTable->size();
sal_uInt16 n;
pFib->m_fcPlfLfo = pTableStrm->Tell();
pTableStrm->WriteUInt32( nCount );
m_pFib->m_fcPlfLfo = m_pTableStrm->Tell();
m_pTableStrm->WriteUInt32( nCount );
// LFO ([MS-DOC] 2.9.131)
for( n = 0; n < nCount; ++n )
{
pTableStrm->WriteUInt32( n + 1 );
SwWW8Writer::FillCount( *pTableStrm, 12 );
m_pTableStrm->WriteUInt32( n + 1 );
SwWW8Writer::FillCount( *m_pTableStrm, 12 );
}
// LFOData ([MS-DOC] 2.9.132)
for( n = 0; n < nCount; ++n )
pTableStrm->WriteInt32( -1 ); // no overwrite
m_pTableStrm->WriteInt32( -1 ); // no overwrite
// set len to FIB
pFib->m_lcbPlfLfo = pTableStrm->Tell() - pFib->m_fcPlfLfo;
m_pFib->m_lcbPlfLfo = m_pTableStrm->Tell() - m_pFib->m_fcPlfLfo;
}
void WW8Export::OutListNamesTab()
@@ -603,9 +603,9 @@ void WW8Export::OutListNamesTab()
// write the "list format override" - LFO
sal_uInt16 nNms = 0, nCount = m_pUsedNumTable->size();
pFib->m_fcSttbListNames = pTableStrm->Tell();
pTableStrm->WriteInt16( -1 );
pTableStrm->WriteUInt32( nCount );
m_pFib->m_fcSttbListNames = m_pTableStrm->Tell();
m_pTableStrm->WriteInt16( -1 );
m_pTableStrm->WriteUInt32( nCount );
for( ; nNms < nCount; ++nNms )
{
@@ -614,14 +614,14 @@ void WW8Export::OutListNamesTab()
if( !rRule.IsAutoRule() )
sNm = rRule.GetName();
pTableStrm->WriteUInt16( sNm.getLength() );
m_pTableStrm->WriteUInt16( sNm.getLength() );
if (!sNm.isEmpty())
SwWW8Writer::WriteString16(*pTableStrm, sNm, false);
SwWW8Writer::WriteString16(*m_pTableStrm, sNm, false);
}
SwWW8Writer::WriteLong( *pTableStrm, pFib->m_fcSttbListNames + 2, nNms );
SwWW8Writer::WriteLong( *m_pTableStrm, m_pFib->m_fcSttbListNames + 2, nNms );
// set len to FIB
pFib->m_lcbSttbListNames = pTableStrm->Tell() - pFib->m_fcSttbListNames;
m_pFib->m_lcbSttbListNames = m_pTableStrm->Tell() - m_pFib->m_fcSttbListNames;
}
void MSWordExportBase::SubstituteBullet( OUString& rNumStr,
diff --git a/sw/source/filter/ww8/wrtw8sty.cxx b/sw/source/filter/ww8/wrtw8sty.cxx
index feaa657..6f16b9a 100644
--- a/sw/source/filter/ww8/wrtw8sty.cxx
+++ b/sw/source/filter/ww8/wrtw8sty.cxx
@@ -390,16 +390,16 @@ static void impl_SkipOdd(std::unique_ptr<ww::bytes> const& pO, std::size_t nTabl
void WW8AttributeOutput::EndStyle()
{
impl_SkipOdd( m_rWW8Export.pO, m_rWW8Export.pTableStrm->Tell() );
impl_SkipOdd( m_rWW8Export.m_pO, m_rWW8Export.m_pTableStrm->Tell() );
short nLen = m_rWW8Export.pO->size() - 2; // length of the style
sal_uInt8* p = m_rWW8Export.pO->data() + nPOPosStdLen1;
short nLen = m_rWW8Export.m_pO->size() - 2; // length of the style
sal_uInt8* p = m_rWW8Export.m_pO->data() + nPOPosStdLen1;
ShortToSVBT16( nLen, p ); // add
p = m_rWW8Export.pO->data() + nPOPosStdLen2;
p = m_rWW8Export.m_pO->data() + nPOPosStdLen2;
ShortToSVBT16( nLen, p ); // also
m_rWW8Export.pTableStrm->WriteBytes(m_rWW8Export.pO->data(), m_rWW8Export.pO->size());
m_rWW8Export.pO->clear();
m_rWW8Export.m_pTableStrm->WriteBytes(m_rWW8Export.m_pO->data(), m_rWW8Export.m_pO->size());
m_rWW8Export.m_pO->clear();
}
void WW8AttributeOutput::StartStyle( const OUString& rName, StyleType eType, sal_uInt16 nWwBase,
@@ -432,17 +432,17 @@ void WW8AttributeOutput::StartStyle( const OUString& rName, StyleType eType, sal
sal_uInt16 nLen = static_cast< sal_uInt16 >( ( pData - aWW8_STD ) + 1 +
(2 * (rName.getLength() + 1)) ); // temporary
nPOPosStdLen1 = m_rWW8Export.pO->size(); // Adr1 for adding the length
nPOPosStdLen1 = m_rWW8Export.m_pO->size(); // Adr1 for adding the length
SwWW8Writer::InsUInt16( *m_rWW8Export.pO, nLen );
m_rWW8Export.pO->insert( m_rWW8Export.pO->end(), aWW8_STD, pData );
SwWW8Writer::InsUInt16( *m_rWW8Export.m_pO, nLen );
m_rWW8Export.m_pO->insert( m_rWW8Export.m_pO->end(), aWW8_STD, pData );
nPOPosStdLen2 = nPOPosStdLen1 + 8; // Adr2 for adding of "end of upx"
// write names
SwWW8Writer::InsUInt16( *m_rWW8Export.pO, rName.getLength() ); // length
SwWW8Writer::InsAsString16( *m_rWW8Export.pO, rName );
m_rWW8Export.pO->push_back( sal_uInt8(0) ); // Despite P-String 0 at the end!
SwWW8Writer::InsUInt16( *m_rWW8Export.m_pO, rName.getLength() ); // length
SwWW8Writer::InsAsString16( *m_rWW8Export.m_pO, rName );
m_rWW8Export.m_pO->push_back( sal_uInt8(0) ); // Despite P-String 0 at the end!
}
void MSWordStyles::SetStyleDefaults( const SwFormat& rFormat, bool bPap )
@@ -507,19 +507,19 @@ void MSWordStyles::SetStyleDefaults( const SwFormat& rFormat, bool bPap )
void WW8AttributeOutput::StartStyleProperties( bool bParProp, sal_uInt16 nStyle )
{
impl_SkipOdd( m_rWW8Export.pO, m_rWW8Export.pTableStrm->Tell() );
impl_SkipOdd( m_rWW8Export.m_pO, m_rWW8Export.m_pTableStrm->Tell() );
sal_uInt16 nLen = bParProp ? 2 : 0; // default length
m_nStyleLenPos = m_rWW8Export.pO->size(); // adding length
m_nStyleLenPos = m_rWW8Export.m_pO->size(); // adding length
// Don't save pointer, because it
// changes by _grow!
SwWW8Writer::InsUInt16( *m_rWW8Export.pO, nLen ); // Style-Len
SwWW8Writer::InsUInt16( *m_rWW8Export.m_pO, nLen ); // Style-Len
m_nStyleStartSize = m_rWW8Export.pO->size();
m_nStyleStartSize = m_rWW8Export.m_pO->size();
if ( bParProp )
SwWW8Writer::InsUInt16( *m_rWW8Export.pO, nStyle ); // Style-Number
SwWW8Writer::InsUInt16( *m_rWW8Export.m_pO, nStyle ); // Style-Number
}
void MSWordStyles::WriteProperties( const SwFormat* pFormat, bool bParProp, sal_uInt16 nPos,
@@ -544,8 +544,8 @@ void MSWordStyles::WriteProperties( const SwFormat* pFormat, bool bParProp, sal_
void WW8AttributeOutput::EndStyleProperties( bool /*bParProp*/ )
{
sal_uInt16 nLen = m_rWW8Export.pO->size() - m_nStyleStartSize;
sal_uInt8* pUpxLen = m_rWW8Export.pO->data() + m_nStyleLenPos; // adding length
sal_uInt16 nLen = m_rWW8Export.m_pO->size() - m_nStyleStartSize;
sal_uInt8* pUpxLen = m_rWW8Export.m_pO->data() + m_nStyleLenPos; // adding length
ShortToSVBT16( nLen, pUpxLen ); // add default length
}
@@ -585,7 +585,7 @@ void MSWordStyles::GetStyleData( SwFormat* pFormat, bool& bFormatColl, sal_uInt1
void WW8AttributeOutput::DefaultStyle()
{
m_rWW8Export.pTableStrm->WriteUInt16(0); // empty Style
m_rWW8Export.m_pTableStrm->WriteUInt16(0); // empty Style
}
void MSWordStyles::OutputStyle(const SwNumRule* pNumRule, sal_uInt16 nPos)
@@ -670,12 +670,12 @@ void MSWordStyles::OutputStyle( SwFormat* pFormat, sal_uInt16 nPos )
void WW8AttributeOutput::StartStyles()
{
WW8Fib& rFib = *m_rWW8Export.pFib;
WW8Fib& rFib = *m_rWW8Export.m_pFib;
sal_uInt64 nCurPos = m_rWW8Export.pTableStrm->Tell();
sal_uInt64 nCurPos = m_rWW8Export.m_pTableStrm->Tell();
if ( nCurPos & 1 ) // start on even
{
m_rWW8Export.pTableStrm->WriteChar( char(0) ); // Address
m_rWW8Export.m_pTableStrm->WriteChar( char(0) ); // Address
++nCurPos;
}
rFib.m_fcStshfOrig = rFib.m_fcStshf = nCurPos;
@@ -687,15 +687,15 @@ void WW8AttributeOutput::StartStyles()
0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00 };
m_rWW8Export.pTableStrm->WriteBytes(&aStShi, sizeof(aStShi));
m_rWW8Export.m_pTableStrm->WriteBytes(&aStShi, sizeof(aStShi));
}
void WW8AttributeOutput::EndStyles( sal_uInt16 nNumberOfStyles )
{
WW8Fib& rFib = *m_rWW8Export.pFib;
WW8Fib& rFib = *m_rWW8Export.m_pFib;
rFib.m_lcbStshfOrig = rFib.m_lcbStshf = m_rWW8Export.pTableStrm->Tell() - rFib.m_fcStshf;
SwWW8Writer::WriteShort( *m_rWW8Export.pTableStrm, m_nStyleCountPos, nNumberOfStyles );
rFib.m_lcbStshfOrig = rFib.m_lcbStshf = m_rWW8Export.m_pTableStrm->Tell() - rFib.m_fcStshf;
SwWW8Writer::WriteShort( *m_rWW8Export.m_pTableStrm, m_nStyleCountPos, nNumberOfStyles );
}
void MSWordStyles::OutputStylesTable()
@@ -1190,7 +1190,7 @@ void WW8_WrPlcSepx::WriteFootnoteEndText( WW8Export& rWrt, sal_uLong nCpStt )
pTextPos->Append( nCpStt );
// set the flags at the Dop right away
WW8Dop& rDop = *rWrt.pDop;
WW8Dop& rDop = *rWrt.m_pDop;
// Footnote Info
switch( rInfo.m_eNum )
{
@@ -1299,21 +1299,21 @@ void MSWordSections::CheckForFacinPg( const WW8Export& rWrt ) const
( UseOnPage::Right == ( UseOnPage::All & pPd->ReadUseOn() ) &&
UseOnPage::Left == ( UseOnPage::All & pPd->GetFollow()->ReadUseOn() )) ))
{
rWrt.pDop->fFacingPages = rWrt.pDop->fMirrorMargins = true;
rWrt.m_pDop->fFacingPages = rWrt.m_pDop->fMirrorMargins = true;
nEnd |= 1;
}
if( !( 1 & nEnd ) &&
( !pPd->IsHeaderShared() || !pPd->IsFooterShared() ))
{
rWrt.pDop->fFacingPages = true;
rWrt.m_pDop->fFacingPages = true;
nEnd |= 1;
}
if( !( 2 & nEnd ) &&
UseOnPage::Mirror == ( UseOnPage::Mirror & pPd->ReadUseOn() ))
{
rWrt.pDop->fSwapBordersFacingPgs =
rWrt.pDop->fMirrorMargins = true;
rWrt.m_pDop->fSwapBordersFacingPgs =
rWrt.m_pDop->fMirrorMargins = true;
nEnd |= 2;
}
@@ -1335,7 +1335,7 @@ bool MSWordSections::HasBorderItem( const SwFormat& rFormat )
void WW8AttributeOutput::StartSection()
{
m_rWW8Export.pO->clear();
m_rWW8Export.m_pO->clear();
}
void WW8AttributeOutput::SectFootnoteEndnotePr()
@@ -1345,60 +1345,60 @@ void WW8AttributeOutput::SectFootnoteEndnotePr()
m_rWW8Export.InsUInt16( NS_sprm::SRncFtn::val );
switch( rInfo.m_eNum )
{
case FTNNUM_PAGE: m_rWW8Export.pO->push_back( sal_uInt8/*rncRstPage*/ (2) ); break;
case FTNNUM_CHAPTER: m_rWW8Export.pO->push_back( sal_uInt8/*rncRstSect*/ (1) ); break;
default: m_rWW8Export.pO->push_back( sal_uInt8/*rncCont*/ (0) ); break;
case FTNNUM_PAGE: m_rWW8Export.m_pO->push_back( sal_uInt8/*rncRstPage*/ (2) ); break;
case FTNNUM_CHAPTER: m_rWW8Export.m_pO->push_back( sal_uInt8/*rncRstSect*/ (1) ); break;
default: m_rWW8Export.m_pO->push_back( sal_uInt8/*rncCont*/ (0) ); break;
}
m_rWW8Export.InsUInt16(NS_sprm::SNfcFtnRef::val);
sal_uInt8 nId = WW8Export::GetNumId(rInfo.m_aFormat.GetNumberingType());
SwWW8Writer::InsUInt16(*m_rWW8Export.pO, nId);
SwWW8Writer::InsUInt16(*m_rWW8Export.m_pO, nId);
m_rWW8Export.InsUInt16(NS_sprm::SNfcEdnRef::val);
nId = WW8Export::GetNumId(rEndNoteInfo.m_aFormat.GetNumberingType());
SwWW8Writer::InsUInt16(*m_rWW8Export.pO, nId);
SwWW8Writer::InsUInt16(*m_rWW8Export.m_pO, nId);
}
void WW8AttributeOutput::SectionFormProtection( bool bProtected )
{
//If the document is to be exported as protected, then if a segment
//is not protected, set the unlocked flag
if ( m_rWW8Export.pSepx->DocumentIsProtected() && !bProtected )
if ( m_rWW8Export.m_pSepx->DocumentIsProtected() && !bProtected )
{
SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::SFProtected::val );
m_rWW8Export.pO->push_back( 1 );
SwWW8Writer::InsUInt16( *m_rWW8Export.m_pO, NS_sprm::SFProtected::val );
m_rWW8Export.m_pO->push_back( 1 );
}
}
void WW8AttributeOutput::SectionLineNumbering( sal_uLong nRestartNo, const SwLineNumberInfo& rLnNumInfo )
{
// sprmSNLnnMod - activate Line Numbering and define Modulo
SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::SNLnnMod::val );
SwWW8Writer::InsUInt16( *m_rWW8Export.pO, rLnNumInfo.GetCountBy() );
SwWW8Writer::InsUInt16( *m_rWW8Export.m_pO, NS_sprm::SNLnnMod::val );
SwWW8Writer::InsUInt16( *m_rWW8Export.m_pO, rLnNumInfo.GetCountBy() );
// sprmSDxaLnn - xPosition of Line Number
SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::SDxaLnn::val );
SwWW8Writer::InsUInt16( *m_rWW8Export.pO, rLnNumInfo.GetPosFromLeft() );
SwWW8Writer::InsUInt16( *m_rWW8Export.m_pO, NS_sprm::SDxaLnn::val );
SwWW8Writer::InsUInt16( *m_rWW8Export.m_pO, rLnNumInfo.GetPosFromLeft() );
// sprmSLnc - restart number: 0 per page, 1 per section, 2 never restart
if ( nRestartNo || !rLnNumInfo.IsRestartEachPage() )
{
SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::SLnc::val );
m_rWW8Export.pO->push_back( nRestartNo ? 1 : 2 );
SwWW8Writer::InsUInt16( *m_rWW8Export.m_pO, NS_sprm::SLnc::val );
m_rWW8Export.m_pO->push_back( nRestartNo ? 1 : 2 );
}
// sprmSLnnMin - Restart the Line Number with given value
if ( nRestartNo )
{
SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::SLnnMin::val );
SwWW8Writer::InsUInt16( *m_rWW8Export.pO, o3tl::narrowing<sal_uInt16>(nRestartNo) - 1 );
SwWW8Writer::InsUInt16( *m_rWW8Export.m_pO, NS_sprm::SLnnMin::val );
SwWW8Writer::InsUInt16( *m_rWW8Export.m_pO, o3tl::narrowing<sal_uInt16>(nRestartNo) - 1 );
}
}
void WW8AttributeOutput::SectionTitlePage()
{
// sprmSFTitlePage
SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::SFTitlePage::val );
m_rWW8Export.pO->push_back( 1 );
SwWW8Writer::InsUInt16( *m_rWW8Export.m_pO, NS_sprm::SFTitlePage::val );
m_rWW8Export.m_pO->push_back( 1 );
}
void WW8AttributeOutput::SectionPageBorders( const SwFrameFormat* pPdFormat, const SwFrameFormat* pPdFirstPgFormat )
@@ -1428,33 +1428,33 @@ void WW8AttributeOutput::SectionPageBorders( const SwFrameFormat* pPdFormat, con
if ( USHRT_MAX != nPgBorder )
{
// write the Flag and Border Attribute
SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::SPgbProp::val );
SwWW8Writer::InsUInt16( *m_rWW8Export.pO, nPgBorder );
SwWW8Writer::InsUInt16( *m_rWW8Export.m_pO, NS_sprm::SPgbProp::val );
SwWW8Writer::InsUInt16( *m_rWW8Export.m_pO, nPgBorder );
}
}
void WW8AttributeOutput::SectionBiDi( bool bBiDi )
{
SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::SFBiDi::val );
m_rWW8Export.pO->push_back( bBiDi? 1: 0 );
SwWW8Writer::InsUInt16( *m_rWW8Export.m_pO, NS_sprm::SFBiDi::val );
m_rWW8Export.m_pO->push_back( bBiDi? 1: 0 );
}
void WW8AttributeOutput::SectionPageNumbering( sal_uInt16 nNumType, const ::std::optional<sal_uInt16>& oPageRestartNumber )
{
// sprmSNfcPgn
sal_uInt8 nb = WW8Export::GetNumId( nNumType );
SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::SNfcPgn::val );
m_rWW8Export.pO->push_back( nb );
SwWW8Writer::InsUInt16( *m_rWW8Export.m_pO, NS_sprm::SNfcPgn::val );
m_rWW8Export.m_pO->push_back( nb );
if ( oPageRestartNumber )
{
// sprmSFPgnRestart
SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::SFPgnRestart::val );
m_rWW8Export.pO->push_back( 1 );
SwWW8Writer::InsUInt16( *m_rWW8Export.m_pO, NS_sprm::SFPgnRestart::val );
m_rWW8Export.m_pO->push_back( 1 );
// sprmSPgnStart
SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::SPgnStart97::val );
SwWW8Writer::InsUInt16( *m_rWW8Export.pO, *oPageRestartNumber );
SwWW8Writer::InsUInt16( *m_rWW8Export.m_pO, NS_sprm::SPgnStart97::val );
SwWW8Writer::InsUInt16( *m_rWW8Export.m_pO, *oPageRestartNumber );
}
}
@@ -1462,8 +1462,8 @@ void WW8AttributeOutput::SectionType( sal_uInt8 nBreakCode )
{
if ( 2 != nBreakCode ) // new page is the default
{
SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::SBkc::val );
m_rWW8Export.pO->push_back( nBreakCode );
SwWW8Writer::InsUInt16( *m_rWW8Export.m_pO, NS_sprm::SBkc::val );
m_rWW8Export.m_pO->push_back( nBreakCode );
}
}
@@ -1472,13 +1472,13 @@ void WW8Export::SetupSectionPositions( WW8_PdAttrDesc* pA )
if ( !pA )
return;
if ( !pO->empty() ) // are there attributes ?
if ( !m_pO->empty() ) // are there attributes ?
{
pA->m_nLen = pO->size();
pA->m_pData.reset(new sal_uInt8 [pO->size()]);
pA->m_nLen = m_pO->size();
pA->m_pData.reset(new sal_uInt8 [m_pO->size()]);
// store for later
memcpy( pA->m_pData.get(), pO->data(), pO->size() );
pO->clear(); // clear HdFt-Text
memcpy( pA->m_pData.get(), m_pO->data(), m_pO->size() );
m_pO->clear(); // clear HdFt-Text
}
else // no attributes there
{
@@ -1507,8 +1507,8 @@ void WW8AttributeOutput::TextVerticalAdjustment( const drawing::TextVerticalAdju
default:
break;
}
SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::SVjc::val );
m_rWW8Export.pO->push_back( nMSVA );
SwWW8Writer::InsUInt16( *m_rWW8Export.m_pO, NS_sprm::SVjc::val );
m_rWW8Export.m_pO->push_back( nMSVA );
}
void WW8Export::WriteHeadersFooters( sal_uInt8 nHeadFootFlags,
@@ -1517,26 +1517,26 @@ void WW8Export::WriteHeadersFooters( sal_uInt8 nHeadFootFlags,
sal_uLong nCpPos = Fc2Cp( Strm().Tell() );
IncrementHdFtIndex();
if ( !(nHeadFootFlags & WW8_HEADER_EVEN) && pDop->fFacingPages )
pSepx->OutHeaderFooter( *this, true, rFormat, nCpPos, nHeadFootFlags, WW8_HEADER_ODD, nBreakCode );
if ( !(nHeadFootFlags & WW8_HEADER_EVEN) && m_pDop->fFacingPages )
m_pSepx->OutHeaderFooter( *this, true, rFormat, nCpPos, nHeadFootFlags, WW8_HEADER_ODD, nBreakCode );
else
pSepx->OutHeaderFooter( *this, true, rLeftHeaderFormat, nCpPos, nHeadFootFlags, WW8_HEADER_EVEN, nBreakCode );
m_pSepx->OutHeaderFooter( *this, true, rLeftHeaderFormat, nCpPos, nHeadFootFlags, WW8_HEADER_EVEN, nBreakCode );
IncrementHdFtIndex();
pSepx->OutHeaderFooter( *this, true, rFormat, nCpPos, nHeadFootFlags, WW8_HEADER_ODD, nBreakCode );
m_pSepx->OutHeaderFooter( *this, true, rFormat, nCpPos, nHeadFootFlags, WW8_HEADER_ODD, nBreakCode );
IncrementHdFtIndex();
if ( !(nHeadFootFlags & WW8_FOOTER_EVEN) && pDop->fFacingPages )
pSepx->OutHeaderFooter( *this, false, rFormat, nCpPos, nHeadFootFlags, WW8_FOOTER_ODD, nBreakCode );
if ( !(nHeadFootFlags & WW8_FOOTER_EVEN) && m_pDop->fFacingPages )
m_pSepx->OutHeaderFooter( *this, false, rFormat, nCpPos, nHeadFootFlags, WW8_FOOTER_ODD, nBreakCode );
else
pSepx->OutHeaderFooter( *this, false, rLeftFooterFormat, nCpPos, nHeadFootFlags, WW8_FOOTER_EVEN, nBreakCode );
m_pSepx->OutHeaderFooter( *this, false, rLeftFooterFormat, nCpPos, nHeadFootFlags, WW8_FOOTER_EVEN, nBreakCode );
IncrementHdFtIndex();
pSepx->OutHeaderFooter( *this, false, rFormat, nCpPos, nHeadFootFlags, WW8_FOOTER_ODD, nBreakCode );
m_pSepx->OutHeaderFooter( *this, false, rFormat, nCpPos, nHeadFootFlags, WW8_FOOTER_ODD, nBreakCode );
//#i24344# Drawing objects cannot be directly shared between main hd/ft
//and title hd/ft so we need to differentiate them
IncrementHdFtIndex();
pSepx->OutHeaderFooter( *this, true, rFirstPageFormat, nCpPos, nHeadFootFlags, WW8_HEADER_FIRST, nBreakCode );
pSepx->OutHeaderFooter( *this, false, rFirstPageFormat, nCpPos, nHeadFootFlags, WW8_FOOTER_FIRST, nBreakCode );
m_pSepx->OutHeaderFooter( *this, true, rFirstPageFormat, nCpPos, nHeadFootFlags, WW8_HEADER_FIRST, nBreakCode );
m_pSepx->OutHeaderFooter( *this, false, rFirstPageFormat, nCpPos, nHeadFootFlags, WW8_FOOTER_FIRST, nBreakCode );
}
namespace
@@ -2008,15 +2008,15 @@ bool WW8_WrPlcSepx::WriteKFText( WW8Export& rWrt )
rWrt.WriteStringAsPara( OUString() ); // CR to the end ( otherwise WW complains )
}
rWrt.m_pFieldHdFt->Finish( nCpEnd, rWrt.pFib->m_ccpText + rWrt.pFib->m_ccpFootnote );
rWrt.pFib->m_ccpHdr = nCpEnd - nCpStart;
rWrt.m_pFieldHdFt->Finish( nCpEnd, rWrt.m_pFib->m_ccpText + rWrt.m_pFib->m_ccpFootnote );
rWrt.m_pFib->m_ccpHdr = nCpEnd - nCpStart;
}
else
{
pTextPos.reset();
}
return rWrt.pFib->m_ccpHdr != 0;
return rWrt.m_pFib->m_ccpHdr != 0;
}
void WW8_WrPlcSepx::WriteSepx( SvStream& rStrm ) const
@@ -2040,12 +2040,12 @@ void WW8_WrPlcSepx::WritePlcSed( WW8Export& rWrt ) const
OSL_ENSURE(m_SectionAttributes.size() == static_cast<size_t>(m_aSects.size())
, "WritePlcSed(): arrays out of sync!");
OSL_ENSURE( aCps.size() == m_aSects.size() + 1, "WrPlcSepx: DeSync" );
sal_uInt64 nFcStart = rWrt.pTableStrm->Tell();
sal_uInt64 nFcStart = rWrt.m_pTableStrm->Tell();
for( decltype(m_aSects)::size_type i = 0; i <= m_aSects.size(); i++ )
{
sal_uInt32 nP = aCps[i];
rWrt.pTableStrm->WriteUInt32(nP);
rWrt.m_pTableStrm->WriteUInt32(nP);
}
static WW8_SED aSed = {{4, 0},{0, 0, 0, 0},{0, 0},{0xff, 0xff, 0xff, 0xff}};
@@ -2054,21 +2054,21 @@ void WW8_WrPlcSepx::WritePlcSed( WW8Export& rWrt ) const
{
// Sepx-Pos
UInt32ToSVBT32( rSectionAttribute->m_nSepxFcPos, aSed.fcSepx );
rWrt.pTableStrm->WriteBytes(&aSed, sizeof(aSed));
rWrt.m_pTableStrm->WriteBytes(&aSed, sizeof(aSed));
}
rWrt.pFib->m_fcPlcfsed = nFcStart;
rWrt.pFib->m_lcbPlcfsed = rWrt.pTableStrm->Tell() - nFcStart;
rWrt.m_pFib->m_fcPlcfsed = nFcStart;
rWrt.m_pFib->m_lcbPlcfsed = rWrt.m_pTableStrm->Tell() - nFcStart;
}
void WW8_WrPlcSepx::WritePlcHdd( WW8Export& rWrt ) const
{
// Don't write out the PlcfHdd if ccpHdd is 0: it's a validation failure case.
if( rWrt.pFib->m_ccpHdr != 0 && pTextPos && pTextPos->Count() )
if( rWrt.m_pFib->m_ccpHdr != 0 && pTextPos && pTextPos->Count() )
{
rWrt.pFib->m_fcPlcfhdd = rWrt.pTableStrm->Tell();
pTextPos->Write( *rWrt.pTableStrm ); // Plc0
rWrt.pFib->m_lcbPlcfhdd = rWrt.pTableStrm->Tell() -
rWrt.pFib->m_fcPlcfhdd;
rWrt.m_pFib->m_fcPlcfhdd = rWrt.m_pTableStrm->Tell();
pTextPos->Write( *rWrt.m_pTableStrm ); // Plc0
rWrt.m_pFib->m_lcbPlcfhdd = rWrt.m_pTableStrm->Tell() -
rWrt.m_pFib->m_fcPlcfhdd;
}
}
@@ -2364,7 +2364,7 @@ void WW8_WrPlcSubDoc::WriteGenericPlc( WW8Export& rWrt, sal_uInt8 nTTyp,
WW8_FC& rTextStart, sal_Int32& rTextCount, WW8_FC& rRefStart, sal_Int32& rRefCount ) const
{
sal_uInt64 nFcStart = rWrt.pTableStrm->Tell();
sal_uInt64 nFcStart = rWrt.m_pTableStrm->Tell();
sal_uInt16 nLen = aCps.size();
if ( !nLen )
return;
@@ -2372,7 +2372,7 @@ void WW8_WrPlcSubDoc::WriteGenericPlc( WW8Export& rWrt, sal_uInt8 nTTyp,
OSL_ENSURE( aCps.size() + 2 == pTextPos->Count(), "WritePlc: DeSync" );
std::vector<std::pair<OUString,OUString> > aStrArr;
WW8Fib& rFib = *rWrt.pFib; // n+1-th CP-Pos according to the manual
WW8Fib& rFib = *rWrt.m_pFib; // n+1-th CP-Pos according to the manual
bool bWriteCP = true;
switch ( nTTyp )
@@ -2421,13 +2421,13 @@ void WW8_WrPlcSubDoc::WriteGenericPlc( WW8Export& rWrt, sal_uInt8 nTTyp,
for ( decltype(aStrArr)::size_type i = 0; i < aStrArr.size(); ++i )
{
const OUString& sAuthor = aStrArr[i].first;
SwWW8Writer::WriteShort(*rWrt.pTableStrm, sAuthor.getLength());
SwWW8Writer::WriteString16(*rWrt.pTableStrm, sAuthor,
SwWW8Writer::WriteShort(*rWrt.m_pTableStrm, sAuthor.getLength());
SwWW8Writer::WriteString16(*rWrt.m_pTableStrm, sAuthor,
false);
}
rFib.m_fcGrpStAtnOwners = nFcStart;
nFcStart = rWrt.pTableStrm->Tell();
nFcStart = rWrt.m_pTableStrm->Tell();
rFib.m_lcbGrpStAtnOwners = nFcStart - rFib.m_fcGrpStAtnOwners;
// Commented text ranges
@@ -2437,47 +2437,47 @@ void WW8_WrPlcSubDoc::WriteGenericPlc( WW8Export& rWrt, sal_uInt8 nTTyp,
rFib.m_fcPlcfAtnbkf = nFcStart;
for ( decltype(aRangeStartPos)::size_type i = 0; i < aRangeStartPos.size(); ++i )
{
SwWW8Writer::WriteLong( *rWrt.pTableStrm, aRangeStartPos[i].first );
SwWW8Writer::WriteLong( *rWrt.m_pTableStrm, aRangeStartPos[i].first );
}
SwWW8Writer::WriteLong( *rWrt.pTableStrm, rFib.m_ccpText + 1);
SwWW8Writer::WriteLong( *rWrt.m_pTableStrm, rFib.m_ccpText + 1);
// Commented text ranges additional information (Plcfbkf.aFBKF)
for ( decltype(aRangeStartPos)::size_type i = 0; i < aRangeStartPos.size(); ++i )
{
SwWW8Writer::WriteShort( *rWrt.pTableStrm, aStartEndMap[i] ); // FBKF.ibkl
SwWW8Writer::WriteShort( *rWrt.pTableStrm, 0 ); // FBKF.bkc
SwWW8Writer::WriteShort( *rWrt.m_pTableStrm, aStartEndMap[i] ); // FBKF.ibkl
SwWW8Writer::WriteShort( *rWrt.m_pTableStrm, 0 ); // FBKF.bkc
}
nFcStart = rWrt.pTableStrm->Tell();
nFcStart = rWrt.m_pTableStrm->Tell();
rFib.m_lcbPlcfAtnbkf = nFcStart - rFib.m_fcPlcfAtnbkf;
// Commented text ranges ending positions (PlcfBkl.aCP)
rFib.m_fcPlcfAtnbkl = nFcStart;
for ( decltype(aRangeEndPos)::size_type i = 0; i < aRangeEndPos.size(); ++i )
{
SwWW8Writer::WriteLong( *rWrt.pTableStrm, aRangeEndPos[i].first );
SwWW8Writer::WriteLong( *rWrt.m_pTableStrm, aRangeEndPos[i].first );
}
SwWW8Writer::WriteLong( *rWrt.pTableStrm, rFib.m_ccpText + 1);
SwWW8Writer::WriteLong( *rWrt.m_pTableStrm, rFib.m_ccpText + 1);
nFcStart = rWrt.pTableStrm->Tell();
nFcStart = rWrt.m_pTableStrm->Tell();
rFib.m_lcbPlcfAtnbkl = nFcStart - rFib.m_fcPlcfAtnbkl;
// Commented text ranges as bookmarks (SttbfAtnBkmk)
rFib.m_fcSttbfAtnbkmk = nFcStart;
SwWW8Writer::WriteShort( *rWrt.pTableStrm, sal_Int16(sal_uInt16(0xFFFF)) ); // SttbfAtnBkmk.fExtend
SwWW8Writer::WriteShort( *rWrt.pTableStrm, aRangeStartPos.size() ); // SttbfAtnBkmk.cData
SwWW8Writer::WriteShort( *rWrt.pTableStrm, 0xA ); // SttbfAtnBkmk.cbExtra
SwWW8Writer::WriteShort( *rWrt.m_pTableStrm, sal_Int16(sal_uInt16(0xFFFF)) ); // SttbfAtnBkmk.fExtend
SwWW8Writer::WriteShort( *rWrt.m_pTableStrm, aRangeStartPos.size() ); // SttbfAtnBkmk.cData
SwWW8Writer::WriteShort( *rWrt.m_pTableStrm, 0xA ); // SttbfAtnBkmk.cbExtra
for ( decltype(aRangeStartPos)::size_type i = 0; i < aRangeStartPos.size(); ++i )
{
SwWW8Writer::WriteShort( *rWrt.pTableStrm, 0 ); // SttbfAtnBkmk.cchData
SwWW8Writer::WriteShort( *rWrt.m_pTableStrm, 0 ); // SttbfAtnBkmk.cchData
// One ATNBE structure for all text ranges
SwWW8Writer::WriteShort( *rWrt.pTableStrm, 0x0100 ); // ATNBE.bmc
SwWW8Writer::WriteLong( *rWrt.pTableStrm, aStartAtnMap[i] ); // ATNBE.lTag
SwWW8Writer::WriteLong( *rWrt.pTableStrm, -1 ); // ATNBE.lTagOld
SwWW8Writer::WriteShort( *rWrt.m_pTableStrm, 0x0100 ); // ATNBE.bmc
SwWW8Writer::WriteLong( *rWrt.m_pTableStrm, aStartAtnMap[i] ); // ATNBE.lTag
SwWW8Writer::WriteLong( *rWrt.m_pTableStrm, -1 ); // ATNBE.lTagOld
}
nFcStart = rWrt.pTableStrm->Tell();
nFcStart = rWrt.m_pTableStrm->Tell();
rFib.m_lcbSttbfAtnbkmk = nFcStart - rFib.m_fcSttbfAtnbkmk;
}
@@ -2488,15 +2488,15 @@ void WW8_WrPlcSubDoc::WriteGenericPlc( WW8Export& rWrt, sal_uInt8 nTTyp,
sal_uInt32 nDTTM = sw::ms::DateTime2DTTM(rAtn.maDateTime);
SwWW8Writer::WriteLong( *rWrt.pTableStrm, nDTTM );
SwWW8Writer::WriteShort( *rWrt.pTableStrm, 0 );
SwWW8Writer::WriteLong( *rWrt.pTableStrm, 0 );
SwWW8Writer::WriteLong( *rWrt.pTableStrm, 0 );
SwWW8Writer::WriteLong( *rWrt.pTableStrm, 0 );
SwWW8Writer::WriteLong( *rWrt.m_pTableStrm, nDTTM );
SwWW8Writer::WriteShort( *rWrt.m_pTableStrm, 0 );
SwWW8Writer::WriteLong( *rWrt.m_pTableStrm, 0 );
SwWW8Writer::WriteLong( *rWrt.m_pTableStrm, 0 );
SwWW8Writer::WriteLong( *rWrt.m_pTableStrm, 0 );
}
rFib.m_fcAtrdExtra = nFcStart;
nFcStart = rWrt.pTableStrm->Tell();
nFcStart = rWrt.m_pTableStrm->Tell();
rFib.m_lcbAtrdExtra = nFcStart - rFib.m_fcAtrdExtra;
rFib.m_fcHplxsdr = 0x01010002; //WTF, but apparently necessary
rFib.m_lcbHplxsdr = 0;
@@ -2505,7 +2505,7 @@ void WW8_WrPlcSubDoc::WriteGenericPlc( WW8Export& rWrt, sal_uInt8 nTTyp,
case TXT_TXTBOX:
case TXT_HFTXTBOX:
{
pTextPos->Write( *rWrt.pTableStrm );
pTextPos->Write( *rWrt.m_pTableStrm );
const std::vector<sal_uInt32>* pShapeIds = GetShapeIdArr();
OSL_ENSURE( pShapeIds, "Where are the ShapeIds?" );
@@ -2546,20 +2546,20 @@ void WW8_WrPlcSubDoc::WriteGenericPlc( WW8Export& rWrt, sal_uInt8 nTTyp,
}
}
// long cTxbx / iNextReuse
SwWW8Writer::WriteLong( *rWrt.pTableStrm, nCnt );
SwWW8Writer::WriteLong( *rWrt.m_pTableStrm, nCnt );
// long cReusable
SwWW8Writer::WriteLong( *rWrt.pTableStrm, 0 );
SwWW8Writer::WriteLong( *rWrt.m_pTableStrm, 0 );
// short fReusable
SwWW8Writer::WriteShort( *rWrt.pTableStrm, 0 );
SwWW8Writer::WriteShort( *rWrt.m_pTableStrm, 0 );
// long reserved
SwWW8Writer::WriteLong( *rWrt.pTableStrm, -1 );
SwWW8Writer::WriteLong( *rWrt.m_pTableStrm, -1 );
// long lid
SwWW8Writer::WriteLong( *rWrt.pTableStrm,
SwWW8Writer::WriteLong( *rWrt.m_pTableStrm,
(*pShapeIds)[i]);
// long txidUndo
SwWW8Writer::WriteLong( *rWrt.pTableStrm, 0 );
SwWW8Writer::WriteLong( *rWrt.m_pTableStrm, 0 );
}
SwWW8Writer::FillCount( *rWrt.pTableStrm, 22 );
SwWW8Writer::FillCount( *rWrt.m_pTableStrm, 22 );
bWriteCP = false;
}
break;
@@ -2569,10 +2569,10 @@ void WW8_WrPlcSubDoc::WriteGenericPlc( WW8Export& rWrt, sal_uInt8 nTTyp,
{
// write CP Positions
for ( sal_uInt16 i = 0; i < nLen; i++ )
SwWW8Writer::WriteLong( *rWrt.pTableStrm, aCps[ i ] );
SwWW8Writer::WriteLong( *rWrt.m_pTableStrm, aCps[ i ] );
// n+1-th CP-Pos according to the manual
SwWW8Writer::WriteLong( *rWrt.pTableStrm,
SwWW8Writer::WriteLong( *rWrt.m_pTableStrm,
rFib.m_ccpText + rFib.m_ccpFootnote + rFib.m_ccpHdr + rFib.m_ccpEdn +
rFib.m_ccpTxbx + rFib.m_ccpHdrTxbx + 1 );
@@ -2600,10 +2600,10 @@ void WW8_WrPlcSubDoc::WriteGenericPlc( WW8Export& rWrt, sal_uInt8 nTTyp,
// xstUsrInitl[ 10 ] pascal-style String holding initials
// of annotation author
SwWW8Writer::WriteShort(*rWrt.pTableStrm, nInitialsLen);
SwWW8Writer::WriteString16(*rWrt.pTableStrm, sInitials,
SwWW8Writer::WriteShort(*rWrt.m_pTableStrm, nInitialsLen);
SwWW8Writer::WriteString16(*rWrt.m_pTableStrm, sInitials,
false);
SwWW8Writer::FillCount( *rWrt.pTableStrm,
SwWW8Writer::FillCount( *rWrt.m_pTableStrm,
(9 - nInitialsLen) * 2 );
// documents layout of WriteShort's below:
@@ -2613,16 +2613,16 @@ void WW8_WrPlcSubDoc::WriteGenericPlc( WW8Export& rWrt, sal_uInt8 nTTyp,
// SVBT16 grfbmc; // not used
// SVBT32 ITagBkmk; // when not -1, this tag identifies the ATNBE
SwWW8Writer::WriteShort( *rWrt.pTableStrm, nFndPos );
SwWW8Writer::WriteShort( *rWrt.pTableStrm, 0 );
SwWW8Writer::WriteShort( *rWrt.pTableStrm, 0 );
SwWW8Writer::WriteShort( *rWrt.m_pTableStrm, nFndPos );
SwWW8Writer::WriteShort( *rWrt.m_pTableStrm, 0 );
SwWW8Writer::WriteShort( *rWrt.m_pTableStrm, 0 );
if (rAtn.HasRange())
{
SwWW8Writer::WriteLong( *rWrt.pTableStrm, nlTag );
SwWW8Writer::WriteLong( *rWrt.m_pTableStrm, nlTag );
++nlTag;
}
else
SwWW8Writer::WriteLong( *rWrt.pTableStrm, -1 );
SwWW8Writer::WriteLong( *rWrt.m_pTableStrm, -1 );
}
}
else
@@ -2631,16 +2631,16 @@ void WW8_WrPlcSubDoc::WriteGenericPlc( WW8Export& rWrt, sal_uInt8 nTTyp,
for ( sal_uInt16 i = 0; i < nLen; ++i ) // write Flags
{
const SwFormatFootnote* pFootnote = static_cast<SwFormatFootnote const *>(aContent[ i ]);
SwWW8Writer::WriteShort( *rWrt.pTableStrm,
SwWW8Writer::WriteShort( *rWrt.m_pTableStrm,
!pFootnote->GetNumStr().isEmpty() ? 0 : ++nNo );
}
}
}
rRefStart = nFcStart;
nFcStart = rWrt.pTableStrm->Tell();
nFcStart = rWrt.m_pTableStrm->Tell();
rRefCount = nFcStart - rRefStart;
pTextPos->Write( *rWrt.pTableStrm );
pTextPos->Write( *rWrt.m_pTableStrm );
switch ( nTTyp )
{
@@ -2650,19 +2650,19 @@ void WW8_WrPlcSubDoc::WriteGenericPlc( WW8Export& rWrt, sal_uInt8 nTTyp,
{
// write break descriptor (BKD)
// short itxbxs
SwWW8Writer::WriteShort( *rWrt.pTableStrm, i );
SwWW8Writer::WriteShort( *rWrt.m_pTableStrm, i );
// short dcpDepend
SwWW8Writer::WriteShort( *rWrt.pTableStrm, 0 );
SwWW8Writer::WriteShort( *rWrt.m_pTableStrm, 0 );
// short flags : icol/fTableBreak/fColumnBreak/fMarked/
// fUnk/fTextOverflow
SwWW8Writer::WriteShort( *rWrt.pTableStrm, 0x800 );
SwWW8Writer::WriteShort( *rWrt.m_pTableStrm, 0x800 );
}
SwWW8Writer::FillCount( *rWrt.pTableStrm, 6 );
SwWW8Writer::FillCount( *rWrt.m_pTableStrm, 6 );
break;
}
rTextStart = nFcStart;
rTextCount = rWrt.pTableStrm->Tell() - nFcStart;
rTextCount = rWrt.m_pTableStrm->Tell() - nFcStart;
}
const std::vector<sal_uInt32>* WW8_WrPlcSubDoc::GetShapeIdArr() const
diff --git a/sw/source/filter/ww8/wrtww8.cxx b/sw/source/filter/ww8/wrtww8.cxx
index 0dafd6a..4550a88 100644
--- a/sw/source/filter/ww8/wrtww8.cxx
+++ b/sw/source/filter/ww8/wrtww8.cxx
@@ -280,11 +280,11 @@ void WW8_WrtBookmarks::Write( WW8Export& rWrt)
}
aTempStrm2.Seek(0);
rWrt.WriteAsStringTable(aNames, rWrt.pFib->m_fcSttbfbkmk,rWrt.pFib->m_lcbSttbfbkmk);
SvStream& rStrm = *rWrt.pTableStrm;
rWrt.pFib->m_fcPlcfbkf = rStrm.Tell();
rWrt.WriteAsStringTable(aNames, rWrt.m_pFib->m_fcSttbfbkmk,rWrt.m_pFib->m_lcbSttbfbkmk);
SvStream& rStrm = *rWrt.m_pTableStrm;
rWrt.m_pFib->m_fcPlcfbkf = rStrm.Tell();
rStrm.WriteStream( aTempStrm1 );
SwWW8Writer::WriteLong(rStrm, rWrt.pFib->m_ccpText + rWrt.pFib->m_ccpTxbx);
SwWW8Writer::WriteLong(rStrm, rWrt.m_pFib->m_ccpText + rWrt.m_pFib->m_ccpTxbx);
for (const auto& rEntry : aSttCps)
{
if (rEntry.second)
@@ -292,11 +292,11 @@ void WW8_WrtBookmarks::Write( WW8Export& rWrt)
SwWW8Writer::WriteLong(rStrm, rEntry.second->first);
}
}
rWrt.pFib->m_lcbPlcfbkf = rStrm.Tell() - rWrt.pFib->m_fcPlcfbkf;
rWrt.pFib->m_fcPlcfbkl = rStrm.Tell();
rWrt.m_pFib->m_lcbPlcfbkf = rStrm.Tell() - rWrt.m_pFib->m_fcPlcfbkf;
rWrt.m_pFib->m_fcPlcfbkl = rStrm.Tell();
rStrm.WriteStream( aTempStrm2 );
SwWW8Writer::WriteLong(rStrm, rWrt.pFib->m_ccpText + rWrt.pFib->m_ccpTxbx);
rWrt.pFib->m_lcbPlcfbkl = rStrm.Tell() - rWrt.pFib->m_fcPlcfbkl;
SwWW8Writer::WriteLong(rStrm, rWrt.m_pFib->m_ccpText + rWrt.m_pFib->m_ccpTxbx);
rWrt.m_pFib->m_lcbPlcfbkl = rStrm.Tell() - rWrt.m_pFib->m_fcPlcfbkl;
}
void WW8_WrtBookmarks::MoveFieldMarks(WW8_CP nFrom, WW8_CP nTo)
@@ -355,11 +355,11 @@ void WW8_WrtFactoids::Write(WW8Export& rExport)
return;
// Smart tags are otherwise removed by Word on saving.
rExport.pDop->fEmbedFactoids = true;
rExport.m_pDop->fEmbedFactoids = true;
SvStream& rStream = *rExport.pTableStrm;
SvStream& rStream = *rExport.m_pTableStrm;
rExport.pFib->m_fcSttbfBkmkFactoid = rStream.Tell();
rExport.m_pFib->m_fcSttbfBkmkFactoid = rStream.Tell();
// Write SttbfBkmkFactoid.
rStream.WriteUInt16(0xffff); // fExtend
rStream.WriteUInt16(m_aStartCPs.size()); // cData
@@ -374,12 +374,12 @@ void WW8_WrtFactoids::Write(WW8Export& rExport)
rStream.WriteUInt16(0); // fto
rStream.WriteUInt32(0); // pfpb
}
rExport.pFib->m_lcbSttbfBkmkFactoid = rStream.Tell() - rExport.pFib->m_fcSttbfBkmkFactoid;
rExport.m_pFib->m_lcbSttbfBkmkFactoid = rStream.Tell() - rExport.m_pFib->m_fcSttbfBkmkFactoid;
rExport.pFib->m_fcPlcfBkfFactoid = rStream.Tell();
rExport.m_pFib->m_fcPlcfBkfFactoid = rStream.Tell();
for (const WW8_CP& rCP : m_aStartCPs)
rStream.WriteInt32(rCP);
rStream.WriteInt32(rExport.pFib->m_ccpText + rExport.pFib->m_ccpTxbx);
rStream.WriteInt32(rExport.m_pFib->m_ccpText + rExport.m_pFib->m_ccpTxbx);
// Write FBKFD.
for (size_t i = 0; i < m_aStartCPs.size(); ++i)
@@ -389,12 +389,12 @@ void WW8_WrtFactoids::Write(WW8Export& rExport)
rStream.WriteInt16(1); // cDepth, 1 as start and end is the same.
}
rExport.pFib->m_lcbPlcfBkfFactoid = rStream.Tell() - rExport.pFib->m_fcPlcfBkfFactoid;
rExport.m_pFib->m_lcbPlcfBkfFactoid = rStream.Tell() - rExport.m_pFib->m_fcPlcfBkfFactoid;
rExport.pFib->m_fcPlcfBklFactoid = rStream.Tell();
rExport.m_pFib->m_fcPlcfBklFactoid = rStream.Tell();
for (const WW8_CP& rCP : m_aEndCPs)
rStream.WriteInt32(rCP);
rStream.WriteInt32(rExport.pFib->m_ccpText + rExport.pFib->m_ccpTxbx);
rStream.WriteInt32(rExport.m_pFib->m_ccpText + rExport.m_pFib->m_ccpTxbx);
// Write FBKLD.
for (size_t i = 0; i < m_aEndCPs.size(); ++i)
@@ -402,9 +402,9 @@ void WW8_WrtFactoids::Write(WW8Export& rExport)
rStream.WriteInt16(i); // ibkf
rStream.WriteInt16(0); // cDepth, 0 as does not overlap with any other smart tag.
}
rExport.pFib->m_lcbPlcfBklFactoid = rStream.Tell() - rExport.pFib->m_fcPlcfBklFactoid;
rExport.m_pFib->m_lcbPlcfBklFactoid = rStream.Tell() - rExport.m_pFib->m_fcPlcfBklFactoid;
rExport.pFib->m_fcFactoidData = rStream.Tell();
rExport.m_pFib->m_fcFactoidData = rStream.Tell();
// Write SmartTagData.
MSOFactoidType aFactoidType;
aFactoidType.m_nId = 1;
@@ -439,7 +439,7 @@ void WW8_WrtFactoids::Write(WW8Export& rExport)
}
aSmartTagData.Write(rExport);
rExport.pFib->m_lcbFactoidData = rStream.Tell() - rExport.pFib->m_fcFactoidData;
rExport.m_pFib->m_lcbFactoidData = rStream.Tell() - rExport.m_pFib->m_fcFactoidData;
}
#define DEFAULT_STYLES_COUNT 16
@@ -450,7 +450,7 @@ constexpr OUStringLiteral sCompObj = u"\1CompObj";
static void WriteDop( WW8Export& rWrt )
{
WW8Dop& rDop = *rWrt.pDop;
WW8Dop& rDop = *rWrt.m_pDop;
// i#78951#, store the value of unknown compatibility options
rDop.SetCompatibilityOptions( rWrt.m_rDoc.getIDocumentSettingAccess().Getn32DummyCompatibilityOptions1());
@@ -505,7 +505,7 @@ static void WriteDop( WW8Export& rWrt )
rDop.lKeyProtDoc = pDocShell->GetModifyPasswordHash();
}
if ((rWrt.pSepx && rWrt.pSepx->DocumentIsProtected()) ||
if ((rWrt.m_pSepx && rWrt.m_pSepx->DocumentIsProtected()) ||
rWrt.m_rDoc.getIDocumentSettingAccess().get(DocumentSettingId::PROTECT_FORM ) ||
rDop.lKeyProtDoc != 0)
{
@@ -556,7 +556,7 @@ static void WriteDop( WW8Export& rWrt )
rDop.fExpShRtn = !rWrt.m_rDoc.getIDocumentSettingAccess().get(DocumentSettingId::DO_NOT_JUSTIFY_LINES_WITH_MANUAL_BREAK); // #i56856#
rDop.Write( *rWrt.pTableStrm, *rWrt.pFib );
rDop.Write( *rWrt.m_pTableStrm, *rWrt.m_pFib );
}
static int lcl_CmpBeginEndChars( const OUString& rSWStr,
@@ -856,37 +856,37 @@ void WW8_WrPlcField::Write( WW8Export& rWrt )
switch (nTextTyp)
{
case TXT_MAINTEXT:
pfc = &rWrt.pFib->m_fcPlcffldMom;
plc = &rWrt.pFib->m_lcbPlcffldMom;
pfc = &rWrt.m_pFib->m_fcPlcffldMom;
plc = &rWrt.m_pFib->m_lcbPlcffldMom;
break;
case TXT_HDFT:
pfc = &rWrt.pFib->m_fcPlcffldHdr;
plc = &rWrt.pFib->m_lcbPlcffldHdr;
pfc = &rWrt.m_pFib->m_fcPlcffldHdr;
plc = &rWrt.m_pFib->m_lcbPlcffldHdr;
break;
case TXT_FTN:
pfc = &rWrt.pFib->m_fcPlcffldFootnote;
plc = &rWrt.pFib->m_lcbPlcffldFootnote;
pfc = &rWrt.m_pFib->m_fcPlcffldFootnote;
plc = &rWrt.m_pFib->m_lcbPlcffldFootnote;
break;
case TXT_EDN:
pfc = &rWrt.pFib->m_fcPlcffldEdn;
plc = &rWrt.pFib->m_lcbPlcffldEdn;
pfc = &rWrt.m_pFib->m_fcPlcffldEdn;
plc = &rWrt.m_pFib->m_lcbPlcffldEdn;
break;
case TXT_ATN:
pfc = &rWrt.pFib->m_fcPlcffldAtn;
plc = &rWrt.pFib->m_lcbPlcffldAtn;
pfc = &rWrt.m_pFib->m_fcPlcffldAtn;
plc = &rWrt.m_pFib->m_lcbPlcffldAtn;
break;
case TXT_TXTBOX:
pfc = &rWrt.pFib->m_fcPlcffldTxbx;
plc = &rWrt.pFib->m_lcbPlcffldTxbx;
pfc = &rWrt.m_pFib->m_fcPlcffldTxbx;
plc = &rWrt.m_pFib->m_lcbPlcffldTxbx;
break;
case TXT_HFTXTBOX:
pfc = &rWrt.pFib->m_fcPlcffldHdrTxbx;
plc = &rWrt.pFib->m_lcbPlcffldHdrTxbx;
pfc = &rWrt.m_pFib->m_fcPlcffldHdrTxbx;
plc = &rWrt.m_pFib->m_lcbPlcffldHdrTxbx;
break;
default:
@@ -896,10 +896,10 @@ void WW8_WrPlcField::Write( WW8Export& rWrt )
if( pfc && plc )
{
sal_uInt64 nFcStart = rWrt.pTableStrm->Tell();
WW8_WrPlc1::Write( *rWrt.pTableStrm );
sal_uInt64 nFcStart = rWrt.m_pTableStrm->Tell();
WW8_WrPlc1::Write( *rWrt.m_pTableStrm );
*pfc = nFcStart;
*plc = rWrt.pTableStrm->Tell() - nFcStart;
*plc = rWrt.m_pTableStrm->Tell() - nFcStart;
}
}
@@ -907,10 +907,10 @@ void WW8_WrMagicTable::Write( WW8Export& rWrt )
{
if( WW8_WrPlc1::Count() <= 1 )
return;
sal_uInt64 nFcStart = rWrt.pTableStrm->Tell();
WW8_WrPlc1::Write( *rWrt.pTableStrm );
rWrt.pFib->m_fcPlcfTch = nFcStart;
rWrt.pFib->m_lcbPlcfTch = rWrt.pTableStrm->Tell() - nFcStart;
sal_uInt64 nFcStart = rWrt.m_pTableStrm->Tell();
WW8_WrPlc1::Write( *rWrt.m_pTableStrm );
rWrt.m_pFib->m_fcPlcfTch = nFcStart;
rWrt.m_pFib->m_lcbPlcfTch = rWrt.m_pTableStrm->Tell() - nFcStart;
}
void WW8_WrMagicTable::Append( WW8_CP nCp, sal_uLong nData)
@@ -990,9 +990,9 @@ void WW8_WrPlcPn::AppendFkpEntry(WW8_FC nEndFc,short nVarLen,const sal_uInt8* pS
*p++ = *pSprms++;
nVarLen -= 2;
sal_uInt64 nDataPos = rWrt.pDataStrm->Tell();
SwWW8Writer::WriteShort( *rWrt.pDataStrm, nVarLen );
rWrt.pDataStrm->WriteBytes(pSprms, nVarLen);
sal_uInt64 nDataPos = rWrt.m_pDataStrm->Tell();
SwWW8Writer::WriteShort( *rWrt.m_pDataStrm, nVarLen );
rWrt.m_pDataStrm->WriteBytes(pSprms, nVarLen);
Set_UInt16( p, 0x6646 ); // set SprmCode
Set_UInt32( p, nDataPos ); // set startpos (FC) in the datastream
@@ -1038,45 +1038,45 @@ void WW8_WrPlcPn::WriteFkps()
if( CHP == ePlc )
{
rWrt.pFib->m_pnChpFirst = nFkpStartPage;
rWrt.pFib->m_cpnBteChp = m_Fkps.size();
rWrt.m_pFib->m_pnChpFirst = nFkpStartPage;
rWrt.m_pFib->m_cpnBteChp = m_Fkps.size();
}
else
{
rWrt.pFib->m_pnPapFirst = nFkpStartPage;
rWrt.pFib->m_cpnBtePap = m_Fkps.size();
rWrt.m_pFib->m_pnPapFirst = nFkpStartPage;
rWrt.m_pFib->m_cpnBtePap = m_Fkps.size();
}
}
void WW8_WrPlcPn::WritePlc()
{
sal_uInt64 nFcStart = rWrt.pTableStrm->Tell();
sal_uInt64 nFcStart = rWrt.m_pTableStrm->Tell();
decltype(m_Fkps)::size_type i;
for (i = 0; i < m_Fkps.size(); ++i)
{
SwWW8Writer::WriteLong( *rWrt.pTableStrm,
SwWW8Writer::WriteLong( *rWrt.m_pTableStrm,
m_Fkps[ i ]->GetStartFc() );
}
SwWW8Writer::WriteLong( *rWrt.pTableStrm,
SwWW8Writer::WriteLong( *rWrt.m_pTableStrm,
m_Fkps[ i - 1 ]->GetEndFc() );
// for every FKP output the page
for (i = 0; i < m_Fkps.size(); ++i)
{
SwWW8Writer::WriteLong( *rWrt.pTableStrm, i + nFkpStartPage );
SwWW8Writer::WriteLong( *rWrt.m_pTableStrm, i + nFkpStartPage );
}
if( CHP == ePlc )
{
rWrt.pFib->m_fcPlcfbteChpx = nFcStart;
rWrt.pFib->m_lcbPlcfbteChpx = rWrt.pTableStrm->Tell() - nFcStart;
rWrt.m_pFib->m_fcPlcfbteChpx = nFcStart;
rWrt.m_pFib->m_lcbPlcfbteChpx = rWrt.m_pTableStrm->Tell() - nFcStart;
}
else
{
rWrt.pFib->m_fcPlcfbtePapx = nFcStart;
rWrt.pFib->m_lcbPlcfbtePapx = rWrt.pTableStrm->Tell() - nFcStart;
rWrt.m_pFib->m_fcPlcfbtePapx = nFcStart;
rWrt.m_pFib->m_lcbPlcfbtePapx = rWrt.m_pTableStrm->Tell() - nFcStart;
}
}
@@ -1364,37 +1364,37 @@ void WW8_WrPct::WritePc( WW8Export& rWrt )
sal_uInt64 nPctStart;
sal_uLong nOldPos, nEndPos;
nPctStart = rWrt.pTableStrm->Tell(); // Start piece table
rWrt.pTableStrm->WriteChar( char(0x02) ); // Status byte PCT
nPctStart = rWrt.m_pTableStrm->Tell(); // Start piece table
rWrt.m_pTableStrm->WriteChar( char(0x02) ); // Status byte PCT
nOldPos = nPctStart + 1; // remember Position
SwWW8Writer::WriteLong( *rWrt.pTableStrm, 0 ); // then the length
SwWW8Writer::WriteLong( *rWrt.m_pTableStrm, 0 ); // then the length
for (auto const& it : m_Pcts) // ranges
{
SwWW8Writer::WriteLong( *rWrt.pTableStrm, it->GetStartCp() );
SwWW8Writer::WriteLong( *rWrt.m_pTableStrm, it->GetStartCp() );
}
// calculate the last Pos
sal_uLong nStartCp = rWrt.pFib->m_fcMac - nOldFc;
sal_uLong nStartCp = rWrt.m_pFib->m_fcMac - nOldFc;
nStartCp >>= 1; // For Unicode: number of characters / 2
nStartCp += m_Pcts.back()->GetStartCp();
SwWW8Writer::WriteLong( *rWrt.pTableStrm, nStartCp );
SwWW8Writer::WriteLong( *rWrt.m_pTableStrm, nStartCp );
// piece references
for (auto const& it : m_Pcts)
{
SwWW8Writer::WriteShort(*rWrt.pTableStrm, it->GetStatus());
SwWW8Writer::WriteLong(*rWrt.pTableStrm, it->GetStartFc());
SwWW8Writer::WriteShort( *rWrt.pTableStrm, 0); // PRM=0
SwWW8Writer::WriteShort(*rWrt.m_pTableStrm, it->GetStatus());
SwWW8Writer::WriteLong(*rWrt.m_pTableStrm, it->GetStartFc());
SwWW8Writer::WriteShort( *rWrt.m_pTableStrm, 0); // PRM=0
}
// entries in the FIB
rWrt.pFib->m_fcClx = nPctStart;
nEndPos = rWrt.pTableStrm->Tell();
rWrt.pFib->m_lcbClx = nEndPos - nPctStart;
rWrt.m_pFib->m_fcClx = nPctStart;
nEndPos = rWrt.m_pTableStrm->Tell();
rWrt.m_pFib->m_lcbClx = nEndPos - nPctStart;
// and register the length as well
SwWW8Writer::WriteLong( *rWrt.pTableStrm, nOldPos,
SwWW8Writer::WriteLong( *rWrt.m_pTableStrm, nOldPos,
nEndPos - nPctStart-5 );
}
@@ -1598,12 +1598,12 @@ void WW8Export::ExportGrfBullet(const SwTextNode& rNd)
static sal_uInt8 nAttrMagicIdx = 0;
void WW8Export::OutGrfBullets(const ww8::Frame & rFrame)
{
if ( !m_pGrf || !m_pChpPlc || !pO )
if ( !m_pGrf || !m_pChpPlc || !m_pO )
return;
m_pGrf->Insert(rFrame);
m_pChpPlc->AppendFkpEntry( Strm().Tell(), pO->size(), pO->data() );
pO->clear();
m_pChpPlc->AppendFkpEntry( Strm().Tell(), m_pO->size(), m_pO->data() );
m_pO->clear();
// if links...
WriteChar( char(1) );
@@ -1650,8 +1650,8 @@ int MSWordExportBase::GetGrfIndex(const SvxBrushItem& rBrush)
void WW8_WrtRedlineAuthor::Write( Writer& rWrt )
{
WW8Export & rWW8Wrt = *(static_cast<SwWW8Writer&>(rWrt).m_pExport);
rWW8Wrt.WriteAsStringTable(maAuthors, rWW8Wrt.pFib->m_fcSttbfRMark,
rWW8Wrt.pFib->m_lcbSttbfRMark);
rWW8Wrt.WriteAsStringTable(maAuthors, rWW8Wrt.m_pFib->m_fcSttbfRMark,
rWW8Wrt.m_pFib->m_lcbSttbfRMark);
}
sal_uInt16 WW8Export::AddRedlineAuthor( std::size_t nId )
@@ -1673,7 +1673,7 @@ void WW8Export::WriteAsStringTable(const std::vector<OUString>& rStrings,
// we have some Redlines found in the document -> the
// Author Name Stringtable
SvStream& rStrm = *pTableStrm;
SvStream& rStrm = *m_pTableStrm;
rfcSttbf = rStrm.Tell();
SwWW8Writer::WriteShort( rStrm, -1 );
SwWW8Writer::WriteLong( rStrm, nCount );
@@ -1951,10 +1951,10 @@ void WW8Export::SaveData( SwNodeOffset nStt, SwNodeOffset nEnd )
MSWordSaveData &rData = m_aSaveData.top();
if ( !pO->empty() )
if ( !m_pO->empty() )
{
rData.pOOld = std::move(pO);
pO.reset(new ww::bytes);
rData.pOOld = std::move(m_pO);
m_pO.reset(new ww::bytes);
}
else
rData.pOOld = nullptr; // reuse pO
@@ -1969,10 +1969,10 @@ void WW8Export::RestoreData()
GetWriter().m_bWriteAll = rData.bOldWriteAll;
OSL_ENSURE( pO->empty(), "pO is not empty in WW8Export::RestoreData()" );
OSL_ENSURE( m_pO->empty(), "pO is not empty in WW8Export::RestoreData()" );
if ( rData.pOOld )
{
pO = std::move(rData.pOOld);
m_pO = std::move(rData.pOOld);
}
MSWordExportBase::RestoreData();
@@ -1987,14 +1987,14 @@ void WW8AttributeOutput::TableInfoCell( ww8::WW8TableNodeInfoInner::Pointer_t pT
/* Cell */
m_rWW8Export.InsUInt16( NS_sprm::PFInTable::val );
m_rWW8Export.pO->push_back( sal_uInt8(0x1) );
m_rWW8Export.m_pO->push_back( sal_uInt8(0x1) );
m_rWW8Export.InsUInt16( NS_sprm::PItap::val );
m_rWW8Export.InsUInt32( nDepth );
if ( nDepth > 1 && pTableTextNodeInfoInner->isEndOfCell() )
{
m_rWW8Export.InsUInt16( NS_sprm::PFInnerTableCell::val );
m_rWW8Export.pO->push_back( sal_uInt8(0x1) );
m_rWW8Export.m_pO->push_back( sal_uInt8(0x1) );
}
}
@@ -2010,12 +2010,12 @@ void WW8AttributeOutput::TableInfoRow( ww8::WW8TableNodeInfoInner::Pointer_t pTa
return;
m_rWW8Export.InsUInt16( NS_sprm::PFInTable::val );
m_rWW8Export.pO->push_back( sal_uInt8(0x1) );
m_rWW8Export.m_pO->push_back( sal_uInt8(0x1) );
if ( nDepth == 1 )
{
m_rWW8Export.InsUInt16( NS_sprm::PFTtp::val );
m_rWW8Export.pO->push_back( sal_uInt8(0x1) );
m_rWW8Export.m_pO->push_back( sal_uInt8(0x1) );
}
m_rWW8Export.InsUInt16( NS_sprm::PItap::val );
@@ -2024,9 +2024,9 @@ void WW8AttributeOutput::TableInfoRow( ww8::WW8TableNodeInfoInner::Pointer_t pTa
if ( nDepth > 1 )
{
m_rWW8Export.InsUInt16( NS_sprm::PFInnerTableCell::val );
m_rWW8Export.pO->push_back( sal_uInt8(0x1) );
m_rWW8Export.m_pO->push_back( sal_uInt8(0x1) );
m_rWW8Export.InsUInt16( NS_sprm::PFInnerTtp::val );
m_rWW8Export.pO->push_back( sal_uInt8(0x1) );
m_rWW8Export.m_pO->push_back( sal_uInt8(0x1) );
}
// Most of these are per-row definitions, not per-table.
@@ -2125,8 +2125,8 @@ void WW8AttributeOutput::TableVerticalCell( ww8::WW8TableNodeInfoInner::Pointer_
if (nTextFlow != 0)
{
m_rWW8Export.InsUInt16( NS_sprm::TTextFlow::val );
m_rWW8Export.pO->push_back( n ); //start range
m_rWW8Export.pO->push_back( sal_uInt8(n + 1) ); //end range
m_rWW8Export.m_pO->push_back( n ); //start range
m_rWW8Export.m_pO->push_back( sal_uInt8(n + 1) ); //end range
m_rWW8Export.InsUInt16(nTextFlow);
}
}
@@ -2147,9 +2147,9 @@ void WW8AttributeOutput::TableCanSplit( ww8::WW8TableNodeInfoInner::Pointer_t pT
const SwFormatRowSplit& rSplittable = pLineFormat->GetRowSplit();
sal_uInt8 nCantSplit = (!rSplittable.GetValue()) ? 1 : 0;
m_rWW8Export.InsUInt16( NS_sprm::TFCantSplit::val );
m_rWW8Export.pO->push_back( nCantSplit );
m_rWW8Export.m_pO->push_back( nCantSplit );
m_rWW8Export.InsUInt16( NS_sprm::TFCantSplit90::val ); // also write fCantSplit90
m_rWW8Export.pO->push_back( nCantSplit );
m_rWW8Export.m_pO->push_back( nCantSplit );
}
void WW8AttributeOutput::TableBidi( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner )
@@ -2281,7 +2281,7 @@ void WW8AttributeOutput::TableSpacing(ww8::WW8TableNodeInfoInner::Pointer_t pTab
sal_uInt8 const nTPc = (nPadding << 4) | (nPcVert << 2) | nPcHorz;
m_rWW8Export.InsUInt16(NS_sprm::TPc::val);
m_rWW8Export.pO->push_back( nTPc );
m_rWW8Export.m_pO->push_back( nTPc );
m_rWW8Export.InsUInt16(NS_sprm::TDyaAbs::val);
m_rWW8Export.InsUInt16(rUL.GetUpper());
@@ -2304,7 +2304,7 @@ void WW8AttributeOutput::TableDefinition( ww8::WW8TableNodeInfoInner::Pointer_t
if ( pTable->GetRowsToRepeat() > pTableTextNodeInfoInner->getRow() )
{
m_rWW8Export.InsUInt16( NS_sprm::TTableHeader::val );
m_rWW8Export.pO->push_back( 1 );
m_rWW8Export.m_pO->push_back( 1 );
}
ww8::TableBoxVectorPtr pTableBoxes =
@@ -2319,7 +2319,7 @@ void WW8AttributeOutput::TableDefinition( ww8::WW8TableNodeInfoInner::Pointer_t
m_rWW8Export.InsUInt16( nSprmSize ); // length
// number of boxes
m_rWW8Export.pO->push_back( static_cast<sal_uInt8>(nBoxes) );
m_rWW8Export.m_pO->push_back( static_cast<sal_uInt8>(nBoxes) );
/* cells */
/*
@@ -2387,7 +2387,7 @@ void WW8AttributeOutput::TableDefinition( ww8::WW8TableNodeInfoInner::Pointer_t
for (const SwTableBox * pTabBox1 : *pTableBoxes)
{
sal_uInt16 npOCount = m_rWW8Export.pO->size();
sal_uInt16 npOCount = m_rWW8Export.m_pO->size();
const SwFrameFormat * pBoxFormat = nullptr;
if (pTabBox1 != nullptr)
@@ -2399,17 +2399,17 @@ void WW8AttributeOutput::TableDefinition( ww8::WW8TableNodeInfoInner::Pointer_t
static sal_uInt8 aNullBytes[] = { 0x0, 0x0 };
m_rWW8Export.pO->insert( m_rWW8Export.pO->end(), aNullBytes, aNullBytes+2 ); // dummy
m_rWW8Export.m_pO->insert( m_rWW8Export.m_pO->end(), aNullBytes, aNullBytes+2 ); // dummy
if (pBoxFormat != nullptr)
{
const SvxBoxItem & rBoxItem = pBoxFormat->GetBox();
WW8Export::Out_SwFormatTableBox( *m_rWW8Export.pO, &rBoxItem ); // 8/16 Byte
WW8Export::Out_SwFormatTableBox( *m_rWW8Export.m_pO, &rBoxItem ); // 8/16 Byte
}
else
WW8Export::Out_SwFormatTableBox( *m_rWW8Export.pO, nullptr); // 8/16 Byte
WW8Export::Out_SwFormatTableBox( *m_rWW8Export.m_pO, nullptr); // 8/16 Byte
SAL_INFO( "sw.ww8.level2", "<tclength>" << ( m_rWW8Export.pO->size() - npOCount ) << "</tclength>" );
SAL_INFO( "sw.ww8.level2", "<tclength>" << ( m_rWW8Export.m_pO->size() - npOCount ) << "</tclength>" );
++aItRowSpans;
}
@@ -2423,7 +2423,7 @@ void WW8AttributeOutput::TableDefinition( ww8::WW8TableNodeInfoInner::Pointer_t
if ( nWidthPercent > 0 && nWidthPercent <= 600 )
{
m_rWW8Export.InsUInt16( NS_sprm::TTableWidth::val );
m_rWW8Export.pO->push_back( sal_uInt8/*ftsPercent*/ (2) );
m_rWW8Export.m_pO->push_back( sal_uInt8/*ftsPercent*/ (2) );
m_rWW8Export.InsUInt16( o3tl::narrowing<sal_uInt16>(nWidthPercent) * 50 );
}
}
@@ -2533,14 +2533,14 @@ void WW8AttributeOutput::TableDefaultBorders( ww8::WW8TableNodeInfoInner::Pointe
// Set row default cell margins using this last cell in the row
for ( int i = 0; i < 4; ++i )
{
SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::TCellPaddingDefault::val );
m_rWW8Export.pO->push_back( sal_uInt8(6) );
m_rWW8Export.pO->push_back( sal_uInt8(0) );
m_rWW8Export.pO->push_back( sal_uInt8(1) );
m_rWW8Export.pO->push_back( sal_uInt8(1 << i) );
m_rWW8Export.pO->push_back( sal_uInt8(3) );
SwWW8Writer::InsUInt16( *m_rWW8Export.m_pO, NS_sprm::TCellPaddingDefault::val );
m_rWW8Export.m_pO->push_back( sal_uInt8(6) );
m_rWW8Export.m_pO->push_back( sal_uInt8(0) );
m_rWW8Export.m_pO->push_back( sal_uInt8(1) );
m_rWW8Export.m_pO->push_back( sal_uInt8(1 << i) );
m_rWW8Export.m_pO->push_back( sal_uInt8(3) );
SwWW8Writer::InsUInt16( *m_rWW8Export.pO,
SwWW8Writer::InsUInt16( *m_rWW8Export.m_pO,
pFrameFormat->GetBox().GetDistance( aBorders[i] ) );
}
}
@@ -2614,13 +2614,13 @@ void WW8AttributeOutput::TableCellBorders(
{
if ( nSideBits[i] )
{
SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::TCellPadding::val );
m_rWW8Export.pO->push_back( sal_uInt8(6) ); // 6 bytes
m_rWW8Export.pO->push_back( sal_uInt8(nSeqStart) ); // first cell: apply margin
m_rWW8Export.pO->push_back( sal_uInt8(n) ); // end cell: do not apply margin
m_rWW8Export.pO->push_back( sal_uInt8(nSideBits[i]) );
m_rWW8Export.pO->push_back( sal_uInt8(3) ); // FtsDxa: size in twips
SwWW8Writer::InsUInt16( *m_rWW8Export.pO, nMargin[i] );
SwWW8Writer::InsUInt16( *m_rWW8Export.m_pO, NS_sprm::TCellPadding::val );
m_rWW8Export.m_pO->push_back( sal_uInt8(6) ); // 6 bytes
m_rWW8Export.m_pO->push_back( sal_uInt8(nSeqStart) ); // first cell: apply margin
m_rWW8Export.m_pO->push_back( sal_uInt8(n) ); // end cell: do not apply margin
m_rWW8Export.m_pO->push_back( sal_uInt8(nSideBits[i]) );
m_rWW8Export.m_pO->push_back( sal_uInt8(3) ); // FtsDxa: size in twips
SwWW8Writer::InsUInt16( *m_rWW8Export.m_pO, nMargin[i] );
}
}
@@ -2639,7 +2639,7 @@ void WW8AttributeOutput::TableBackgrounds( ww8::WW8TableNodeInfoInner::Pointer_t
sal_uInt8 nBoxes = rTabBoxes.size();
m_rWW8Export.InsUInt16( NS_sprm::TDefTableShd80::val );
m_rWW8Export.pO->push_back( static_cast<sal_uInt8>(nBoxes * 2) ); // Len
m_rWW8Export.m_pO->push_back( static_cast<sal_uInt8>(nBoxes * 2) ); // Len
Color aRowColor = COL_AUTO;
const SvxBrushItem *pTableColorProp = pTab->GetFrameFormat()->GetAttrSet().GetItem<SvxBrushItem>(RES_BACKGROUND);
@@ -2705,7 +2705,7 @@ void WW8AttributeOutput::TableBackgrounds( ww8::WW8TableNodeInfoInner::Pointer_t
break;
m_rWW8Export.InsUInt16( m );
m_rWW8Export.pO->push_back( static_cast<sal_uInt8>((nStop-nStart) * 10) );
m_rWW8Export.m_pO->push_back( static_cast<sal_uInt8>((nStop-nStart) * 10) );
for ( sal_uInt8 n = nStart; n < nStop; n++ )
{
@@ -2932,17 +2932,17 @@ void WW8Export::WriteMainText()
{
SAL_INFO( "sw.ww8.level2", "<WriteMainText>" );
pFib->m_fcMin = Strm().Tell();
m_pFib->m_fcMin = Strm().Tell();
m_pCurPam->GetPoint()->nNode = m_rDoc.GetNodes().GetEndOfContent().StartOfSectionNode()->GetIndex();
WriteText();
if( 0 == Strm().Tell() - pFib->m_fcMin ) // no text ?
if( 0 == Strm().Tell() - m_pFib->m_fcMin ) // no text ?
WriteCR(); // then CR at the end ( otherwise WW will complain )
pFib->m_ccpText = Fc2Cp( Strm().Tell() );
m_pFieldMain->Finish( pFib->m_ccpText, 0 );
m_pFib->m_ccpText = Fc2Cp( Strm().Tell() );
m_pFieldMain->Finish( m_pFib->m_ccpText, 0 );
// ccpText includes Footnote and KF-text
// therefore pFib->ccpText may get updated as well
@@ -2988,18 +2988,18 @@ void WW8Export::WriteFkpPlcUsw()
// output into WordDocument stream
m_pChpPlc->WriteFkps(); // Fkp.Chpx
m_pPapPlc->WriteFkps(); // Fkp.Papx
pSepx->WriteSepx( Strm() ); // Sepx
m_pSepx->WriteSepx( Strm() ); // Sepx
// output into Table stream
m_pStyles->OutputStylesTable(); // for WW8 StyleTab
pFootnote->WritePlc( *this ); // Footnote-Ref & Text Plc
pEdn->WritePlc( *this ); // Endnote-Ref & Text Plc
m_pFootnote->WritePlc( *this ); // Footnote-Ref & Text Plc
m_pEdn->WritePlc( *this ); // Endnote-Ref & Text Plc
m_pTextBxs->WritePlc( *this ); // Textbox Text Plc
m_pHFTextBxs->WritePlc( *this ); // Head/Foot-Textbox Text Plc
m_pAtn->WritePlc( *this ); // Annotation-Ref & Text Plc
pSepx->WritePlcSed( *this ); // Slcx.PlcSed
pSepx->WritePlcHdd( *this ); // Slcx.PlcHdd
m_pSepx->WritePlcSed( *this ); // Slcx.PlcSed
m_pSepx->WritePlcHdd( *this ); // Slcx.PlcHdd
m_pChpPlc->WritePlc(); // Plcx.Chpx
m_pPapPlc->WritePlc(); // Plcx.Papx
@@ -3033,7 +3033,7 @@ void WW8Export::WriteFkpPlcUsw()
some magic.
*/
// avoid memory leak #i120098#, the unnamed obj will be released in destructor.
xEscherStg = GetWriter().GetStorage().OpenSotStorage(SL::aObjectPool);
m_xEscherStg = GetWriter().GetStorage().OpenSotStorage(SL::aObjectPool);
}
// dggInfo - escher stream
@@ -3055,10 +3055,10 @@ void WW8Export::WriteFkpPlcUsw()
m_pMagicTable->Write( *this );
m_pPiece->WritePc( *this ); // Piece-Table
m_aFontHelper.WriteFontTable(pTableStrm, *pFib); // FFNs
m_aFontHelper.WriteFontTable(m_pTableStrm, *m_pFib); // FFNs
//Convert OOo asian typography into MS typography structure
ExportDopTypography(pDop->doptypography);
ExportDopTypography(m_pDop->doptypography);
WriteDop( *this ); // Document-Properties
@@ -3069,8 +3069,8 @@ void WW8Export::WriteFkpPlcUsw()
if ( pSttbfAssoc ) // #i106057#
{
std::vector<OUString> aStrings(pSttbfAssoc->getStrings());
WriteAsStringTable(aStrings, pFib->m_fcSttbfAssoc,
pFib->m_lcbSttbfAssoc);
WriteAsStringTable(aStrings, m_pFib->m_fcSttbfAssoc,
m_pFib->m_lcbSttbfAssoc);
}
Strm().Seek( 0 );
@@ -3081,29 +3081,29 @@ void WW8Export::WriteFkpPlcUsw()
if ( pFibData )
{
pFib->m_fReadOnlyRecommended =
m_pFib->m_fReadOnlyRecommended =
pFibData->getReadOnlyRecommended();
pFib->m_fWriteReservation =
m_pFib->m_fWriteReservation =
pFibData->getWriteReservation();
}
pFib->Write( Strm() ); // FIB
m_pFib->Write( Strm() ); // FIB
}
void WW8Export::StoreDoc1()
{
bool bNeedsFinalPara = false;
// Start of Text ( overwrite )
SwWW8Writer::FillUntil( Strm(), pFib->m_fcMin );
SwWW8Writer::FillUntil( Strm(), m_pFib->m_fcMin );
WriteMainText(); // main text
sal_uInt8 nSprmsLen;
sal_uInt8 *pLastSprms = m_pPapPlc->CopyLastSprms(nSprmsLen);
bNeedsFinalPara |= pFootnote->WriteText( *this ); // Footnote-Text
bNeedsFinalPara |= pSepx->WriteKFText( *this ); // K/F-Text
bNeedsFinalPara |= m_pFootnote->WriteText( *this ); // Footnote-Text
bNeedsFinalPara |= m_pSepx->WriteKFText( *this ); // K/F-Text
bNeedsFinalPara |= m_pAtn->WriteText( *this ); // Annotation-Text
bNeedsFinalPara |= pEdn->WriteText( *this ); // EndNote-Text
bNeedsFinalPara |= m_pEdn->WriteText( *this ); // EndNote-Text
// create the escher streams
CreateEscher();
@@ -3118,10 +3118,10 @@ void WW8Export::StoreDoc1()
}
delete[] pLastSprms;
pSepx->Finish( Fc2Cp( Strm().Tell() ));// Text + Footnote + HdFt as section end
m_pSepx->Finish( Fc2Cp( Strm().Tell() ));// Text + Footnote + HdFt as section end
m_pMagicTable->Finish( Fc2Cp( Strm().Tell() ),0);
pFib->m_fcMac = Strm().Tell(); // End of all texts
m_pFib->m_fcMac = Strm().Tell(); // End of all texts
WriteFkpPlcUsw(); // FKP, PLC, ...
}
@@ -3456,13 +3456,13 @@ ErrCode WW8Export::ExportDocument_Impl()
{
PrepareStorage();
pFib.reset(new WW8Fib(8, m_bDot));
m_pFib.reset(new WW8Fib(8, m_bDot));
tools::SvRef<SotStorageStream> xWwStrm( GetWriter().GetStorage().OpenSotStream( m_aMainStg ) );
tools::SvRef<SotStorageStream> xTableStrm( xWwStrm ), xDataStrm( xWwStrm );
xWwStrm->SetBufferSize( 32768 );
pFib->m_fWhichTableStm = true;
m_pFib->m_fWhichTableStm = true;
xTableStrm = GetWriter().GetStorage().OpenSotStream(SL::a1Table, StreamMode::STD_WRITE);
xDataStrm = GetWriter().GetStorage().OpenSotStream(SL::aData, StreamMode::STD_WRITE);
@@ -3473,8 +3473,8 @@ ErrCode WW8Export::ExportDocument_Impl()
xDataStrm->SetEndian( SvStreamEndian::LITTLE );
GetWriter().SetStream( xWwStrm.get() );
pTableStrm = xTableStrm.get();
pDataStrm = xDataStrm.get();
m_pTableStrm = xTableStrm.get();
m_pDataStrm = xDataStrm.get();
Strm().SetEndian( SvStreamEndian::LITTLE );
@@ -3492,19 +3492,19 @@ ErrCode WW8Export::ExportDocument_Impl()
GetWriter().SetStream(
aTempMain.GetStream( StreamMode::READWRITE | StreamMode::SHARE_DENYWRITE ) );
pTableStrm = aTempTable.GetStream( StreamMode::READWRITE | StreamMode::SHARE_DENYWRITE );
m_pTableStrm = aTempTable.GetStream( StreamMode::READWRITE | StreamMode::SHARE_DENYWRITE );
pDataStrm = aTempData.GetStream( StreamMode::READWRITE | StreamMode::SHARE_DENYWRITE );
m_pDataStrm = aTempData.GetStream( StreamMode::READWRITE | StreamMode::SHARE_DENYWRITE );
sal_uInt8 const aRC4EncryptionHeader[ 52 ] = {0};
pTableStrm->WriteBytes(aRC4EncryptionHeader, 52);
m_pTableStrm->WriteBytes(aRC4EncryptionHeader, 52);
}
// Default: "Standard"
pSepx.reset(new WW8_WrPlcSepx( *this )); // Sections/headers/footers
m_pSepx.reset(new WW8_WrPlcSepx( *this )); // Sections/headers/footers
pFootnote.reset(new WW8_WrPlcFootnoteEdn( TXT_FTN )); // Footnotes
pEdn.reset(new WW8_WrPlcFootnoteEdn( TXT_EDN )); // Endnotes
m_pFootnote.reset(new WW8_WrPlcFootnoteEdn( TXT_FTN )); // Footnotes
m_pEdn.reset(new WW8_WrPlcFootnoteEdn( TXT_EDN )); // Endnotes
m_pAtn.reset(new WW8_WrPlcAnnotations); // PostIts
m_pFactoids.reset(new WW8_WrtFactoids); // Smart tags.
m_pTextBxs.reset(new WW8_WrPlcTextBoxes( TXT_TXTBOX ));
@@ -3516,9 +3516,9 @@ ErrCode WW8Export::ExportDocument_Impl()
m_pBkmks.reset(new WW8_WrtBookmarks); // Bookmarks
GetWriter().CreateBookmarkTable();
m_pPapPlc.reset(new WW8_WrPlcPn( *this, PAP, pFib->m_fcMin ));
m_pChpPlc.reset(new WW8_WrPlcPn( *this, CHP, pFib->m_fcMin ));
pO.reset(new ww::bytes);
m_pPapPlc.reset(new WW8_WrPlcPn( *this, PAP, m_pFib->m_fcMin ));
m_pChpPlc.reset(new WW8_WrPlcPn( *this, CHP, m_pFib->m_fcMin ));
m_pO.reset(new ww::bytes);
m_pStyles.reset(new MSWordStyles( *this ));
m_pFieldMain.reset(new WW8_WrPlcField( 2, TXT_MAINTEXT ));
m_pFieldHdFt.reset(new WW8_WrPlcField( 2, TXT_HDFT ));
@@ -3531,13 +3531,13 @@ ErrCode WW8Export::ExportDocument_Impl()
m_pMagicTable.reset(new WW8_WrMagicTable);
m_pGrf.reset(new SwWW8WrGrf( *this ));
m_pPiece.reset(new WW8_WrPct( pFib->m_fcMin ));
pDop.reset(new WW8Dop);
m_pPiece.reset(new WW8_WrPct( m_pFib->m_fcMin ));
m_pDop.reset(new WW8Dop);
pDop->fRevMarking = bool( RedlineFlags::On & m_nOrigRedlineFlags );
m_pDop->fRevMarking = bool( RedlineFlags::On & m_nOrigRedlineFlags );
SwRootFrame const*const pLayout(m_rDoc.getIDocumentLayoutAccess().GetCurrentLayout());
pDop->fRMView = pLayout == nullptr || !pLayout->IsHideRedlines();
pDop->fRMPrint = pDop->fRMView;
m_pDop->fRMView = pLayout == nullptr || !pLayout->IsHideRedlines();
m_pDop->fRMPrint = m_pDop->fRMView;
// set AutoHyphenation flag if found in default para style
const SvxHyphenZoneItem* pItem;
@@ -3546,7 +3546,7 @@ ErrCode WW8Export::ExportDocument_Impl()
if (pStdTextFormatColl && (pItem = pStdTextFormatColl->GetItemIfSet(
RES_PARATR_HYPHENZONE, false)))
{
pDop->fAutoHyphen = pItem->IsHyphen();
m_pDop->fAutoHyphen = pItem->IsHyphen();
}
StoreDoc1();
@@ -3560,13 +3560,13 @@ ErrCode WW8Export::ExportDocument_Impl()
pDataStrmTemp = xDataStrm.get();
if ( pDataStrmTemp && pDataStrmTemp != pStrmTemp) {
err = EncryptRC4(aCtx, *pDataStrm, *pDataStrmTemp);
err = EncryptRC4(aCtx, *m_pDataStrm, *pDataStrmTemp);
if (err != ERRCODE_NONE) {
goto done;
}
}
err = EncryptRC4(aCtx, *pTableStrm, *pTableStrmTemp);
err = EncryptRC4(aCtx, *m_pTableStrm, *pTableStrmTemp);
if (err != ERRCODE_NONE) {
goto done;
}
@@ -3593,13 +3593,13 @@ ErrCode WW8Export::ExportDocument_Impl()
}
// Write Unencrypted Fib 68 bytes to the start of the workdocument stream
pFib->m_fEncrypted = true; // fEncrypted indicates the document is encrypted.
pFib->m_fObfuscated = false; // Must be 0 for RC4.
pFib->m_nHash = 0x34; // encrypt header bytes count of table stream.
pFib->m_nKey = 0; // lkey2 must be 0 for RC4.
m_pFib->m_fEncrypted = true; // fEncrypted indicates the document is encrypted.
m_pFib->m_fObfuscated = false; // Must be 0 for RC4.
m_pFib->m_nHash = 0x34; // encrypt header bytes count of table stream.
m_pFib->m_nKey = 0; // lkey2 must be 0 for RC4.
pStrmTemp->Seek( 0 );
pFib->WriteHeader( *pStrmTemp );
m_pFib->WriteHeader( *pStrmTemp );
done:;
}
@@ -3613,10 +3613,10 @@ ErrCode WW8Export::ExportDocument_Impl()
m_pFieldHdFt.reset();
m_pFieldMain.reset();
m_pStyles.reset();
pO.reset();
m_pO.reset();
m_pChpPlc.reset();
m_pPapPlc.reset();
pSepx.reset();
m_pSepx.reset();
m_pRedlAuthors.reset();
m_pSdrObjs.reset();
@@ -3624,21 +3624,21 @@ ErrCode WW8Export::ExportDocument_Impl()
m_pTextBxs.reset();
m_pHFTextBxs.reset();
m_pAtn.reset();
pEdn.reset();
pFootnote.reset();
m_pEdn.reset();
m_pFootnote.reset();
m_pBkmks.reset();
m_pPiece.reset();
pDop.reset();
pFib.reset();
m_pDop.reset();
m_pFib.reset();
GetWriter().SetStream( nullptr );
xWwStrm->SetBufferSize( 0 );
xTableStrm->SetBufferSize( 0 );
xDataStrm->SetBufferSize( 0 );
if( 0 == pDataStrm->Seek( STREAM_SEEK_TO_END ))
if( 0 == m_pDataStrm->Seek( STREAM_SEEK_TO_END ))
{
xDataStrm.clear();
pDataStrm = nullptr;
m_pDataStrm = nullptr;
GetWriter().GetStorage().Remove(SL::aData);
}
@@ -3920,8 +3920,8 @@ WW8Export::WW8Export( SwWW8Writer *pWriter,
SwDoc& rDocument, std::shared_ptr<SwUnoCursor> & pCurrentPam, SwPaM* pOriginalPam,
bool bDot )
: MSWordExportBase( rDocument, pCurrentPam, pOriginalPam )
, pTableStrm(nullptr)
, pDataStrm(nullptr)
, m_pTableStrm(nullptr)
, m_pDataStrm(nullptr)
, m_bDot(bDot)
, m_pWriter(pWriter)
, m_pAttrOutput(new WW8AttributeOutput(*this))
@@ -3939,7 +3939,7 @@ AttributeOutputBase& WW8Export::AttrOutput() const
MSWordSections& WW8Export::Sections() const
{
return *pSepx;
return *m_pSepx;
}
SwWW8Writer::SwWW8Writer(const OUString& rFltName, const OUString& rBaseURL)
@@ -3976,16 +3976,16 @@ bool WW8_WrPlcFootnoteEdn::WriteText( WW8Export& rWrt )
bool bRet = false;
if (TXT_FTN == nTyp)
{
bRet = WriteGenericText( rWrt, TXT_FTN, rWrt.pFib->m_ccpFootnote );
bRet = WriteGenericText( rWrt, TXT_FTN, rWrt.m_pFib->m_ccpFootnote );
rWrt.m_pFieldFootnote->Finish( rWrt.Fc2Cp( rWrt.Strm().Tell() ),
rWrt.pFib->m_ccpText );
rWrt.m_pFib->m_ccpText );
}
else
{
bRet = WriteGenericText( rWrt, TXT_EDN, rWrt.pFib->m_ccpEdn );
bRet = WriteGenericText( rWrt, TXT_EDN, rWrt.m_pFib->m_ccpEdn );
rWrt.m_pFieldEdn->Finish( rWrt.Fc2Cp( rWrt.Strm().Tell() ),
rWrt.pFib->m_ccpText + rWrt.pFib->m_ccpFootnote
+ rWrt.pFib->m_ccpHdr + rWrt.pFib->m_ccpAtn );
rWrt.m_pFib->m_ccpText + rWrt.m_pFib->m_ccpFootnote
+ rWrt.m_pFib->m_ccpHdr + rWrt.m_pFib->m_ccpAtn );
}
return bRet;
}
@@ -3994,53 +3994,53 @@ void WW8_WrPlcFootnoteEdn::WritePlc( WW8Export& rWrt ) const
{
if( TXT_FTN == nTyp )
{
WriteGenericPlc( rWrt, TXT_FTN, rWrt.pFib->m_fcPlcffndText,
rWrt.pFib->m_lcbPlcffndText, rWrt.pFib->m_fcPlcffndRef,
rWrt.pFib->m_lcbPlcffndRef );
WriteGenericPlc( rWrt, TXT_FTN, rWrt.m_pFib->m_fcPlcffndText,
rWrt.m_pFib->m_lcbPlcffndText, rWrt.m_pFib->m_fcPlcffndRef,
rWrt.m_pFib->m_lcbPlcffndRef );
}
else
{
WriteGenericPlc( rWrt, TXT_EDN, rWrt.pFib->m_fcPlcfendText,
rWrt.pFib->m_lcbPlcfendText, rWrt.pFib->m_fcPlcfendRef,
rWrt.pFib->m_lcbPlcfendRef );
WriteGenericPlc( rWrt, TXT_EDN, rWrt.m_pFib->m_fcPlcfendText,
rWrt.m_pFib->m_lcbPlcfendText, rWrt.m_pFib->m_fcPlcfendRef,
rWrt.m_pFib->m_lcbPlcfendRef );
}
}
bool WW8_WrPlcAnnotations::WriteText( WW8Export& rWrt )
{
bool bRet = WriteGenericText( rWrt, TXT_ATN, rWrt.pFib->m_ccpAtn );
bool bRet = WriteGenericText( rWrt, TXT_ATN, rWrt.m_pFib->m_ccpAtn );
rWrt.m_pFieldAtn->Finish( rWrt.Fc2Cp( rWrt.Strm().Tell() ),
rWrt.pFib->m_ccpText + rWrt.pFib->m_ccpFootnote
+ rWrt.pFib->m_ccpHdr );
rWrt.m_pFib->m_ccpText + rWrt.m_pFib->m_ccpFootnote
+ rWrt.m_pFib->m_ccpHdr );
return bRet;
}
void WW8_WrPlcAnnotations::WritePlc( WW8Export& rWrt ) const
{
WriteGenericPlc( rWrt, TXT_ATN, rWrt.pFib->m_fcPlcfandText,
rWrt.pFib->m_lcbPlcfandText, rWrt.pFib->m_fcPlcfandRef,
rWrt.pFib->m_lcbPlcfandRef );
WriteGenericPlc( rWrt, TXT_ATN, rWrt.m_pFib->m_fcPlcfandText,
rWrt.m_pFib->m_lcbPlcfandText, rWrt.m_pFib->m_fcPlcfandRef,
rWrt.m_pFib->m_lcbPlcfandRef );
}
void WW8_WrPlcTextBoxes::WritePlc( WW8Export& rWrt ) const
{
if( TXT_TXTBOX == nTyp )
{
WriteGenericPlc( rWrt, nTyp, rWrt.pFib->m_fcPlcftxbxBkd,
rWrt.pFib->m_lcbPlcftxbxBkd, rWrt.pFib->m_fcPlcftxbxText,
rWrt.pFib->m_lcbPlcftxbxText );
WriteGenericPlc( rWrt, nTyp, rWrt.m_pFib->m_fcPlcftxbxBkd,
rWrt.m_pFib->m_lcbPlcftxbxBkd, rWrt.m_pFib->m_fcPlcftxbxText,
rWrt.m_pFib->m_lcbPlcftxbxText );
}
else
{
WriteGenericPlc( rWrt, nTyp, rWrt.pFib->m_fcPlcfHdrtxbxBkd,
rWrt.pFib->m_lcbPlcfHdrtxbxBkd, rWrt.pFib->m_fcPlcfHdrtxbxText,
rWrt.pFib->m_lcbPlcfHdrtxbxText );
WriteGenericPlc( rWrt, nTyp, rWrt.m_pFib->m_fcPlcfHdrtxbxBkd,
rWrt.m_pFib->m_lcbPlcfHdrtxbxBkd, rWrt.m_pFib->m_fcPlcfHdrtxbxText,
rWrt.m_pFib->m_lcbPlcfHdrtxbxText );
}
}
void WW8Export::RestoreMacroCmds()
{
pFib->m_fcCmds = pTableStrm->Tell();
m_pFib->m_fcCmds = m_pTableStrm->Tell();
uno::Reference < embed::XStorage > xSrcRoot(m_rDoc.GetDocShell()->GetStorage());
try
@@ -4051,13 +4051,13 @@ void WW8Export::RestoreMacroCmds()
if ( pStream && ERRCODE_NONE == pStream->GetError())
{
pFib->m_lcbCmds = pStream->TellEnd();
m_pFib->m_lcbCmds = pStream->TellEnd();
pStream->Seek(0);
std::unique_ptr<sal_uInt8[]> pBuffer( new sal_uInt8[pFib->m_lcbCmds] );
bool bReadOk = checkRead(*pStream, pBuffer.get(), pFib->m_lcbCmds);
std::unique_ptr<sal_uInt8[]> pBuffer( new sal_uInt8[m_pFib->m_lcbCmds] );
bool bReadOk = checkRead(*pStream, pBuffer.get(), m_pFib->m_lcbCmds);
if (bReadOk)
pTableStrm->WriteBytes(pBuffer.get(), pFib->m_lcbCmds);
m_pTableStrm->WriteBytes(pBuffer.get(), m_pFib->m_lcbCmds);
}
}
catch ( const uno::Exception& )
@@ -4065,7 +4065,7 @@ void WW8Export::RestoreMacroCmds()
}
// set len to FIB
pFib->m_lcbCmds = pTableStrm->Tell() - pFib->m_fcCmds;
m_pFib->m_lcbCmds = m_pTableStrm->Tell() - m_pFib->m_fcCmds;
}
void WW8SHDLong::Write( WW8Export& rExport )
@@ -4104,7 +4104,7 @@ void WW8Export::WriteFormData( const ::sw::mark::IFieldmark& rFieldmark )
ffname = aName.copy(0, nLen);
}
sal_uInt64 nDataStt = pDataStrm->Tell();
sal_uInt64 nDataStt = m_pDataStrm->Tell();
m_pChpPlc->AppendFkpEntry(Strm().Tell());
WriteChar(0x01);
@@ -4290,33 +4290,33 @@ void WW8Export::WriteFormData( const ::sw::mark::IFieldmark& rFieldmark )
}
}
pDataStrm->WriteUInt32( slen );
m_pDataStrm->WriteUInt32( slen );
int len = sizeof( aFieldData );
OSL_ENSURE( len == 0x44-sizeof(sal_uInt32), "SwWW8Writer::WriteFormData(..) - wrong aFieldData length" );
pDataStrm->WriteBytes( aFieldData, len );
m_pDataStrm->WriteBytes( aFieldData, len );
pDataStrm->WriteUInt32( aFieldHeader.version ).WriteUInt16( aFieldHeader.bits ).WriteUInt16( aFieldHeader.cch ).WriteUInt16( aFieldHeader.hps );
m_pDataStrm->WriteUInt32( aFieldHeader.version ).WriteUInt16( aFieldHeader.bits ).WriteUInt16( aFieldHeader.cch ).WriteUInt16( aFieldHeader.hps );
SwWW8Writer::WriteString_xstz( *pDataStrm, ffname, true ); // Form field name
SwWW8Writer::WriteString_xstz( *m_pDataStrm, ffname, true ); // Form field name
if ( !type )
SwWW8Writer::WriteString_xstz( *pDataStrm, ffdeftext, true );
SwWW8Writer::WriteString_xstz( *m_pDataStrm, ffdeftext, true );
if ( type )
pDataStrm->WriteUInt16( 0 );
m_pDataStrm->WriteUInt16( 0 );
SwWW8Writer::WriteString_xstz( *pDataStrm, ffformat, true );
SwWW8Writer::WriteString_xstz( *pDataStrm, ffhelptext, true );
SwWW8Writer::WriteString_xstz( *pDataStrm, ffstattext, true );
SwWW8Writer::WriteString_xstz( *pDataStrm, ffentrymcr, true );
SwWW8Writer::WriteString_xstz( *pDataStrm, ffexitmcr, true );
SwWW8Writer::WriteString_xstz( *m_pDataStrm, ffformat, true );
SwWW8Writer::WriteString_xstz( *m_pDataStrm, ffhelptext, true );
SwWW8Writer::WriteString_xstz( *m_pDataStrm, ffstattext, true );
SwWW8Writer::WriteString_xstz( *m_pDataStrm, ffentrymcr, true );
SwWW8Writer::WriteString_xstz( *m_pDataStrm, ffexitmcr, true );
if (type==2) {
pDataStrm->WriteUInt16( 0xFFFF );
m_pDataStrm->WriteUInt16( 0xFFFF );
const int items=aListItems.size();
pDataStrm->WriteUInt32( items );
m_pDataStrm->WriteUInt32( items );
for(int i=0;i<items;i++) {
OUString item=aListItems[i];
SwWW8Writer::WriteString_xstz( *pDataStrm, item, false );
SwWW8Writer::WriteString_xstz( *m_pDataStrm, item, false );
}
}
}
@@ -4335,7 +4335,7 @@ void WW8AttributeOutput::TableNodeInfoInner( ww8::WW8TableNodeInfoInner::Pointer
SAL_INFO( "sw.ww8", "<OutWW8_TableNodeInfoInner>" << pNodeInfoInner->toString());
#endif
m_rWW8Export.pO->clear();
m_rWW8Export.m_pO->clear();
sal_uInt32 nShadowsBefore = pNodeInfoInner->getShadowsBefore();
if (nShadowsBefore > 0)
@@ -4350,12 +4350,12 @@ void WW8AttributeOutput::TableNodeInfoInner( ww8::WW8TableNodeInfoInner::Pointer
{
m_rWW8Export.WriteCR(pTmpNodeInfoInner);
m_rWW8Export.pO->insert( m_rWW8Export.pO->end(), nStyle, nStyle+2 ); // Style #
m_rWW8Export.m_pO->insert( m_rWW8Export.m_pO->end(), nStyle, nStyle+2 ); // Style #
TableInfoCell(pTmpNodeInfoInner);
m_rWW8Export.m_pPapPlc->AppendFkpEntry
( m_rWW8Export.Strm().Tell(), m_rWW8Export.pO->size(), m_rWW8Export.pO->data() );
( m_rWW8Export.Strm().Tell(), m_rWW8Export.m_pO->size(), m_rWW8Export.m_pO->data() );
m_rWW8Export.pO->clear();
m_rWW8Export.m_pO->clear();
}
}
@@ -4365,11 +4365,11 @@ void WW8AttributeOutput::TableNodeInfoInner( ww8::WW8TableNodeInfoInner::Pointer
m_rWW8Export.WriteCR(pNodeInfoInner);
m_rWW8Export.pO->insert( m_rWW8Export.pO->end(), nStyle, nStyle+2 ); // Style #
m_rWW8Export.m_pO->insert( m_rWW8Export.m_pO->end(), nStyle, nStyle+2 ); // Style #
TableInfoCell(pNodeInfoInner);
m_rWW8Export.m_pPapPlc->AppendFkpEntry( m_rWW8Export.Strm().Tell(), m_rWW8Export.pO->size(), m_rWW8Export.pO->data() );
m_rWW8Export.m_pPapPlc->AppendFkpEntry( m_rWW8Export.Strm().Tell(), m_rWW8Export.m_pO->size(), m_rWW8Export.m_pO->data() );
m_rWW8Export.pO->clear();
m_rWW8Export.m_pO->clear();
}
sal_uInt32 nShadowsAfter = pNodeInfoInner->getShadowsAfter();
@@ -4385,11 +4385,11 @@ void WW8AttributeOutput::TableNodeInfoInner( ww8::WW8TableNodeInfoInner::Pointer
{
m_rWW8Export.WriteCR(pTmpNodeInfoInner);
m_rWW8Export.pO->insert( m_rWW8Export.pO->end(), nStyle, nStyle+2 ); // Style #
m_rWW8Export.m_pO->insert( m_rWW8Export.m_pO->end(), nStyle, nStyle+2 ); // Style #
TableInfoCell(pTmpNodeInfoInner);
m_rWW8Export.m_pPapPlc->AppendFkpEntry( m_rWW8Export.Strm().Tell(), m_rWW8Export.pO->size(), m_rWW8Export.pO->data() );
m_rWW8Export.m_pPapPlc->AppendFkpEntry( m_rWW8Export.Strm().Tell(), m_rWW8Export.m_pO->size(), m_rWW8Export.m_pO->data() );
m_rWW8Export.pO->clear();
m_rWW8Export.m_pO->clear();
}
}
@@ -4400,11 +4400,11 @@ void WW8AttributeOutput::TableNodeInfoInner( ww8::WW8TableNodeInfoInner::Pointer
TableRowEnd(pNodeInfoInner->getDepth());
ShortToSVBT16(0, nStyle);
m_rWW8Export.pO->insert( m_rWW8Export.pO->end(), nStyle, nStyle+2 ); // Style #
m_rWW8Export.m_pO->insert( m_rWW8Export.m_pO->end(), nStyle, nStyle+2 ); // Style #
TableInfoRow(pNodeInfoInner);
m_rWW8Export.m_pPapPlc->AppendFkpEntry( m_rWW8Export.Strm().Tell(), m_rWW8Export.pO->size(), m_rWW8Export.pO->data() );
m_rWW8Export.m_pPapPlc->AppendFkpEntry( m_rWW8Export.Strm().Tell(), m_rWW8Export.m_pO->size(), m_rWW8Export.m_pO->data() );
m_rWW8Export.pO->clear();
m_rWW8Export.m_pO->clear();
}
SAL_INFO( "sw.ww8", "</OutWW8_TableNodeInfoInner>" );
}
diff --git a/sw/source/filter/ww8/wrtww8.hxx b/sw/source/filter/ww8/wrtww8.hxx
index 6cf8c86..497e06c 100644
--- a/sw/source/filter/ww8/wrtww8.hxx
+++ b/sw/source/filter/ww8/wrtww8.hxx
@@ -989,15 +989,15 @@ private:
class WW8Export : public MSWordExportBase
{
public:
std::unique_ptr<ww::bytes> pO; ///< Buffer
std::unique_ptr<ww::bytes> m_pO; ///< Buffer
SvStream *pTableStrm, *pDataStrm; ///< Streams for WW97 Export
SvStream *m_pTableStrm, *m_pDataStrm; ///< Streams for WW97 Export
std::unique_ptr<WW8Fib> pFib; ///< File Information Block
std::unique_ptr<WW8Dop> pDop; ///< Document Properties
std::unique_ptr<WW8_WrPlcFootnoteEdn> pFootnote; ///< Footnotes - structure to remember them, and output
std::unique_ptr<WW8_WrPlcFootnoteEdn> pEdn; ///< Endnotes - structure to remember them, and output
std::unique_ptr<WW8_WrPlcSepx> pSepx; ///< Sections/headers/footers
std::unique_ptr<WW8Fib> m_pFib; ///< File Information Block
std::unique_ptr<WW8Dop> m_pDop; ///< Document Properties
std::unique_ptr<WW8_WrPlcFootnoteEdn> m_pFootnote; ///< Footnotes - structure to remember them, and output
std::unique_ptr<WW8_WrPlcFootnoteEdn> m_pEdn; ///< Endnotes - structure to remember them, and output
std::unique_ptr<WW8_WrPlcSepx> m_pSepx; ///< Sections/headers/footers
bool m_bDot; ///< Template or document.
@@ -1006,7 +1006,7 @@ protected:
std::unique_ptr<WW8AttributeOutput> m_pAttrOutput; ///< Converting attributes to stream data
private:
tools::SvRef<SotStorage> xEscherStg; /// memory leak #i120098#, to hold the reference to unnamed SotStorage obj
tools::SvRef<SotStorage> m_xEscherStg; /// memory leak #i120098#, to hold the reference to unnamed SotStorage obj
public:
/// Access to the attribute output class.
@@ -1103,7 +1103,7 @@ public:
// some partly static semi-internal function declarations
void OutSprmBytes( sal_uInt8* pBytes, sal_uInt16 nSiz )
{ pO->insert( pO->end(), pBytes, pBytes+nSiz ); }
{ m_pO->insert( m_pO->end(), pBytes, pBytes+nSiz ); }
virtual void SectionBreaksAndFrames( const SwTextNode& rNode ) override;
@@ -1150,9 +1150,9 @@ public:
void MiserableRTLFrameFormatHack(SwTwips &rLeft, SwTwips &rRight,
const ww8::Frame &rFrameFormat);
void InsUInt16( sal_uInt16 n ) { SwWW8Writer::InsUInt16( *pO, n ); }
void InsUInt16( sal_uInt16 n ) { SwWW8Writer::InsUInt16( *m_pO, n ); }
void InsInt16(sal_Int16 n) { InsUInt16(sal_uInt16(n)); }
void InsUInt32( sal_uInt32 n ) { SwWW8Writer::InsUInt32( *pO, n ); }
void InsUInt32( sal_uInt32 n ) { SwWW8Writer::InsUInt32( *m_pO, n ); }
void WriteStringAsPara( const OUString& rText );
/// Setup the exporter.
@@ -1405,7 +1405,7 @@ class SwWW8WrGrf
{
private:
/// for access to the variables
WW8Export& rWrt;
WW8Export& m_rWrt;
std::vector<GraphicDetails> maDetails;
sal_uInt16 mnIdx; // index in file positions
@@ -1423,7 +1423,7 @@ private:
SwWW8WrGrf(const SwWW8WrGrf&) = delete;
SwWW8WrGrf& operator=(const SwWW8WrGrf&) = delete;
public:
explicit SwWW8WrGrf( WW8Export& rW ) : rWrt( rW ), mnIdx( 0 ) {}
explicit SwWW8WrGrf( WW8Export& rW ) : m_rWrt( rW ), mnIdx( 0 ) {}
void Insert(const ww8::Frame &rFly);
void Write();
sal_uLong GetFPos()
diff --git a/sw/source/filter/ww8/wrtww8gr.cxx b/sw/source/filter/ww8/wrtww8gr.cxx
index d038be9..78cecb72 100644
--- a/sw/source/filter/ww8/wrtww8gr.cxx
+++ b/sw/source/filter/ww8/wrtww8gr.cxx
@@ -78,7 +78,7 @@ void WW8Export::OutputGrfNode( const SwGrfNode& /*rNode*/ )
if ( m_pParentFrame )
{
OutGrf( *m_pParentFrame );
pFib->m_fHasPic = true;
m_pFib->m_fHasPic = true;
}
}
@@ -368,8 +368,8 @@ void WW8Export::OutGrf(const ww8::Frame &rFrame)
// Store the graphic settings in GrfNode so they may be written-out later
m_pGrf->Insert(rFrame);
m_pChpPlc->AppendFkpEntry( Strm().Tell(), pO->size(), pO->data() );
pO->clear();
m_pChpPlc->AppendFkpEntry( Strm().Tell(), m_pO->size(), m_pO->data() );
m_pO->clear();
// #i29408#
// linked, as-character anchored graphics have to be exported as fields.
@@ -444,15 +444,15 @@ void WW8Export::OutGrf(const ww8::Frame &rFrame)
WriteChar( char(0x0d) ); // close the surrounding frame with CR
static sal_uInt8 nSty[2] = { 0, 0 };
pO->insert( pO->end(), nSty, nSty+2 ); // Style #0
m_pO->insert( m_pO->end(), nSty, nSty+2 ); // Style #0
bool bOldGrf = m_bOutGrf;
m_bOutGrf = true;
OutputFormat( rFrame.GetFrameFormat(), false, false, true ); // Fly-Attrs
m_bOutGrf = bOldGrf;
m_pPapPlc->AppendFkpEntry( Strm().Tell(), pO->size(), pO->data() );
pO->clear();
m_pPapPlc->AppendFkpEntry( Strm().Tell(), m_pO->size(), m_pO->data() );
m_pO->clear();
}
// #i29408#
// linked, as-character anchored graphics have to be exported as fields.
@@ -644,7 +644,7 @@ void SwWW8WrGrf::WriteGrfFromGrfNode(SvStream& rStrm, const SwGrfNode &rGrfNd,
{
WritePICFHeader(rStrm, rFly, 0x64, nWidth, nHeight,
rGrfNd.GetpSwAttrSet());
SwBasicEscherEx aInlineEscher(&rStrm, rWrt);
SwBasicEscherEx aInlineEscher(&rStrm, m_rWrt);
aInlineEscher.WriteGrfFlyFrame(rFly.GetFrameFormat(), 0x401);
aInlineEscher.WritePictures();
}
@@ -739,7 +739,7 @@ void SwWW8WrGrf::WritePICBulletFHeader(SvStream& rStrm, const Graphic &rGrf,
void SwWW8WrGrf::WriteGrfForBullet(SvStream& rStrm, const Graphic &rGrf, sal_uInt16 nWidth, sal_uInt16 nHeight)
{
WritePICBulletFHeader(rStrm,rGrf, 0x64,nWidth,nHeight);
SwBasicEscherEx aInlineEscher(&rStrm, rWrt);
SwBasicEscherEx aInlineEscher(&rStrm, m_rWrt);
aInlineEscher.WriteGrfBullet(rGrf);
aInlineEscher.WritePictures();
}
@@ -787,7 +787,7 @@ void SwWW8WrGrf::WriteGraphicNode(SvStream& rStrm, const GraphicDetails &rItem)
//documents.
WritePICFHeader(rStrm, rFly, 0x64, nWidth, nHeight,
pNd->GetpSwAttrSet());
SwBasicEscherEx aInlineEscher(&rStrm, rWrt);
SwBasicEscherEx aInlineEscher(&rStrm, m_rWrt);
aInlineEscher.WriteOLEFlyFrame(rFly.GetFrameFormat(), 0x401);
aInlineEscher.WritePictures();
#else
@@ -828,7 +828,7 @@ void SwWW8WrGrf::WriteGraphicNode(SvStream& rStrm, const GraphicDetails &rItem)
*/
{
WritePICFHeader(rStrm, rFly, 0x64, nWidth, nHeight);
SwBasicEscherEx aInlineEscher(&rStrm, rWrt);
SwBasicEscherEx aInlineEscher(&rStrm, m_rWrt);
aInlineEscher.WriteEmptyFlyFrame(rFly.GetFrameFormat(), 0x401);
}
break;
@@ -851,7 +851,7 @@ void SwWW8WrGrf::WriteGraphicNode(SvStream& rStrm, const GraphicDetails &rItem)
// GetFPos() sequentially the positions
void SwWW8WrGrf::Write()
{
SvStream& rStrm = *rWrt.pDataStrm;
SvStream& rStrm = *m_rWrt.m_pDataStrm;
auto aEnd = maDetails.end();
for (auto aIter = maDetails.begin(); aIter != aEnd; ++aIter)
{
diff --git a/sw/source/filter/ww8/ww8atr.cxx b/sw/source/filter/ww8/ww8atr.cxx
index 409b00f1..72a16dd 100644
--- a/sw/source/filter/ww8/ww8atr.cxx
+++ b/sw/source/filter/ww8/ww8atr.cxx
@@ -688,11 +688,11 @@ void WW8Export::PrepareNewPageDesc( const SfxItemSet*pSet,
if ( pNewPgDescFormat )
{
pSepx->AppendSep( Fc2Cp( nFcPos ), *pNewPgDescFormat, rNd, pFormat, nLnNm );
m_pSepx->AppendSep( Fc2Cp( nFcPos ), *pNewPgDescFormat, rNd, pFormat, nLnNm );
}
else if ( pNewPgDesc )
{
pSepx->AppendSep( Fc2Cp( nFcPos ), pNewPgDesc, rNd, pFormat, nLnNm );
m_pSepx->AppendSep( Fc2Cp( nFcPos ), pNewPgDesc, rNd, pFormat, nLnNm );
}
}
@@ -802,10 +802,10 @@ bool WW8Export::DisallowInheritingOutlineNumbering(const SwFormat &rFormat)
{
if (static_cast<const SwTextFormatColl*>(pParent)->IsAssignedToListLevelOfOutlineStyle())
{
SwWW8Writer::InsUInt16(*pO, NS_sprm::POutLvl::val);
pO->push_back(sal_uInt8(9));
SwWW8Writer::InsUInt16(*pO, NS_sprm::PIlfo::val);
SwWW8Writer::InsUInt16(*pO, 0);
SwWW8Writer::InsUInt16(*m_pO, NS_sprm::POutLvl::val);
m_pO->push_back(sal_uInt8(9));
SwWW8Writer::InsUInt16(*m_pO, NS_sprm::PIlfo::val);
SwWW8Writer::InsUInt16(*m_pO, 0);
bRet = true;
}
@@ -1007,7 +1007,7 @@ void WW8AttributeOutput::RTLAndCJKState( bool bIsRTL, sal_uInt16 nScript )
if( m_rWW8Export.m_rDoc.GetDocumentType() != SwDoc::DOCTYPE_MSWORD )
{
m_rWW8Export.InsUInt16( NS_sprm::CFBiDi::val );
m_rWW8Export.pO->push_back( sal_uInt8(1) );
m_rWW8Export.m_pO->push_back( sal_uInt8(1) );
}
}
@@ -1015,16 +1015,16 @@ void WW8AttributeOutput::RTLAndCJKState( bool bIsRTL, sal_uInt16 nScript )
if (nScript == i18n::ScriptType::COMPLEX && !bIsRTL)
{
m_rWW8Export.InsUInt16( NS_sprm::CFComplexScripts::val );
m_rWW8Export.pO->push_back( sal_uInt8(0x81) );
m_rWW8Export.pDop->bUseThaiLineBreakingRules = true;
m_rWW8Export.m_pO->push_back( sal_uInt8(0x81) );
m_rWW8Export.m_pDop->bUseThaiLineBreakingRules = true;
}
}
void WW8AttributeOutput::EndParagraph( ww8::WW8TableNodeInfoInner::Pointer_t pTextNodeInfoInner )
{
m_rWW8Export.m_pPapPlc->AppendFkpEntry( m_rWW8Export.Strm().Tell() - (mbOnTOXEnding?2:0), m_rWW8Export.pO->size(), m_rWW8Export.pO->data() );
m_rWW8Export.m_pPapPlc->AppendFkpEntry( m_rWW8Export.Strm().Tell() - (mbOnTOXEnding?2:0), m_rWW8Export.m_pO->size(), m_rWW8Export.m_pO->data() );
mbOnTOXEnding = false;
m_rWW8Export.pO->clear();
m_rWW8Export.m_pO->clear();
if ( pTextNodeInfoInner )
{
@@ -1034,10 +1034,10 @@ void WW8AttributeOutput::EndParagraph( ww8::WW8TableNodeInfoInner::Pointer_t pTe
SVBT16 nSty;
ShortToSVBT16( 0, nSty );
m_rWW8Export.pO->insert( m_rWW8Export.pO->end(), nSty, nSty+2 ); // Style #
m_rWW8Export.m_pO->insert( m_rWW8Export.m_pO->end(), nSty, nSty+2 ); // Style #
TableInfoRow( pTextNodeInfoInner );
m_rWW8Export.m_pPapPlc->AppendFkpEntry( m_rWW8Export.Strm().Tell(), m_rWW8Export.pO->size(), m_rWW8Export.pO->data());
m_rWW8Export.pO->clear();
m_rWW8Export.m_pPapPlc->AppendFkpEntry( m_rWW8Export.Strm().Tell(), m_rWW8Export.m_pO->size(), m_rWW8Export.m_pO->data());
m_rWW8Export.m_pO->clear();
}
}
@@ -1063,7 +1063,7 @@ void WW8AttributeOutput::StartRun( const SwRedlineData* pRedlineData, sal_Int32
if (m_rWW8Export.m_pAtn->IsNewRedlineComment(pRedlineData))
{
m_rWW8Export.m_pAtn->Append( m_rWW8Export.Fc2Cp( m_rWW8Export.Strm().Tell() ), pRedlineData );
m_rWW8Export.WritePostItBegin( m_rWW8Export.pO.get() );
m_rWW8Export.WritePostItBegin( m_rWW8Export.m_pO.get() );
}
}
}
@@ -1110,9 +1110,9 @@ void WW8AttributeOutput::EndRunProperties( const SwRedlineData* pRedlineData )
if ( !bExportedFieldResult )
{
m_rWW8Export.m_pChpPlc->AppendFkpEntry( m_rWW8Export.Strm().Tell(),
m_rWW8Export.pO->size(), m_rWW8Export.pO->data() );
m_rWW8Export.m_pO->size(), m_rWW8Export.m_pO->data() );
}
m_rWW8Export.pO->clear();
m_rWW8Export.m_pO->clear();
}
void WW8AttributeOutput::RunText( const OUString& rText, rtl_TextEncoding eCharSet )
@@ -1127,28 +1127,28 @@ void WW8AttributeOutput::RawText(const OUString& rText, rtl_TextEncoding)
void WW8AttributeOutput::OutputFKP(bool bForce)
{
if (!m_rWW8Export.pO->empty() || bForce)
if (!m_rWW8Export.m_pO->empty() || bForce)
{
m_rWW8Export.m_pChpPlc->AppendFkpEntry( m_rWW8Export.Strm().Tell(),
m_rWW8Export.pO->size(), m_rWW8Export.pO->data() );
m_rWW8Export.pO->clear();
m_rWW8Export.m_pO->size(), m_rWW8Export.m_pO->data() );
m_rWW8Export.m_pO->clear();
}
}
void WW8AttributeOutput::ParagraphStyle( sal_uInt16 nStyle )
{
OSL_ENSURE( m_rWW8Export.pO->empty(), " pO is not empty at line end" );
OSL_ENSURE( m_rWW8Export.m_pO->empty(), " pO is not empty at line end" );
SVBT16 nSty;
ShortToSVBT16( nStyle, nSty );
m_rWW8Export.pO->insert( m_rWW8Export.pO->end(), nSty, nSty+2 ); // style #
m_rWW8Export.m_pO->insert( m_rWW8Export.m_pO->end(), nSty, nSty+2 ); // style #
}
void WW8AttributeOutput::OutputWW8Attribute( sal_uInt8 nId, bool bVal )
{
m_rWW8Export.InsUInt16( 8 == nId ? NS_sprm::CFDStrike::val : NS_sprm::CFBold::val + nId );
m_rWW8Export.pO->push_back( bVal ? 1 : 0 );
m_rWW8Export.m_pO->push_back( bVal ? 1 : 0 );
}
void WW8AttributeOutput::OutputWW8AttributeCTL( sal_uInt8 nId, bool bVal )
@@ -1158,7 +1158,7 @@ void WW8AttributeOutput::OutputWW8AttributeCTL( sal_uInt8 nId, bool bVal )
return;
m_rWW8Export.InsUInt16( NS_sprm::CFBoldBi::val + nId );
m_rWW8Export.pO->push_back( bVal ? 1 : 0 );
m_rWW8Export.m_pO->push_back( bVal ? 1 : 0 );
}
void WW8AttributeOutput::CharFont( const SvxFontItem& rFont )
@@ -1235,7 +1235,7 @@ void WW8AttributeOutput::CharAnimatedText( const SvxBlinkItem& rBlink )
{
m_rWW8Export.InsUInt16( NS_sprm::CSfxText::val );
// At the moment the only animated text effect we support is blinking
m_rWW8Export.pO->push_back( rBlink.GetValue() ? 2 : 0 );
m_rWW8Export.m_pO->push_back( rBlink.GetValue() ? 2 : 0 );
}
void WW8AttributeOutput::CharCrossedOut( const SvxCrossedOutItem& rCrossed )
@@ -1286,14 +1286,14 @@ void WW8AttributeOutput::CharHidden( const SvxCharHiddenItem& rHidden )
void WW8AttributeOutput::CharBorder( const SvxBorderLine* pAllBorder, const sal_uInt16 /*nDist*/, const bool bShadow )
{
WW8Export::Out_BorderLine( *m_rWW8Export.pO, pAllBorder, 0, NS_sprm::CBrc80::val, NS_sprm::CBrc::val, bShadow );
WW8Export::Out_BorderLine( *m_rWW8Export.m_pO, pAllBorder, 0, NS_sprm::CBrc80::val, NS_sprm::CBrc::val, bShadow );
}
void WW8AttributeOutput::CharHighlight( const SvxBrushItem& rBrush )
{
sal_uInt8 nColor = msfilter::util::TransColToIco( rBrush.GetColor() );
m_rWW8Export.InsUInt16( NS_sprm::CHighlight::val );
m_rWW8Export.pO->push_back( nColor );
m_rWW8Export.m_pO->push_back( nColor );
}
void WW8AttributeOutput::CharUnderline( const SvxUnderlineItem& rUnderline )
@@ -1377,7 +1377,7 @@ void WW8AttributeOutput::CharUnderline( const SvxUnderlineItem& rUnderline )
break;
}
m_rWW8Export.pO->push_back( b );
m_rWW8Export.m_pO->push_back( b );
Color aColor = rUnderline.GetColor();
if( aColor != COL_TRANSPARENT )
{
@@ -1460,7 +1460,7 @@ void WW8AttributeOutput::CharEscapement( const SvxEscapementItem& rEscapement )
{
m_rWW8Export.InsUInt16( NS_sprm::CIss::val );
m_rWW8Export.pO->push_back( b );
m_rWW8Export.m_pO->push_back( b );
}
if ( 0 != b && 0xFF != b )
@@ -1519,15 +1519,15 @@ void WW8AttributeOutput::CharRelief( const SvxCharReliefItem& rRelief )
if( nId )
{
m_rWW8Export.InsUInt16( nId );
m_rWW8Export.pO->push_back( sal_uInt8(0x81) );
m_rWW8Export.m_pO->push_back( sal_uInt8(0x81) );
}
else
{
// switch both flags off
m_rWW8Export.InsUInt16( NS_sprm::CFEmboss::val );
m_rWW8Export.pO->push_back( sal_uInt8(0x0) );
m_rWW8Export.m_pO->push_back( sal_uInt8(0x0) );
m_rWW8Export.InsUInt16( NS_sprm::CFImprint::val );
m_rWW8Export.pO->push_back( sal_uInt8(0x0) );
m_rWW8Export.m_pO->push_back( sal_uInt8(0x0) );
}
}
@@ -1537,7 +1537,7 @@ void WW8AttributeOutput::CharBidiRTL( const SfxPoolItem& rHt )
if( rAttr.GetValue() == 1 )
{
m_rWW8Export.InsUInt16(0x85a);
m_rWW8Export.pO->push_back(sal_uInt8(1));
m_rWW8Export.m_pO->push_back(sal_uInt8(1));
}
}
@@ -1545,7 +1545,7 @@ void WW8AttributeOutput::CharIdctHint( const SfxPoolItem& rHt )
{
const SfxInt16Item& rAttr = static_cast<const SfxInt16Item&>(rHt);
m_rWW8Export.InsUInt16(0x286F);
m_rWW8Export.pO->push_back(static_cast<sal_uInt8>(rAttr.GetValue()));
m_rWW8Export.m_pO->push_back(static_cast<sal_uInt8>(rAttr.GetValue()));
}
void WW8AttributeOutput::CharRotate( const SvxCharRotateItem& rRotate )
@@ -1562,12 +1562,12 @@ void WW8AttributeOutput::CharRotate( const SvxCharRotateItem& rRotate )
// here corrupts the table, hence !m_rWW8Export.bIsInTable
m_rWW8Export.InsUInt16( NS_sprm::CFELayout::val );
m_rWW8Export.pO->push_back( sal_uInt8(0x06) ); //len 6
m_rWW8Export.pO->push_back( sal_uInt8(0x01) );
m_rWW8Export.m_pO->push_back( sal_uInt8(0x06) ); //len 6
m_rWW8Export.m_pO->push_back( sal_uInt8(0x01) );
m_rWW8Export.InsUInt16( rRotate.IsFitToLine() ? 1 : 0 );
static const sal_uInt8 aZeroArr[ 3 ] = { 0, 0, 0 };
m_rWW8Export.pO->insert( m_rWW8Export.pO->end(), aZeroArr, aZeroArr+3);
m_rWW8Export.m_pO->insert( m_rWW8Export.m_pO->end(), aZeroArr, aZeroArr+3);
}
void WW8AttributeOutput::CharEmphasisMark( const SvxEmphasisMarkItem& rEmphasisMark )
@@ -1587,7 +1587,7 @@ void WW8AttributeOutput::CharEmphasisMark( const SvxEmphasisMarkItem& rEmphasisM
nVal = 1;
m_rWW8Export.InsUInt16( NS_sprm::CKcd::val );
m_rWW8Export.pO->push_back( nVal );
m_rWW8Export.m_pO->push_back( nVal );
}
/**
@@ -1623,7 +1623,7 @@ void WW8AttributeOutput::CharColor( const SvxColorItem& rColor )
m_rWW8Export.InsUInt16( NS_sprm::CIco::val );
sal_uInt8 nColor = msfilter::util::TransColToIco( rColor.GetValue() );
m_rWW8Export.pO->push_back( nColor );
m_rWW8Export.m_pO->push_back( nColor );
if (nColor)
{
@@ -1644,7 +1644,7 @@ void WW8AttributeOutput::CharBackground( const SvxBrushItem& rBrush )
//Quite a few unknowns, some might be transparency or something
//of that nature...
m_rWW8Export.InsUInt16( NS_sprm::CShd::val );
m_rWW8Export.pO->push_back( 10 );
m_rWW8Export.m_pO->push_back( 10 );
m_rWW8Export.InsUInt32( 0xFF000000 );
m_rWW8Export.InsUInt32( SuitableBGColor( rBrush.GetColor() ) );
m_rWW8Export.InsUInt16( 0x0000);
@@ -1713,7 +1713,7 @@ static void InsertSpecialChar( WW8Export& rWrt, sal_uInt8 c,
if ( c == 0x01 && pLinkStr)
{
// write hyperlink data to data stream
SvStream& rStrm = *rWrt.pDataStrm;
SvStream& rStrm = *rWrt.m_pDataStrm;
// position of hyperlink data
const sal_uInt32 nLinkPosInDataStrm = rStrm.Tell();
// write empty header
@@ -2727,7 +2727,7 @@ void WW8AttributeOutput::PostitField( const SwField* pField )
{
const SwPostItField *pPField = static_cast<const SwPostItField*>(pField);
m_rWW8Export.m_pAtn->Append( m_rWW8Export.Fc2Cp( m_rWW8Export.Strm().Tell() ), pPField );
m_rWW8Export.WritePostItBegin( m_rWW8Export.pO.get() );
m_rWW8Export.WritePostItBegin( m_rWW8Export.m_pO.get() );
}
bool WW8AttributeOutput::DropdownField( const SwField* pField )
@@ -3363,25 +3363,25 @@ void WW8AttributeOutput::ParaHyphenZone( const SvxHyphenZoneItem& rHyphenZone )
// sprmPFNoAutoHyph
m_rWW8Export.InsUInt16( NS_sprm::PFNoAutoHyph::val );
m_rWW8Export.pO->push_back( rHyphenZone.IsHyphen() ? 0 : 1 );
m_rWW8Export.m_pO->push_back( rHyphenZone.IsHyphen() ? 0 : 1 );
}
void WW8AttributeOutput::ParaScriptSpace( const SfxBoolItem& rScriptSpace )
{
m_rWW8Export.InsUInt16( NS_sprm::PFAutoSpaceDE::val );
m_rWW8Export.pO->push_back( rScriptSpace.GetValue() ? 1 : 0 );
m_rWW8Export.m_pO->push_back( rScriptSpace.GetValue() ? 1 : 0 );
}
void WW8AttributeOutput::ParaHangingPunctuation( const SfxBoolItem& rItem )
{
m_rWW8Export.InsUInt16( NS_sprm::PFOverflowPunct::val );
m_rWW8Export.pO->push_back( rItem.GetValue() ? 1 : 0 );
m_rWW8Export.m_pO->push_back( rItem.GetValue() ? 1 : 0 );
}
void WW8AttributeOutput::ParaForbiddenRules( const SfxBoolItem& rItem )
{
m_rWW8Export.InsUInt16( NS_sprm::PFKinsoku::val );
m_rWW8Export.pO->push_back( rItem.GetValue() ? 1 : 0 );
m_rWW8Export.m_pO->push_back( rItem.GetValue() ? 1 : 0 );
}
void WW8AttributeOutput::ParaSnapToGrid( const SvxParaGridItem& rGrid )
@@ -3389,7 +3389,7 @@ void WW8AttributeOutput::ParaSnapToGrid( const SvxParaGridItem& rGrid )
// sprmPFUsePgsuSettings
m_rWW8Export.InsUInt16( NS_sprm::PFUsePgsuSettings::val );
m_rWW8Export.pO->push_back( rGrid.GetValue() ? 1 : 0 );
m_rWW8Export.m_pO->push_back( rGrid.GetValue() ? 1 : 0 );
}
void WW8AttributeOutput::ParaVerticalAlign( const SvxParaVertAlignItem& rAlign )
@@ -3484,8 +3484,8 @@ void WW8Export::WriteFootnoteBegin( const SwFormatFootnote& rFootnote, ww::bytes
const SwTextFootnote* pTextFootnote = rFootnote.GetTextFootnote();
if( pTextFootnote )
{
std::unique_ptr<ww::bytes> pOld = std::move(pO);
pO = std::move(pOwnOutArr);
std::unique_ptr<ww::bytes> pOld = std::move(m_pO);
m_pO = std::move(pOwnOutArr);
SfxItemSetFixed<RES_CHRATR_FONT, RES_CHRATR_FONT> aSet( m_rDoc.GetAttrPool() );
pCFormat = pInfo->GetCharFormat( m_rDoc );
@@ -3500,8 +3500,8 @@ void WW8Export::WriteFootnoteBegin( const SwFormatFootnote& rFootnote, ww::bytes
{
m_pAttrOutput->OutputItem( pCFormat->GetAttrSet().Get(RES_CHRATR_FONT) );
}
pOwnOutArr = std::move(pO);
pO = std::move(pOld);
pOwnOutArr = std::move(m_pO);
m_pO = std::move(pOld);
}
m_pChpPlc->AppendFkpEntry( Strm().Tell(), pOwnOutArr->size(),
pOwnOutArr->data() );
@@ -3564,12 +3564,12 @@ void WW8AttributeOutput::TextFootnote_Impl( const SwFormatFootnote& rFootnote )
{
WW8_WrPlcFootnoteEdn* pFootnoteEnd;
if ( rFootnote.IsEndNote() || GetExport().m_rDoc.GetFootnoteInfo().m_ePos == FTNPOS_CHAPTER )
pFootnoteEnd = m_rWW8Export.pEdn.get();
pFootnoteEnd = m_rWW8Export.m_pEdn.get();
else
pFootnoteEnd = m_rWW8Export.pFootnote.get();
pFootnoteEnd = m_rWW8Export.m_pFootnote.get();
pFootnoteEnd->Append( m_rWW8Export.Fc2Cp( m_rWW8Export.Strm().Tell() ), rFootnote );
m_rWW8Export.WriteFootnoteBegin( rFootnote, m_rWW8Export.pO.get() );
m_rWW8Export.WriteFootnoteBegin( rFootnote, m_rWW8Export.m_pO.get() );
}
void WW8AttributeOutput::TextCharFormat( const SwFormatCharFormat& rCharFormat )
@@ -3592,8 +3592,8 @@ void WW8AttributeOutput::CharTwoLines( const SvxTwoLinesItem& rTwoLines )
return;
m_rWW8Export.InsUInt16( NS_sprm::CFELayout::val );
m_rWW8Export.pO->push_back( sal_uInt8(0x06) ); //len 6
m_rWW8Export.pO->push_back( sal_uInt8(0x02) );
m_rWW8Export.m_pO->push_back( sal_uInt8(0x06) ); //len 6
m_rWW8Export.m_pO->push_back( sal_uInt8(0x02) );
sal_Unicode cStart = rTwoLines.GetStartBracket();
sal_Unicode cEnd = rTwoLines.GetEndBracket();
@@ -3625,7 +3625,7 @@ void WW8AttributeOutput::CharTwoLines( const SvxTwoLinesItem& rTwoLines )
nType = 1;
m_rWW8Export.InsUInt16( nType );
static const sal_uInt8 aZeroArr[ 3 ] = { 0, 0, 0 };
m_rWW8Export.pO->insert( m_rWW8Export.pO->end(), aZeroArr, aZeroArr+3);
m_rWW8Export.m_pO->insert( m_rWW8Export.m_pO->end(), aZeroArr, aZeroArr+3);
}
void AttributeOutputBase::ParaOutlineLevelBase( const SfxUInt16Item& rItem )
@@ -3765,10 +3765,10 @@ void WW8AttributeOutput::ParaNumRule_Impl(const SwTextNode* /*pTextNd*/,
return;
// write sprmPIlvl and sprmPIlfo
SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::PIlvl::val );
m_rWW8Export.pO->push_back( ::sal::static_int_cast<sal_uInt8>(nLvl) );
SwWW8Writer::InsUInt16( *m_rWW8Export.pO, NS_sprm::PIlfo::val );
SwWW8Writer::InsUInt16( *m_rWW8Export.pO, ::sal::static_int_cast<sal_uInt16>(nNumId) );
SwWW8Writer::InsUInt16( *m_rWW8Export.m_pO, NS_sprm::PIlvl::val );
m_rWW8Export.m_pO->push_back( ::sal::static_int_cast<sal_uInt8>(nLvl) );
SwWW8Writer::InsUInt16( *m_rWW8Export.m_pO, NS_sprm::PIlfo::val );
SwWW8Writer::InsUInt16( *m_rWW8Export.m_pO, ::sal::static_int_cast<sal_uInt16>(nNumId) );
}
/* File FRMATR.HXX */
@@ -3809,7 +3809,7 @@ void WW8AttributeOutput::FormatFrameSize( const SwFormatFrameSize& rSize )
{
/*sprmSBOrientation*/
m_rWW8Export.InsUInt16( NS_sprm::SBOrientation::val );
m_rWW8Export.pO->push_back( 2 );
m_rWW8Export.m_pO->push_back( 2 );
}
/*sprmSXaPage*/
@@ -3841,7 +3841,7 @@ sal_uInt64 WW8Export::ReplaceCr( sal_uInt8 nChar )
SvStream& rStrm = Strm();
sal_uInt64 nRetPos = 0, nPos = rStrm.Tell();
//If there is at least two characters already output
if (nPos - 2 >= o3tl::make_unsigned(pFib->m_fcMin))
if (nPos - 2 >= o3tl::make_unsigned(m_pFib->m_fcMin))
{
sal_uInt16 nUCode=0;
@@ -3851,7 +3851,7 @@ sal_uInt64 WW8Export::ReplaceCr( sal_uInt8 nChar )
if (nUCode == 0x0d) // CR ?
{
if ((nChar == 0x0c) &&
(nPos - 4 >= o3tl::make_unsigned(pFib->m_fcMin)))
(nPos - 4 >= o3tl::make_unsigned(m_pFib->m_fcMin)))
{
rStrm.SeekRel(-4);
rStrm.ReadUInt16( nUCode );
@@ -3922,7 +3922,7 @@ void WW8AttributeOutput::PageBreakBefore( bool bBreak )
// sprmPPageBreakBefore/sprmPFPageBreakBefore
m_rWW8Export.InsUInt16( NS_sprm::PFPageBreakBefore::val );
m_rWW8Export.pO->push_back( bBreak ? 1 : 0 );
m_rWW8Export.m_pO->push_back( bBreak ? 1 : 0 );
}
/**
@@ -4180,7 +4180,7 @@ void WW8AttributeOutput::SectionRtlGutter(const SfxBoolItem& rRtlGutter)
// sprmSFRTLGutter
m_rWW8Export.InsUInt16(NS_sprm::SFRTLGutter::val);
m_rWW8Export.pO->push_back(1);
m_rWW8Export.m_pO->push_back(1);
}
void WW8AttributeOutput::TextLineBreak(const SwFormatLineBreak& rLineBreak)
@@ -4190,7 +4190,7 @@ void WW8AttributeOutput::TextLineBreak(const SwFormatLineBreak& rLineBreak)
// sprmCLbcCRJ
m_rWW8Export.InsUInt16(NS_sprm::CLbcCRJ::val);
m_rWW8Export.pO->push_back(rLineBreak.GetEnumValue());
m_rWW8Export.m_pO->push_back(rLineBreak.GetEnumValue());
}
void WW8AttributeOutput::FormatULSpace( const SvxULSpaceItem& rUL )
@@ -4258,7 +4258,7 @@ void WW8AttributeOutput::FormatULSpace( const SvxULSpaceItem& rUL )
if (rUL.GetContext() || (pInherited && pInherited->GetContext()))
{
m_rWW8Export.InsUInt16(NS_sprm::PFContextualSpacing::val);
m_rWW8Export.pO->push_back( static_cast<sal_uInt8>(rUL.GetContext()) );
m_rWW8Export.m_pO->push_back( static_cast<sal_uInt8>(rUL.GetContext()) );
}
}
}
@@ -4271,7 +4271,7 @@ void WW8AttributeOutput::FormatSurround( const SwFormatSurround& rSurround )
{
m_rWW8Export.InsUInt16( NS_sprm::PWr::val );
m_rWW8Export.pO->push_back(
m_rWW8Export.m_pO->push_back(
( css::text::WrapTextMode_NONE != rSurround.GetSurround() ) ? 2 : 1 );
}
}
@@ -4375,7 +4375,7 @@ void WW8AttributeOutput::FormatAnchor( const SwFormatAnchor& rAnchor )
// sprmPPc
m_rWW8Export.InsUInt16( NS_sprm::PPc::val );
m_rWW8Export.pO->push_back( nP );
m_rWW8Export.m_pO->push_back( nP );
}
void WW8AttributeOutput::FormatBackground( const SvxBrushItem& rBrush )
@@ -4391,7 +4391,7 @@ void WW8AttributeOutput::FormatBackground( const SvxBrushItem& rBrush )
m_rWW8Export.InsUInt16( aSHD.GetValue() );
m_rWW8Export.InsUInt16( NS_sprm::PShd::val );
m_rWW8Export.pO->push_back( 10 ); //size of operand: MUST be 10
m_rWW8Export.m_pO->push_back( 10 ); //size of operand: MUST be 10
m_rWW8Export.InsUInt32( 0xFF000000 ); //cvFore: Foreground BGR = cvAuto
m_rWW8Export.InsUInt32( SuitableBGColor( rBrush.GetColor() ) ); //cvBack
m_rWW8Export.InsUInt16( 0x0000 ); //iPat: specifies the pattern used for shading = clear/100% background
@@ -4413,7 +4413,7 @@ void WW8AttributeOutput::FormatFillStyle( const XFillStyleItem& rFillStyle )
//cvAuto
m_rWW8Export.InsUInt16( NS_sprm::PShd::val );
m_rWW8Export.pO->push_back( 10 );
m_rWW8Export.m_pO->push_back( 10 );
m_rWW8Export.InsUInt32( 0xFF000000 );
m_rWW8Export.InsUInt32( 0xFF000000 );
m_rWW8Export.InsUInt16( 0x0000 );
@@ -4611,7 +4611,7 @@ void WW8Export::Out_SwFormatBox(const SvxBoxItem& rBox, bool bShadow)
nSprmNoVer9 = aPBrc[i+4];
}
Out_BorderLine( *pO, pLn, rBox.GetDistance( *pBrd ), nSprmNo,
Out_BorderLine( *m_pO, pLn, rBox.GetDistance( *pBrd ), nSprmNo,
nSprmNoVer9, bShadow );
}
}
@@ -4663,12 +4663,12 @@ void WW8Export::Out_CellRangeBorders( const SvxBoxItem * pBox, sal_uInt8 nStart,
continue;
InsUInt16( NS_sprm::TSetBrc::val );
pO->push_back( 11 );
pO->push_back( nStart );
pO->push_back( nLimit );
pO->push_back( 1<<i );
m_pO->push_back( 11 );
m_pO->push_back( nStart );
m_pO->push_back( nLimit );
m_pO->push_back( 1<<i );
WW8_BRCVer9 aBrcVer9 = TranslateBorderLine( *pLn, 0, false );
pO->insert( pO->end(), aBrcVer9.aBits1, aBrcVer9.aBits2+4 );
m_pO->insert( m_pO->end(), aBrcVer9.aBits1, aBrcVer9.aBits2+4 );
}
}
@@ -4729,13 +4729,13 @@ void WW8AttributeOutput::FormatColumns_Impl( sal_uInt16 nCols, const SwFormatCol
// LBetween
m_rWW8Export.InsUInt16( NS_sprm::SLBetween::val );
m_rWW8Export.pO->push_back( COLADJ_NONE == rCol.GetLineAdj( )? 0 : 1 );
m_rWW8Export.m_pO->push_back( COLADJ_NONE == rCol.GetLineAdj( )? 0 : 1 );
const SwColumns & rColumns = rCol.GetColumns( );
// FEvenlySpaced
m_rWW8Export.InsUInt16( NS_sprm::SFEvenlySpaced::val );
m_rWW8Export.pO->push_back( bEven ? 1 : 0 );
m_rWW8Export.m_pO->push_back( bEven ? 1 : 0 );
if ( bEven )
return;
@@ -4744,7 +4744,7 @@ void WW8AttributeOutput::FormatColumns_Impl( sal_uInt16 nCols, const SwFormatCol
{
//sprmSDxaColWidth
m_rWW8Export.InsUInt16( NS_sprm::SDxaColWidth::val );
m_rWW8Export.pO->push_back( static_cast<sal_uInt8>(n) );
m_rWW8Export.m_pO->push_back( static_cast<sal_uInt8>(n) );
m_rWW8Export.InsUInt16( rCol.
CalcPrtColWidth( n,
o3tl::narrowing<sal_uInt16>(nPageSize) ) );
@@ -4753,7 +4753,7 @@ void WW8AttributeOutput::FormatColumns_Impl( sal_uInt16 nCols, const SwFormatCol
{
//sprmSDxaColSpacing
m_rWW8Export.InsUInt16( NS_sprm::SDxaColSpacing::val );
m_rWW8Export.pO->push_back( static_cast<sal_uInt8>(n) );
m_rWW8Export.m_pO->push_back( static_cast<sal_uInt8>(n) );
m_rWW8Export.InsUInt16( rColumns[n].GetRight( ) +
rColumns[n + 1].GetLeft( ) );
}
@@ -4837,7 +4837,7 @@ void WW8AttributeOutput::FormatKeep( const SvxFormatKeepItem& rKeep )
// sprmFKeepFollow
m_rWW8Export.InsUInt16( NS_sprm::PFKeepFollow::val );
m_rWW8Export.pO->push_back( rKeep.GetValue() ? 1 : 0 );
m_rWW8Export.m_pO->push_back( rKeep.GetValue() ? 1 : 0 );
}
// exclude a paragraph from Line Numbering
@@ -4846,7 +4846,7 @@ void WW8AttributeOutput::FormatLineNumbering( const SwFormatLineNumber& rNumberi
// sprmPFNoLineNumb
m_rWW8Export.InsUInt16( NS_sprm::PFNoLineNumb::val );
m_rWW8Export.pO->push_back( rNumbering.IsCount() ? 0 : 1 );
m_rWW8Export.m_pO->push_back( rNumbering.IsCount() ? 0 : 1 );
}
/* File PARATR.HXX */
@@ -4941,7 +4941,7 @@ void WW8AttributeOutput::ParaAdjust( const SvxAdjustItem& rAdjust )
}
m_rWW8Export.InsUInt16(NS_sprm::PJc80::val);
m_rWW8Export.pO->push_back(nAdj);
m_rWW8Export.m_pO->push_back(nAdj);
/*
Sadly for left to right paragraphs both these values are the same,
@@ -4971,9 +4971,9 @@ void WW8AttributeOutput::ParaAdjust( const SvxAdjustItem& rAdjust )
}
if (bBiDiSwap)
m_rWW8Export.pO->push_back(nAdjBiDi);
m_rWW8Export.m_pO->push_back(nAdjBiDi);
else
m_rWW8Export.pO->push_back(nAdj);
m_rWW8Export.m_pO->push_back(nAdj);
}
void WW8AttributeOutput::FormatFrameDirection( const SvxFrameDirectionItem& rDirection )
@@ -5010,12 +5010,12 @@ void WW8AttributeOutput::FormatFrameDirection( const SvxFrameDirectionItem& rDir
m_rWW8Export.InsUInt16( NS_sprm::STextFlow::val );
m_rWW8Export.InsUInt16( nTextFlow );
m_rWW8Export.InsUInt16( NS_sprm::SFBiDi::val );
m_rWW8Export.pO->push_back( bBiDi ? 1 : 0 );
m_rWW8Export.m_pO->push_back( bBiDi ? 1 : 0 );
}
else if ( !m_rWW8Export.m_bOutFlyFrameAttrs ) //paragraph/style
{
m_rWW8Export.InsUInt16( NS_sprm::PFBiDi::val );
m_rWW8Export.pO->push_back( bBiDi ? 1 : 0 );
m_rWW8Export.m_pO->push_back( bBiDi ? 1 : 0 );
}
}
@@ -5033,7 +5033,7 @@ void WW8AttributeOutput::ParaOutlineLevel(const SfxUInt16Item& rItem)
// Outline Level: in LO Body Text = 0, in MS Body Text = 9
nOutLvl = nOutLvl ? nOutLvl - 1 : 9;
m_rWW8Export.InsUInt16( NS_sprm::POutLvl::val );
m_rWW8Export.pO->push_back( nOutLvl );
m_rWW8Export.m_pO->push_back( nOutLvl );
}
// "Separate paragraphs"
@@ -5041,7 +5041,7 @@ void WW8AttributeOutput::ParaSplit( const SvxFormatSplitItem& rSplit )
{
// sprmPFKeep
m_rWW8Export.InsUInt16( NS_sprm::PFKeep::val );
m_rWW8Export.pO->push_back( rSplit.GetValue() ? 0 : 1 );
m_rWW8Export.m_pO->push_back( rSplit.GetValue() ? 0 : 1 );
}
/**
@@ -5053,7 +5053,7 @@ void WW8AttributeOutput::ParaWidows( const SvxWidowsItem& rWidows )
{
// sprmPFWidowControl
m_rWW8Export.InsUInt16( NS_sprm::PFWidowControl::val );
m_rWW8Export.pO->push_back( rWidows.GetValue() ? 1 : 0 );
m_rWW8Export.m_pO->push_back( rWidows.GetValue() ? 1 : 0 );
}
namespace {
@@ -5171,12 +5171,12 @@ void SwWW8WrTabu::PutAll(WW8Export& rWrt)
rWrt.InsUInt16(NS_sprm::PChgTabsPapx::val);
// insert cch
rWrt.pO->push_back(msword_cast<sal_uInt8>(nSiz));
rWrt.m_pO->push_back(msword_cast<sal_uInt8>(nSiz));
// write DelArr
rWrt.pO->push_back(msword_cast<sal_uInt8>(nDel));
rWrt.m_pO->push_back(msword_cast<sal_uInt8>(nDel));
rWrt.OutSprmBytes(pDel.get(), nDel * 2);
// write InsArr
rWrt.pO->push_back(msword_cast<sal_uInt8>(nAdd));
rWrt.m_pO->push_back(msword_cast<sal_uInt8>(nAdd));
rWrt.OutSprmBytes(pAddPos.get(), 2 * nAdd); // AddPosArray
rWrt.OutSprmBytes(pAddTyp.get(), nAdd); // AddTypArray
}
diff --git a/sw/source/filter/ww8/ww8scan.cxx b/sw/source/filter/ww8/ww8scan.cxx
index 56c86ea..cab9481 100644
--- a/sw/source/filter/ww8/ww8scan.cxx
+++ b/sw/source/filter/ww8/ww8scan.cxx
@@ -2262,7 +2262,7 @@ bool WW8PLCFspecial::GetData(tools::Long nInIdx, WW8_CP& rPos, void*& rpValue) c
// Ctor for *others* than Fkps
// With nStartPos < 0, the first element of PLCFs will be taken
WW8PLCF::WW8PLCF(SvStream& rSt, WW8_FC nFilePos, sal_Int32 nPLCF, int nStruct,
WW8_CP nStartPos) : nIdx(0), nStru(nStruct)
WW8_CP nStartPos) : m_nIdx(0), m_nStru(nStruct)
{
if (nPLCF < 0)
{
@@ -2270,7 +2270,7 @@ WW8PLCF::WW8PLCF(SvStream& rSt, WW8_FC nFilePos, sal_Int32 nPLCF, int nStruct,
nPLCF = 0;
}
else
nIMax = (nPLCF - 4) / (4 + nStruct);
m_nIMax = (nPLCF - 4) / (4 + nStruct);
ReadPLCF(rSt, nFilePos, nPLCF);
@@ -2284,18 +2284,18 @@ WW8PLCF::WW8PLCF(SvStream& rSt, WW8_FC nFilePos, sal_Int32 nPLCF, int nStruct,
// lack of resources and for WordPad (W95).
// With nStartPos < 0, the first element of the PLCFs is taken.
WW8PLCF::WW8PLCF(SvStream& rSt, WW8_FC nFilePos, sal_Int32 nPLCF, int nStruct,
WW8_CP nStartPos, sal_Int32 nPN, sal_Int32 ncpN): nIdx(0),
nStru(nStruct)
WW8_CP nStartPos, sal_Int32 nPN, sal_Int32 ncpN): m_nIdx(0),
m_nStru(nStruct)
{
if (nPLCF < 0)
{
SAL_WARN("sw.ww8", "broken WW8PLCF, ignoring");
nIMax = SAL_MAX_INT32;
m_nIMax = SAL_MAX_INT32;
}
else
nIMax = (nPLCF - 4) / (4 + nStruct);
m_nIMax = (nPLCF - 4) / (4 + nStruct);
if( nIMax >= ncpN )
if( m_nIMax >= ncpN )
ReadPLCF(rSt, nFilePos, nPLCF);
else
GeneratePLCF(rSt, nPN, ncpN);
@@ -2314,12 +2314,12 @@ void WW8PLCF::ReadPLCF(SvStream& rSt, WW8_FC nFilePos, sal_uInt32 nPLCF)
{
// Pointer to Pos-array
const size_t nEntries = (nPLCF + 3) / 4;
pPLCF_PosArray.reset(new WW8_CP[nEntries]);
bValid = checkRead(rSt, pPLCF_PosArray.get(), nPLCF);
m_pPLCF_PosArray.reset(new WW8_CP[nEntries]);
bValid = checkRead(rSt, m_pPLCF_PosArray.get(), nPLCF);
size_t nBytesAllocated = nEntries * sizeof(WW8_CP);
if (bValid && nPLCF != nBytesAllocated)
{
sal_uInt8* pStartBlock = reinterpret_cast<sal_uInt8*>(pPLCF_PosArray.get());
sal_uInt8* pStartBlock = reinterpret_cast<sal_uInt8*>(m_pPLCF_PosArray.get());
memset(pStartBlock + nPLCF, 0, nBytesAllocated - nPLCF);
}
}
@@ -2332,7 +2332,7 @@ void WW8PLCF::ReadPLCF(SvStream& rSt, WW8_FC nFilePos, sal_uInt32 nPLCF)
nIdx = 0;
#endif // OSL_BIGENDIAN
// Pointer to content array
pPLCF_Contents = reinterpret_cast<sal_uInt8*>(&pPLCF_PosArray[nIMax + 1]);
m_pPLCF_Contents = reinterpret_cast<sal_uInt8*>(&m_pPLCF_PosArray[m_nIMax + 1]);
TruncToSortedRange();
}
@@ -2347,10 +2347,10 @@ void WW8PLCF::ReadPLCF(SvStream& rSt, WW8_FC nFilePos, sal_uInt32 nPLCF)
void WW8PLCF::MakeFailedPLCF()
{
nIMax = 0;
pPLCF_PosArray.reset( new WW8_CP[2] );
pPLCF_PosArray[0] = pPLCF_PosArray[1] = WW8_CP_MAX;
pPLCF_Contents = reinterpret_cast<sal_uInt8*>(&pPLCF_PosArray[nIMax + 1]);
m_nIMax = 0;
m_pPLCF_PosArray.reset( new WW8_CP[2] );
m_pPLCF_PosArray[0] = m_pPLCF_PosArray[1] = WW8_CP_MAX;
m_pPLCF_Contents = reinterpret_cast<sal_uInt8*>(&m_pPLCF_PosArray[m_nIMax + 1]);
}
namespace
@@ -2379,17 +2379,17 @@ void WW8PLCFpcd::TruncToSortedRange()
void WW8PLCF::TruncToSortedRange()
{
nIMax = ::TruncToSortedRange(pPLCF_PosArray.get(), nIMax);
m_nIMax = ::TruncToSortedRange(m_pPLCF_PosArray.get(), m_nIMax);
}
void WW8PLCF::GeneratePLCF(SvStream& rSt, sal_Int32 nPN, sal_Int32 ncpN)
{
OSL_ENSURE( nIMax < ncpN, "Pcl.Fkp: Why is PLCF too big?" );
OSL_ENSURE( m_nIMax < ncpN, "Pcl.Fkp: Why is PLCF too big?" );
bool failure = false;
nIMax = ncpN;
m_nIMax = ncpN;
if ((nIMax < 1) || (nIMax > (WW8_CP_MAX - 4) / (4 + nStru)) || nPN < 0)
if ((m_nIMax < 1) || (m_nIMax > (WW8_CP_MAX - 4) / (4 + m_nStru)) || nPN < 0)
failure = true;
if (!failure)
@@ -2401,9 +2401,9 @@ void WW8PLCF::GeneratePLCF(SvStream& rSt, sal_Int32 nPN, sal_Int32 ncpN)
if (!failure)
{
size_t nSiz = (4 + nStru) * nIMax + 4;
size_t nSiz = (4 + m_nStru) * m_nIMax + 4;
size_t nElems = ( nSiz + 3 ) / 4;
pPLCF_PosArray.reset( new WW8_CP[ nElems ] ); // Pointer to Pos-array
m_pPLCF_PosArray.reset( new WW8_CP[ nElems ] ); // Pointer to Pos-array
for (sal_Int32 i = 0; i < ncpN && !failure; ++i)
{
@@ -2415,7 +2415,7 @@ void WW8PLCF::GeneratePLCF(SvStream& rSt, sal_Int32 nPN, sal_Int32 ncpN)
WW8_CP nFc(0);
rSt.ReadInt32( nFc );
pPLCF_PosArray[i] = nFc;
m_pPLCF_PosArray[i] = nFc;
failure = bool(rSt.GetError());
}
@@ -2427,7 +2427,7 @@ void WW8PLCF::GeneratePLCF(SvStream& rSt, sal_Int32 nPN, sal_Int32 ncpN)
{
failure = true;
std::size_t nLastFkpPos = nPN + nIMax - 1;
std::size_t nLastFkpPos = nPN + m_nIMax - 1;
nLastFkpPos = nLastFkpPos << 9;
// number of FC entries of last Fkp
if (!checkSeek(rSt, nLastFkpPos + 511))
@@ -2441,7 +2441,7 @@ void WW8PLCF::GeneratePLCF(SvStream& rSt, sal_Int32 nPN, sal_Int32 ncpN)
WW8_CP nFc(0);
rSt.ReadInt32( nFc );
pPLCF_PosArray[nIMax] = nFc; // end of the last Fkp
m_pPLCF_PosArray[m_nIMax] = nFc; // end of the last Fkp
failure = bool(rSt.GetError());
} while(false);
@@ -2450,13 +2450,13 @@ void WW8PLCF::GeneratePLCF(SvStream& rSt, sal_Int32 nPN, sal_Int32 ncpN)
if (!failure)
{
// Pointer to content array
pPLCF_Contents = reinterpret_cast<sal_uInt8*>(&pPLCF_PosArray[nIMax + 1]);
sal_uInt8* p = pPLCF_Contents;
m_pPLCF_Contents = reinterpret_cast<sal_uInt8*>(&m_pPLCF_PosArray[m_nIMax + 1]);
sal_uInt8* p = m_pPLCF_Contents;
for (sal_Int32 i = 0; i < ncpN; ++i) // construct PNs
{
ShortToSVBT16(o3tl::narrowing<sal_uInt16>(nPN + i), p);
p += nStru;
p += m_nStru;
}
}
@@ -2470,57 +2470,57 @@ bool WW8PLCF::SeekPos(WW8_CP nPos)
{
WW8_CP nP = nPos;
if( nP < pPLCF_PosArray[0] )
if( nP < m_pPLCF_PosArray[0] )
{
nIdx = 0;
m_nIdx = 0;
// not found: nPos less than smallest entry
return false;
}
// Search from beginning?
if ((nIdx < 1) || (nP < pPLCF_PosArray[nIdx - 1]))
nIdx = 1;
if ((m_nIdx < 1) || (nP < m_pPLCF_PosArray[m_nIdx - 1]))
m_nIdx = 1;
sal_Int32 nI = nIdx;
sal_Int32 nEnd = nIMax;
sal_Int32 nI = m_nIdx;
sal_Int32 nEnd = m_nIMax;
for(int n = (1==nIdx ? 1 : 2); n; --n )
for(int n = (1==m_nIdx ? 1 : 2); n; --n )
{
for( ; nI <=nEnd; ++nI) // search with an index that is incremented by 1
{
if( nP < pPLCF_PosArray[nI] ) // found position
if( nP < m_pPLCF_PosArray[nI] ) // found position
{
nIdx = nI - 1; // nI - 1 is the correct index
m_nIdx = nI - 1; // nI - 1 is the correct index
return true; // done
}
}
nI = 1;
nEnd = nIdx-1;
nEnd = m_nIdx-1;
}
nIdx = nIMax; // not found, greater than all entries
m_nIdx = m_nIMax; // not found, greater than all entries
return false;
}
bool WW8PLCF::Get(WW8_CP& rStart, WW8_CP& rEnd, void*& rpValue) const
{
if ( nIdx >= nIMax )
if ( m_nIdx >= m_nIMax )
{
rStart = rEnd = WW8_CP_MAX;
return false;
}
rStart = pPLCF_PosArray[ nIdx ];
rEnd = pPLCF_PosArray[ nIdx + 1 ];
rpValue = static_cast<void*>(&pPLCF_Contents[nIdx * nStru]);
rStart = m_pPLCF_PosArray[ m_nIdx ];
rEnd = m_pPLCF_PosArray[ m_nIdx + 1 ];
rpValue = static_cast<void*>(&m_pPLCF_Contents[m_nIdx * m_nStru]);
return true;
}
WW8_CP WW8PLCF::Where() const
{
if ( nIdx >= nIMax )
if ( m_nIdx >= m_nIMax )
return WW8_CP_MAX;
return pPLCF_PosArray[nIdx];
return m_pPLCF_PosArray[m_nIdx];
}
WW8PLCFpcd::WW8PLCFpcd(SvStream* pSt, sal_uInt32 nFilePos,
@@ -6733,7 +6733,7 @@ void MSOFactoidType::Read(SvStream& rStream)
void MSOFactoidType::Write(WW8Export& rExport)
{
SvStream& rStream = *rExport.pTableStrm;
SvStream& rStream = *rExport.m_pTableStrm;
SvMemoryStream aStream;
aStream.WriteUInt32(m_nId); // id
@@ -6782,7 +6782,7 @@ void MSOPropertyBagStore::Read(SvStream& rStream)
void MSOPropertyBagStore::Write(WW8Export& rExport)
{
SvStream& rStream = *rExport.pTableStrm;
SvStream& rStream = *rExport.m_pTableStrm;
rStream.WriteUInt32(m_aFactoidTypes.size()); // cFactoidType
for (MSOFactoidType& rType : m_aFactoidTypes)
rType.Write(rExport);
@@ -6843,7 +6843,7 @@ bool MSOPropertyBag::Read(SvStream& rStream)
void MSOPropertyBag::Write(WW8Export& rExport)
{
SvStream& rStream = *rExport.pTableStrm;
SvStream& rStream = *rExport.m_pTableStrm;
rStream.WriteUInt16(m_nId);
rStream.WriteUInt16(m_aProperties.size());
rStream.WriteUInt16(0); // cbUnknown
@@ -7512,9 +7512,9 @@ const WW8_FFN* WW8Fonts::GetFont( sal_uInt16 nNum ) const
// -> maybe we can get a right result then
WW8PLCF_HdFt::WW8PLCF_HdFt( SvStream* pSt, WW8Fib const & rFib, WW8Dop const & rDop )
: aPLCF(*pSt, rFib.m_fcPlcfhdd , rFib.m_lcbPlcfhdd , 0)
: m_aPLCF(*pSt, rFib.m_fcPlcfhdd , rFib.m_lcbPlcfhdd , 0)
{
nIdxOffset = 0;
m_nIdxOffset = 0;
/*
This dop.grpfIhdt has a bit set for each special
@@ -7530,14 +7530,14 @@ WW8PLCF_HdFt::WW8PLCF_HdFt( SvStream* pSt, WW8Fib const & rFib, WW8Dop const & r
*/
for( sal_uInt8 nI = 0x1; nI <= 0x20; nI <<= 1 )
if( nI & rDop.grpfIhdt ) // bit set?
nIdxOffset++;
m_nIdxOffset++;
}
bool WW8PLCF_HdFt::GetTextPos(sal_uInt8 grpfIhdt, sal_uInt8 nWhich, WW8_CP& rStart,
WW8_CP& rLen)
{
sal_uInt8 nI = 0x01;
short nIdx = nIdxOffset;
short nIdx = m_nIdxOffset;
while (true)
{
if( nI & nWhich )
@@ -7552,8 +7552,8 @@ bool WW8PLCF_HdFt::GetTextPos(sal_uInt8 grpfIhdt, sal_uInt8 nWhich, WW8_CP& rSta
WW8_CP nEnd;
void* pData;
aPLCF.SetIdx( nIdx ); // Lookup suitable CP
aPLCF.Get( rStart, nEnd, pData );
m_aPLCF.SetIdx( nIdx ); // Lookup suitable CP
m_aPLCF.Get( rStart, nEnd, pData );
if (nEnd < rStart)
{
SAL_WARN("sw.ww8", "End " << nEnd << " before Start " << rStart);
@@ -7567,7 +7567,7 @@ bool WW8PLCF_HdFt::GetTextPos(sal_uInt8 grpfIhdt, sal_uInt8 nWhich, WW8_CP& rSta
return false;
}
aPLCF.advance();
m_aPLCF.advance();
return true;
}
@@ -7577,8 +7577,8 @@ void WW8PLCF_HdFt::GetTextPosExact(short nIdx, WW8_CP& rStart, WW8_CP& rLen)
WW8_CP nEnd;
void* pData;
aPLCF.SetIdx( nIdx ); // Lookup suitable CP
aPLCF.Get( rStart, nEnd, pData );
m_aPLCF.SetIdx( nIdx ); // Lookup suitable CP
m_aPLCF.Get( rStart, nEnd, pData );
if (nEnd < rStart)
{
SAL_WARN("sw.ww8", "End " << nEnd << " before Start " << rStart);
@@ -7597,7 +7597,7 @@ void WW8PLCF_HdFt::UpdateIndex( sal_uInt8 grpfIhdt )
// Caution: Description is not correct
for( sal_uInt8 nI = 0x01; nI <= 0x20; nI <<= 1 )
if( nI & grpfIhdt )
nIdxOffset++;
m_nIdxOffset++;
}
WW8Dop::WW8Dop(SvStream& rSt, sal_Int16 nFib, sal_Int32 nPos, sal_uInt32 nSize):
diff --git a/sw/source/filter/ww8/ww8scan.hxx b/sw/source/filter/ww8/ww8scan.hxx
index 750b282..4e80e88 100644
--- a/sw/source/filter/ww8/ww8scan.hxx
+++ b/sw/source/filter/ww8/ww8scan.hxx
@@ -294,11 +294,11 @@ private:
class WW8PLCF // Iterator for PLCFs
{
private:
std::unique_ptr<WW8_CP[]> pPLCF_PosArray; // pointer to Pos-array and the whole structure
sal_uInt8* pPLCF_Contents; // pointer to content-array-part of Pos-array
sal_Int32 nIMax; // number of elements
sal_Int32 nIdx;
int nStru;
std::unique_ptr<WW8_CP[]> m_pPLCF_PosArray; // pointer to Pos-array and the whole structure
sal_uInt8* m_pPLCF_Contents; // pointer to content-array-part of Pos-array
sal_Int32 m_nIMax; // number of elements
sal_Int32 m_nIdx;
int m_nStru;
void ReadPLCF(SvStream& rSt, WW8_FC nFilePos, sal_uInt32 nPLCF);
@@ -321,18 +321,18 @@ public:
WW8PLCF(SvStream& rSt, WW8_FC nFilePos, sal_Int32 nPLCF, int nStruct,
WW8_CP nStartPos, sal_Int32 nPN, sal_Int32 ncpN);
sal_Int32 GetIdx() const { return nIdx; }
void SetIdx( sal_Int32 nI ) { nIdx = nI; }
sal_Int32 GetIMax() const { return nIMax; }
sal_Int32 GetIdx() const { return m_nIdx; }
void SetIdx( sal_Int32 nI ) { m_nIdx = nI; }
sal_Int32 GetIMax() const { return m_nIMax; }
bool SeekPos(WW8_CP nPos);
WW8_CP Where() const;
bool Get(WW8_CP& rStart, WW8_CP& rEnd, void*& rpValue) const;
void advance() { if( nIdx < nIMax ) ++nIdx; }
void advance() { if( m_nIdx < m_nIMax ) ++m_nIdx; }
const void* GetData( sal_Int32 nInIdx ) const
{
return ( nInIdx >= nIMax ) ? nullptr :
static_cast<const void*>(&pPLCF_Contents[nInIdx * nStru]);
return ( nInIdx >= m_nIMax ) ? nullptr :
static_cast<const void*>(&m_pPLCF_Contents[nInIdx * m_nStru]);
}
};
@@ -1850,8 +1850,8 @@ public:
class WW8PLCF_HdFt
{
private:
WW8PLCF aPLCF;
short nIdxOffset;
WW8PLCF m_aPLCF;
short m_nIdxOffset;
public:
WW8PLCF_HdFt( SvStream* pSt, WW8Fib const & rFib, WW8Dop const & rDop );