editeng/inc/ParagraphPortion.hxx    |   83 +++++++++++++++++---------------
 editeng/inc/TextPortionList.hxx     |    7 ++
 editeng/source/editeng/editdbg.cxx  |    7 +-
 editeng/source/editeng/editdoc.cxx  |   91 ++++++++++++++++--------------------
 editeng/source/editeng/impedit2.cxx |   72 ++++++++++++++--------------
 editeng/source/editeng/impedit3.cxx |   29 +++++------
 editeng/source/editeng/impedit4.cxx |    6 +-
 7 files changed, 152 insertions(+), 143 deletions(-)

New commits:
commit a476aa8d222a949a67676d95ec07914bbf00e23b
Author:     Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk>
AuthorDate: Sun Feb 11 12:51:18 2024 +0900
Commit:     Tomaž Vajngerl <qui...@gmail.com>
CommitDate: Mon Feb 12 07:27:47 2024 +0100

    editeng: make TextPortionList iterable with ranged for
    
    Change-Id: Ifbddd99b5877c71ebbec064672b75877fe06ccd9
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163226
    Tested-by: Jenkins
    Reviewed-by: Tomaž Vajngerl <qui...@gmail.com>

diff --git a/editeng/inc/TextPortionList.hxx b/editeng/inc/TextPortionList.hxx
index 7c646ebbbee9..dc6b5e064bd5 100644
--- a/editeng/inc/TextPortionList.hxx
+++ b/editeng/inc/TextPortionList.hxx
@@ -59,6 +59,11 @@ public:
     sal_Int32 GetPos(const TextPortion* p) const;
 
     bool isEmpty() { return Count() == 1 && maPortions[0]->GetLen() == 0; }
+
+    PortionsType::iterator begin() { return maPortions.begin(); }
+    PortionsType::iterator end() { return maPortions.end(); }
+    PortionsType::const_iterator cbegin() const { return maPortions.cbegin(); }
+    PortionsType::const_iterator cend() const { return maPortions.cend(); }
 };
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/editeng/source/editeng/impedit3.cxx 
b/editeng/source/editeng/impedit3.cxx
index 330a37cb2187..9892dfaa783f 100644
--- a/editeng/source/editeng/impedit3.cxx
+++ b/editeng/source/editeng/impedit3.cxx
@@ -724,27 +724,28 @@ bool ImpEditEngine::CreateLines( sal_Int32 nPara, 
sal_uInt32 nStartPosY )
     const sal_Int32 nInvalidEnd =  nInvalidStart + std::abs( nInvalidDiff );
 
     bool bQuickFormat = false;
-    if ( !bEmptyNodeWithPolygon && !HasScriptType( nPara, 
i18n::ScriptType::COMPLEX ) )
+
+    // Determine if quick formt should be used
+    if (!bEmptyNodeWithPolygon && !HasScriptType(nPara, 
i18n::ScriptType::COMPLEX))
     {
-        if ( ( rParaPortion.IsSimpleInvalid() ) && ( nInvalidDiff > 0 ) &&
-             ( pNode->GetString().indexOf( CH_FEATURE, nInvalidStart ) > 
nInvalidEnd ) )
+        if (rParaPortion.IsSimpleInvalid() &&
+            rParaPortion.GetInvalidDiff() > 0 &&
+            pNode->GetString().indexOf(CH_FEATURE, nInvalidStart) > 
nInvalidEnd)
         {
             bQuickFormat = true;
         }
-        else if ( ( rParaPortion.IsSimpleInvalid() ) && ( nInvalidDiff < 0 ) )
+        else if (rParaPortion.IsSimpleInvalid() && nInvalidDiff < 0)
         {
             // check if delete over the portion boundaries was done...
             sal_Int32 nStart = nInvalidStart;  // DOUBLE !!!!!!!!!!!!!!!
             sal_Int32 nEnd = nStart - nInvalidDiff;  // negative
             bQuickFormat = true;
             sal_Int32 nPos = 0;
-            sal_Int32 nPortions = rParaPortion.GetTextPortions().Count();
-            for ( sal_Int32 nTP = 0; nTP < nPortions; nTP++ )
+            for (auto const& pTextPortion : rParaPortion.GetTextPortions())
             {
                 // There must be no start / end in the deleted area.
-                const TextPortion& rTP = rParaPortion.GetTextPortions()[ nTP ];
-                nPos = nPos + rTP.GetLen();
-                if ( ( nPos > nStart ) && ( nPos < nEnd ) )
+                nPos = nPos + pTextPortion->GetLen();
+                if (nPos > nStart && nPos < nEnd)
                 {
                     bQuickFormat = false;
                     break;
commit d0d83b8b4a8ee5a889e1ffdf1293b858bf69caaf
Author:     Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk>
AuthorDate: Sun Feb 11 12:49:09 2024 +0900
Commit:     Tomaž Vajngerl <qui...@gmail.com>
CommitDate: Mon Feb 12 07:27:40 2024 +0100

    editeng: move isEmpty impl. from ParaPortion to TextPortionList
    
    Change-Id: Ib305963b1f5ffcef9122dd4353826cc9033810f6
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163225
    Tested-by: Jenkins
    Reviewed-by: Tomaž Vajngerl <qui...@gmail.com>

diff --git a/editeng/inc/ParagraphPortion.hxx b/editeng/inc/ParagraphPortion.hxx
index 97b37ebe1134..2b0664ec0c2d 100644
--- a/editeng/inc/ParagraphPortion.hxx
+++ b/editeng/inc/ParagraphPortion.hxx
@@ -111,7 +111,7 @@ public:
     void SetVisible(bool bVisible) { mbVisible = bVisible; }
     bool IsVisible() const { return mbVisible; }
 
-    bool IsEmpty() { return GetTextPortions().Count() == 1 && 
GetTextPortions()[0].GetLen() == 0; }
+    bool IsEmpty() { return GetTextPortions().isEmpty(); }
 
     tools::Long GetHeight() const { return mbVisible ? mnHeight : 0; }
     sal_Int32 GetFirstLineOffset() const { return mbVisible ? 
mnFirstLineOffset : 0; }
diff --git a/editeng/inc/TextPortionList.hxx b/editeng/inc/TextPortionList.hxx
index b25f4156155b..7c646ebbbee9 100644
--- a/editeng/inc/TextPortionList.hxx
+++ b/editeng/inc/TextPortionList.hxx
@@ -57,6 +57,8 @@ public:
     void Remove(sal_Int32 nPosition) { maPortions.erase(maPortions.begin() + 
nPosition); }
 
     sal_Int32 GetPos(const TextPortion* p) const;
+
+    bool isEmpty() { return Count() == 1 && maPortions[0]->GetLen() == 0; }
 };
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit 3fa841c864bb17cfd405814188efa99e4d334ffc
Author:     Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk>
AuthorDate: Sun Feb 11 12:41:57 2024 +0900
Commit:     Tomaž Vajngerl <qui...@gmail.com>
CommitDate: Mon Feb 12 07:27:34 2024 +0100

    editeng: prefix members of ParaPortion & add some access methods
    
    Change-Id: I6be67530690d1d5ee1236d654dd65cc8545e95d2
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163224
    Tested-by: Jenkins
    Reviewed-by: Tomaž Vajngerl <qui...@gmail.com>

diff --git a/editeng/inc/ParagraphPortion.hxx b/editeng/inc/ParagraphPortion.hxx
index e788bb7c9112..97b37ebe1134 100644
--- a/editeng/inc/ParagraphPortion.hxx
+++ b/editeng/inc/ParagraphPortion.hxx
@@ -58,73 +58,80 @@ class ParaPortion
 {
     friend class ImpEditEngine; // to adjust the height
 private:
-    EditLineList aLineList;
-    TextPortionList aTextPortionList;
-    ContentNode* pNode = nullptr;
-    tools::Long nHeight = 0;
+    EditLineList maLineList;
+    TextPortionList maTextPortionList;
+    ContentNode* mpNode = nullptr;
+    tools::Long mnHeight = 0;
 
-    ScriptTypePosInfos aScriptInfos;
-    WritingDirectionInfos aWritingDirectionInfos;
+    ScriptTypePosInfos maScriptInfos;
+    WritingDirectionInfos maWritingDirectionInfos;
 
-    sal_Int32 nInvalidPosStart = 0;
-    sal_Int32 nFirstLineOffset = 0; // For Writer-LineSpacing-Interpretation
-    sal_Int32 nBulletX = 0;
-    sal_Int32 nInvalidDiff = 0;
+    sal_Int32 mnInvalidPosStart = 0;
+    sal_Int32 mnFirstLineOffset = 0; // For Writer-LineSpacing-Interpretation
+    sal_Int32 mnBulletX = 0;
+    sal_Int32 mnInvalidDiff = 0;
 
-    bool bInvalid : 1 = true;
-    bool bSimple : 1 = false; // only linear Tap
-    bool bVisible : 1 = true; // Belongs to the node!
-    bool bForceRepaint : 1 = false;
+    bool mbInvalid : 1 = true;
+    bool mbSimple : 1 = false; // only linear Tap
+    bool mbVisible : 1 = true; // Belongs to the node!
+    bool mbForceRepaint : 1 = false;
 
     ParaPortion(const ParaPortion&) = delete;
 
 public:
-    ParaPortion(ContentNode* pN)
-        : pNode(pN)
+    ParaPortion(ContentNode* pNode)
+        : mpNode(pNode)
     {
     }
 
+    tools::Long getHeight() { return mnHeight; }
+
     sal_Int32 GetLineNumber(sal_Int32 nIndex) const;
 
-    EditLineList& GetLines() { return aLineList; }
-    const EditLineList& GetLines() const { return aLineList; }
+    EditLineList& GetLines() { return maLineList; }
+    const EditLineList& GetLines() const { return maLineList; }
 
-    bool IsInvalid() const { return bInvalid; }
-    bool IsSimpleInvalid() const { return bSimple; }
+    bool IsInvalid() const { return mbInvalid; }
+    bool IsSimpleInvalid() const { return mbSimple; }
     void SetValid()
     {
-        bInvalid = false;
-        bSimple = true;
+        mbInvalid = false;
+        mbSimple = true;
     }
 
-    bool MustRepaint() const { return bForceRepaint; }
-    void SetMustRepaint(bool bRP) { bForceRepaint = bRP; }
+    bool MustRepaint() const { return mbForceRepaint; }
+    void SetMustRepaint(bool bRP) { mbForceRepaint = bRP; }
 
-    sal_Int32 GetBulletX() const { return nBulletX; }
-    void SetBulletX(sal_Int32 n) { nBulletX = n; }
+    sal_Int32 GetBulletX() const { return mnBulletX; }
+    void SetBulletX(sal_Int32 nBulletX) { mnBulletX = nBulletX; }
 
     void MarkInvalid(sal_Int32 nStart, sal_Int32 nDiff);
     void MarkSelectionInvalid(sal_Int32 nStart);
 
-    void SetVisible(bool bVisible);
-    bool IsVisible() const { return bVisible; }
+    void SetVisible(bool bVisible) { mbVisible = bVisible; }
+    bool IsVisible() const { return mbVisible; }
 
     bool IsEmpty() { return GetTextPortions().Count() == 1 && 
GetTextPortions()[0].GetLen() == 0; }
 
-    tools::Long GetHeight() const { return (bVisible ? nHeight : 0); }
-    sal_Int32 GetFirstLineOffset() const { return (bVisible ? nFirstLineOffset 
: 0); }
+    tools::Long GetHeight() const { return mbVisible ? mnHeight : 0; }
+    sal_Int32 GetFirstLineOffset() const { return mbVisible ? 
mnFirstLineOffset : 0; }
     void ResetHeight()
     {
-        nHeight = 0;
-        nFirstLineOffset = 0;
+        mnHeight = 0;
+        mnFirstLineOffset = 0;
     }
 
-    ContentNode* GetNode() const { return pNode; }
-    TextPortionList& GetTextPortions() { return aTextPortionList; }
-    const TextPortionList& GetTextPortions() const { return aTextPortionList; }
+    ScriptTypePosInfos& getScriptTypePosInfos() { return maScriptInfos; }
+    ScriptTypePosInfos const& getScriptTypePosInfos() const { return 
maScriptInfos; }
+
+    WritingDirectionInfos& getWritingDirectionInfos() { return 
maWritingDirectionInfos; }
+
+    ContentNode* GetNode() const { return mpNode; }
+    TextPortionList& GetTextPortions() { return maTextPortionList; }
+    const TextPortionList& GetTextPortions() const { return maTextPortionList; 
}
 
-    sal_Int32 GetInvalidPosStart() const { return nInvalidPosStart; }
-    short GetInvalidDiff() const { return nInvalidDiff; }
+    sal_Int32 GetInvalidPosStart() const { return mnInvalidPosStart; }
+    short GetInvalidDiff() const { return mnInvalidDiff; }
 
     void CorrectValuesBehindLastFormattedLine(sal_Int32 nLastFormattedLine);
 #if OSL_DEBUG_LEVEL > 0
diff --git a/editeng/source/editeng/editdbg.cxx 
b/editeng/source/editeng/editdbg.cxx
index eb31279034b0..e4d4dd0bbfe6 100644
--- a/editeng/source/editeng/editdbg.cxx
+++ b/editeng/source/editeng/editdbg.cxx
@@ -507,11 +507,12 @@ bool ParaPortion::DbgCheckTextPortions(ParaPortion const& 
rPara)
 {
     // check, if Portion length ok:
     sal_uInt16 nXLen = 0;
-    for (sal_Int32 nPortion = 0; nPortion < rPara.aTextPortionList.Count(); 
nPortion++)
+
+    for (sal_Int32 nPortion = 0; nPortion < rPara.maTextPortionList.Count(); 
nPortion++)
     {
-        nXLen = nXLen + rPara.aTextPortionList[nPortion].GetLen();
+        nXLen = nXLen + rPara.maTextPortionList[nPortion].GetLen();
     }
-    return nXLen == rPara.pNode->Len();
+    return nXLen == rPara.mpNode->Len();
 }
 #endif
 
diff --git a/editeng/source/editeng/editdoc.cxx 
b/editeng/source/editeng/editdoc.cxx
index 5d68ac99e7a8..14d4fdaf9b0f 100644
--- a/editeng/source/editeng/editdoc.cxx
+++ b/editeng/source/editeng/editdoc.cxx
@@ -366,88 +366,82 @@ EditCharAttrib* MakeCharAttrib( SfxItemPool& rPool, const 
SfxPoolItem& rAttr, sa
     return nullptr;
 }
 
-void ParaPortion::MarkInvalid( sal_Int32 nStart, sal_Int32 nDiff )
+void ParaPortion::MarkInvalid(sal_Int32 nStart, sal_Int32 nDiff)
 {
-    if ( !bInvalid )
+    if (!mbInvalid)
     {
-//      nInvalidPosEnd = nStart;    // ??? => CreateLines
-        nInvalidPosStart = ( nDiff >= 0 ) ? nStart : ( nStart + nDiff );
-        nInvalidDiff = nDiff;
+//      mnInvalidPosEnd = nStart;    // ??? => CreateLines
+        mnInvalidPosStart = nDiff >= 0 ? nStart : nStart + nDiff;
+        mnInvalidDiff = nDiff;
     }
     else
     {
         // Simple tap in succession
-        if ( ( nDiff > 0 ) && ( nInvalidDiff > 0 ) &&
-             ( ( nInvalidPosStart+nInvalidDiff ) == nStart ) )
+        if (nDiff > 0 && mnInvalidDiff > 0 && (mnInvalidPosStart + 
mnInvalidDiff) == nStart)
         {
-            nInvalidDiff = nInvalidDiff + nDiff;
+            mnInvalidDiff = mnInvalidDiff + nDiff;
         }
         // Simple delete in succession
-        else if ( ( nDiff < 0 ) && ( nInvalidDiff < 0 ) && ( nInvalidPosStart 
== nStart ) )
+        else if (nDiff < 0 && mnInvalidDiff < 0 && mnInvalidPosStart == nStart)
         {
-            nInvalidPosStart = nInvalidPosStart + nDiff;
-            nInvalidDiff = nInvalidDiff + nDiff;
+            mnInvalidPosStart = mnInvalidPosStart + nDiff;
+            mnInvalidDiff = mnInvalidDiff + nDiff;
         }
         else
         {
-//          nInvalidPosEnd = pNode->Len();
-            DBG_ASSERT( ( nDiff >= 0 ) || ( (nStart+nDiff) >= 0 ), 
"MarkInvalid: Diff out of Range" );
-            nInvalidPosStart = std::min( nInvalidPosStart, ( nDiff < 0 ? 
nStart+nDiff : nDiff ) );
-            nInvalidDiff = 0;
-            bSimple = false;
+//          mnInvalidPosEnd = pNode->Len();
+            DBG_ASSERT(nDiff >= 0 || (nStart + nDiff) >= 0, "MarkInvalid: Diff 
out of Range");
+            mnInvalidPosStart = std::min(mnInvalidPosStart, nDiff < 0 ? nStart 
+ nDiff : nDiff);
+            mnInvalidDiff = 0;
+            mbSimple = false;
         }
     }
-    bInvalid = true;
-    aScriptInfos.clear();
-    aWritingDirectionInfos.clear();
+    mbInvalid = true;
+    maScriptInfos.clear();
+    maWritingDirectionInfos.clear();
 }
 
-void ParaPortion::MarkSelectionInvalid( sal_Int32 nStart )
+void ParaPortion::MarkSelectionInvalid(sal_Int32 nStart)
 {
-    if ( !bInvalid )
+    if ( !mbInvalid )
     {
-        nInvalidPosStart = nStart;
+        mnInvalidPosStart = nStart;
     }
     else
     {
-        nInvalidPosStart = std::min( nInvalidPosStart, nStart );
+        mnInvalidPosStart = std::min(mnInvalidPosStart, nStart);
     }
-    nInvalidDiff = 0;
-    bInvalid = true;
-    bSimple = false;
-    aScriptInfos.clear();
-    aWritingDirectionInfos.clear();
+    mnInvalidDiff = 0;
+    mbInvalid = true;
+    mbSimple = false;
+    maScriptInfos.clear();
+    maWritingDirectionInfos.clear();
 }
 
 sal_Int32 ParaPortion::GetLineNumber( sal_Int32 nIndex ) const
 {
-    SAL_WARN_IF( !aLineList.Count(), "editeng", "Empty ParaPortion in 
GetLine!" );
-    DBG_ASSERT( bVisible, "Why GetLine() on an invisible paragraph?" );
+    SAL_WARN_IF(!maLineList.Count(), "editeng", "Empty ParaPortion in 
GetLine!");
+    DBG_ASSERT(mbVisible, "Why GetLine() on an invisible paragraph?");
 
-    for ( sal_Int32 nLine = 0; nLine < aLineList.Count(); nLine++ )
+    for ( sal_Int32 nLine = 0; nLine < maLineList.Count(); nLine++ )
     {
-        if ( aLineList[nLine].IsIn( nIndex ) )
+        if (maLineList[nLine].IsIn(nIndex))
             return nLine;
     }
 
     // Then it should be at the end of the last line!
-    DBG_ASSERT( nIndex == aLineList[ aLineList.Count() - 1 ].GetEnd(), "Index 
dead wrong!" );
-    return (aLineList.Count()-1);
-}
-
-void ParaPortion::SetVisible( bool bMakeVisible )
-{
-    bVisible = bMakeVisible;
+    DBG_ASSERT(nIndex == maLineList[maLineList.Count() - 1].GetEnd(), "Index 
dead wrong!");
+    return (maLineList.Count() - 1);
 }
 
 void ParaPortion::CorrectValuesBehindLastFormattedLine( sal_Int32 
nLastFormattedLine )
 {
-    sal_Int32 nLines = aLineList.Count();
+    sal_Int32 nLines = maLineList.Count();
     DBG_ASSERT( nLines, "CorrectPortionNumbersFromLine: Empty Portion?" );
     if ( nLastFormattedLine < ( nLines - 1 ) )
     {
-        const EditLine& rLastFormatted = aLineList[ nLastFormattedLine ];
-        const EditLine& rUnformatted = aLineList[ nLastFormattedLine+1 ];
+        const EditLine& rLastFormatted = maLineList[ nLastFormattedLine ];
+        const EditLine& rUnformatted = maLineList[ nLastFormattedLine+1 ];
         sal_Int32 nPortionDiff = rUnformatted.GetStartPortion() - 
rLastFormatted.GetEndPortion();
         sal_Int32 nTextDiff = rUnformatted.GetStart() - 
rLastFormatted.GetEnd();
         nTextDiff++;    // LastFormatted->GetEnd() was included => 1 deducted 
too much!
@@ -462,7 +456,7 @@ void ParaPortion::CorrectValuesBehindLastFormattedLine( 
sal_Int32 nLastFormatted
         {
             for ( sal_Int32 nL = nLastFormattedLine+1; nL < nLines; nL++ )
             {
-                EditLine& rLine = aLineList[ nL ];
+                EditLine& rLine = maLineList[ nL ];
 
                 rLine.GetStartPortion() = rLine.GetStartPortion() + nPDiff;
                 rLine.GetEndPortion() = rLine.GetEndPortion() + nPDiff;
@@ -474,7 +468,7 @@ void ParaPortion::CorrectValuesBehindLastFormattedLine( 
sal_Int32 nLastFormatted
             }
         }
     }
-    DBG_ASSERT( aLineList[ aLineList.Count()-1 ].GetEnd() == pNode->Len(), 
"CorrectLines: The end is not right!" );
+    DBG_ASSERT(maLineList[maLineList.Count() - 1].GetEnd() == mpNode->Len(), 
"CorrectLines: The end is not right!");
 }
 
 // Shared reverse lookup acceleration pieces ...
@@ -1013,13 +1007,12 @@ EditPaM EditDoc::GetEndPaM() const
 
 sal_Int32 EditDoc::GetTextLen() const
 {
-    sal_Int32 nLen = 0;
-    for ( sal_Int32 nNode = 0; nNode < Count(); nNode++ )
+    sal_Int32 nLength = 0;
+    for (auto const& pContent : maContents)
     {
-        const ContentNode* pNode = GetObject( nNode );
-        nLen += pNode->GetExpandedLen();
+        nLength += pContent->GetExpandedLen();
     }
-    return nLen;
+    return nLength;
 }
 
 EditPaM EditDoc::Clear()
diff --git a/editeng/source/editeng/impedit2.cxx 
b/editeng/source/editeng/impedit2.cxx
index d37679c9a612..77e3933c085f 100644
--- a/editeng/source/editeng/impedit2.cxx
+++ b/editeng/source/editeng/impedit2.cxx
@@ -1659,7 +1659,7 @@ void ImpEditEngine::InitScriptTypes( sal_Int32 nPara )
     if (!pParaPortion)
         return;
 
-    ScriptTypePosInfos& rTypes = pParaPortion->aScriptInfos;
+    ScriptTypePosInfos& rTypes = pParaPortion->getScriptTypePosInfos();
     rTypes.clear();
 
     ContentNode* pNode = pParaPortion->GetNode();
@@ -1751,11 +1751,11 @@ void ImpEditEngine::InitScriptTypes( sal_Int32 nPara )
         rTypes[0].nScriptType = ( rTypes.size() > 1 ) ? rTypes[1].nScriptType 
: SvtLanguageOptions::GetI18NScriptTypeOfLanguage( GetDefaultLanguage() );
 
     // create writing direction information:
-    if ( pParaPortion->aWritingDirectionInfos.empty() )
+    WritingDirectionInfos& rDirInfos = 
pParaPortion->getWritingDirectionInfos();
+    if (rDirInfos.empty())
         InitWritingDirections( nPara );
 
     // i89825: Use CTL font for numbers embedded into an RTL run:
-    WritingDirectionInfos& rDirInfos = pParaPortion->aWritingDirectionInfos;
     for (const WritingDirectionInfo & rDirInfo : rDirInfos)
     {
         const sal_Int32 nStart = rDirInfo.nStartPos;
@@ -1830,10 +1830,10 @@ sal_uInt16 ImpEditEngine::GetI18NScriptType( const 
EditPaM& rPaM, sal_Int32* pEn
         const ParaPortion* pParaPortion = GetParaPortions().SafeGetObject( 
nPara );
         if (pParaPortion)
         {
-            if ( pParaPortion->aScriptInfos.empty() )
-                const_cast<ImpEditEngine*>(this)->InitScriptTypes( nPara );
+            const ScriptTypePosInfos& rTypes = 
pParaPortion->getScriptTypePosInfos();
 
-            const ScriptTypePosInfos& rTypes = pParaPortion->aScriptInfos;
+            if (rTypes.empty())
+                const_cast<ImpEditEngine*>(this)->InitScriptTypes( nPara );
 
             const sal_Int32 nPos = rPaM.GetIndex();
             ScriptTypePosInfos::const_iterator itr = 
std::find_if(rTypes.begin(), rTypes.end(), FindByPos(nPos));
@@ -1864,10 +1864,10 @@ SvtScriptType ImpEditEngine::GetItemScriptType( const 
EditSelection& rSel ) cons
         if (!pParaPortion)
             continue;
 
-        if ( pParaPortion->aScriptInfos.empty() )
-            const_cast<ImpEditEngine*>(this)->InitScriptTypes( nPara );
+        ScriptTypePosInfos const& rTypes = 
pParaPortion->getScriptTypePosInfos();
 
-        const ScriptTypePosInfos& rTypes = pParaPortion->aScriptInfos;
+        if (rTypes.empty())
+            const_cast<ImpEditEngine*>(this)->InitScriptTypes( nPara );
 
         // find all the scripts of this range
         sal_Int32 nS = ( nPara == nStartPara ) ? aSel.Min().GetIndex() : 0;
@@ -1910,10 +1910,11 @@ bool ImpEditEngine::IsScriptChange( const EditPaM& rPaM 
) const
         const ParaPortion* pParaPortion = GetParaPortions().SafeGetObject( 
nPara );
         if (pParaPortion)
         {
-            if ( pParaPortion->aScriptInfos.empty() )
+            ScriptTypePosInfos const& rTypes = 
pParaPortion->getScriptTypePosInfos();
+
+            if (rTypes.empty())
                 const_cast<ImpEditEngine*>(this)->InitScriptTypes( nPara );
 
-            const ScriptTypePosInfos& rTypes = pParaPortion->aScriptInfos;
             const sal_Int32 nPos = rPaM.GetIndex();
             for (const ScriptTypePosInfo & rType : rTypes)
             {
@@ -1935,10 +1936,11 @@ bool ImpEditEngine::HasScriptType( sal_Int32 nPara, 
sal_uInt16 nType ) const
     const ParaPortion* pParaPortion = GetParaPortions().SafeGetObject( nPara );
     if (pParaPortion)
     {
-        if ( pParaPortion->aScriptInfos.empty() )
+        const ScriptTypePosInfos& rTypes = 
pParaPortion->getScriptTypePosInfos();
+
+        if (rTypes.empty())
             const_cast<ImpEditEngine*>(this)->InitScriptTypes( nPara );
 
-        const ScriptTypePosInfos& rTypes = pParaPortion->aScriptInfos;
         for ( size_t n = rTypes.size(); n && !bTypeFound; )
         {
             if ( rTypes[--n].nScriptType == nType )
@@ -1954,7 +1956,7 @@ void ImpEditEngine::InitWritingDirections( sal_Int32 
nPara )
     if (!pParaPortion)
         return;
 
-    WritingDirectionInfos& rInfos = pParaPortion->aWritingDirectionInfos;
+    WritingDirectionInfos& rInfos = pParaPortion->getWritingDirectionInfos();
     rInfos.clear();
 
     if (pParaPortion->GetNode()->Len() && !mbFuzzing)
@@ -2060,10 +2062,10 @@ sal_uInt8 ImpEditEngine::GetRightToLeft( sal_Int32 
nPara, sal_Int32 nPos, sal_In
         ParaPortion* pParaPortion = GetParaPortions().SafeGetObject( nPara );
         if (pParaPortion)
         {
-            if ( pParaPortion->aWritingDirectionInfos.empty() )
+            WritingDirectionInfos& rDirInfos = 
pParaPortion->getWritingDirectionInfos();
+            if (rDirInfos.empty())
                 InitWritingDirections( nPara );
 
-            WritingDirectionInfos& rDirInfos = 
pParaPortion->aWritingDirectionInfos;
             for (const WritingDirectionInfo & rDirInfo : rDirInfos)
             {
                 if ( ( rDirInfo.nStartPos <= nPos ) && ( rDirInfo.nEndPos >= 
nPos ) )
@@ -4386,15 +4388,15 @@ tools::Long ImpEditEngine::GetXPos(ParaPortion const& 
rParaPortion, EditLine con
 
 void ImpEditEngine::CalcHeight(ParaPortion& rPortion)
 {
-    rPortion.nHeight = 0;
-    rPortion.nFirstLineOffset = 0;
+    rPortion.mnHeight = 0;
+    rPortion.mnFirstLineOffset = 0;
 
     if (!rPortion.IsVisible())
         return;
 
     OSL_ENSURE(rPortion.GetLines().Count(), "Paragraph with no lines in 
ParaPortion::CalcHeight");
     for (sal_Int32 nLine = 0; nLine < rPortion.GetLines().Count(); ++nLine)
-        rPortion.nHeight += rPortion.GetLines()[nLine].GetHeight();
+        rPortion.mnHeight += rPortion.GetLines()[nLine].GetHeight();
 
     if (maStatus.IsOutliner())
         return;
@@ -4406,22 +4408,22 @@ void ImpEditEngine::CalcHeight(ParaPortion& rPortion)
     if ( nSBL )
     {
         if (rPortion.GetLines().Count() > 1)
-            rPortion.nHeight += (rPortion.GetLines().Count() - 1) * nSBL;
+            rPortion.mnHeight += (rPortion.GetLines().Count() - 1) * nSBL;
         if (maStatus.ULSpaceSummation())
-            rPortion.nHeight += nSBL;
+            rPortion.mnHeight += nSBL;
     }
 
     sal_Int32 nPortion = GetParaPortions().GetPos(&rPortion);
     if ( nPortion )
     {
         sal_uInt16 nUpper = scaleYSpacingValue(rULItem.GetUpper());
-        rPortion.nHeight += nUpper;
-        rPortion.nFirstLineOffset = nUpper;
+        rPortion.mnHeight += nUpper;
+        rPortion.mnFirstLineOffset = nUpper;
     }
 
     if (nPortion != GetParaPortions().lastIndex())
     {
-        rPortion.nHeight += scaleYSpacingValue(rULItem.GetLower());   // not 
in the last
+        rPortion.mnHeight += scaleYSpacingValue(rULItem.GetLower());   // not 
in the last
     }
 
 
@@ -4442,28 +4444,28 @@ void ImpEditEngine::CalcHeight(ParaPortion& rPortion)
 
     // check if distance by LineSpacing > Upper:
     sal_uInt16 nExtraSpace = scaleYSpacingValue(lcl_CalcExtraSpace(rLSItem));
-    if (nExtraSpace > rPortion.nFirstLineOffset)
+    if (nExtraSpace > rPortion.mnFirstLineOffset)
     {
         // Paragraph becomes 'bigger':
-        rPortion.nHeight += (nExtraSpace - rPortion.nFirstLineOffset);
-        rPortion.nFirstLineOffset = nExtraSpace;
+        rPortion.mnHeight += (nExtraSpace - rPortion.mnFirstLineOffset);
+        rPortion.mnFirstLineOffset = nExtraSpace;
     }
 
     // Determine nFirstLineOffset now f(pNode) => now f(pNode, pPrev):
     sal_uInt16 nPrevLower = scaleYSpacingValue(rPrevULItem.GetLower());
 
     // This PrevLower is still in the height of PrevPortion ...
-    if (nPrevLower > rPortion.nFirstLineOffset)
+    if (nPrevLower > rPortion.mnFirstLineOffset)
     {
         // Paragraph is 'small':
-        rPortion.nHeight -= rPortion.nFirstLineOffset;
-        rPortion.nFirstLineOffset = 0;
+        rPortion.mnHeight -= rPortion.mnFirstLineOffset;
+        rPortion.mnFirstLineOffset = 0;
     }
     else if ( nPrevLower )
     {
         // Paragraph becomes 'somewhat smaller':
-        rPortion.nHeight -= nPrevLower;
-        rPortion.nFirstLineOffset = rPortion.nFirstLineOffset - nPrevLower;
+        rPortion.mnHeight -= nPrevLower;
+        rPortion.mnFirstLineOffset = rPortion.mnFirstLineOffset - nPrevLower;
     }
     // I find it not so good, but Writer3 feature:
     // Check if distance by LineSpacing > Lower: this value is not
@@ -4476,10 +4478,10 @@ void ImpEditEngine::CalcHeight(ParaPortion& rPortion)
     {
         sal_uInt16 nMoreLower = nExtraSpace - nPrevLower;
         // Paragraph becomes 'bigger', 'grows' downwards:
-        if ( nMoreLower > rPortion.nFirstLineOffset )
+        if ( nMoreLower > rPortion.mnFirstLineOffset )
         {
-            rPortion.nHeight += (nMoreLower - rPortion.nFirstLineOffset);
-            rPortion.nFirstLineOffset = nMoreLower;
+            rPortion.mnHeight += (nMoreLower - rPortion.mnFirstLineOffset);
+            rPortion.mnFirstLineOffset = nMoreLower;
         }
     }
 }
diff --git a/editeng/source/editeng/impedit3.cxx 
b/editeng/source/editeng/impedit3.cxx
index e48e90f44406..330a37cb2187 100644
--- a/editeng/source/editeng/impedit3.cxx
+++ b/editeng/source/editeng/impedit3.cxx
@@ -2601,15 +2601,13 @@ void ImpEditEngine::CreateTextPortions(ParaPortion& 
rParaPortion, sal_Int32& rSt
     }
     aPositions.insert( pNode->Len() );
 
-    if (rParaPortion.aScriptInfos.empty())
+    if (rParaPortion.getScriptTypePosInfos().empty())
         InitScriptTypes(GetParaPortions().GetPos(&rParaPortion));
 
-    const ScriptTypePosInfos& rTypes = rParaPortion.aScriptInfos;
-    for (const ScriptTypePosInfo& rType : rTypes)
+    for (const ScriptTypePosInfo& rType : rParaPortion.getScriptTypePosInfos())
         aPositions.insert( rType.nStartPos );
 
-    const WritingDirectionInfos& rWritingDirections = 
rParaPortion.aWritingDirectionInfos;
-    for (const WritingDirectionInfo & rWritingDirection : rWritingDirections)
+    for (const WritingDirectionInfo& rWritingDirection : 
rParaPortion.getWritingDirectionInfos())
         aPositions.insert( rWritingDirection.nStartPos );
 
     if ( mpIMEInfos && mpIMEInfos->nLen && mpIMEInfos->pAttribs && ( 
mpIMEInfos->aPos.GetNode() == pNode ) )
@@ -4213,7 +4211,7 @@ void ImpEditEngine::ShowParagraph( sal_Int32 nParagraph, 
bool bShow )
         // If anyway, then save as sal_False before SetVisible !
     }
 
-    if ( bShow && ( pPPortion->IsInvalid() || !pPPortion->nHeight ) )
+    if (bShow && (pPPortion->IsInvalid() || !pPPortion->getHeight()))
     {
         if ( !GetTextRanger() )
         {
diff --git a/editeng/source/editeng/impedit4.cxx 
b/editeng/source/editeng/impedit4.cxx
index ffde50bf78d3..c22b20e8cdf5 100644
--- a/editeng/source/editeng/impedit4.cxx
+++ b/editeng/source/editeng/impedit4.cxx
@@ -1323,9 +1323,9 @@ EditSelection ImpEditEngine::InsertTextObject( const 
EditTextObject& rTextObject
                 const XParaPortion& rXP = (*pPortionInfo)[n];
                 ParaPortion* pParaPortion = 
GetParaPortions().SafeGetObject(nPara);
                 DBG_ASSERT( pParaPortion, "InsertBinTextObject: ParaPortion?" 
);
-                pParaPortion->nHeight = rXP.nHeight;
-                pParaPortion->nFirstLineOffset = rXP.nFirstLineOffset;
-                pParaPortion->bForceRepaint = true;
+                pParaPortion->mnHeight = rXP.nHeight;
+                pParaPortion->mnFirstLineOffset = rXP.nFirstLineOffset;
+                pParaPortion->mbForceRepaint = true;
                 pParaPortion->SetValid();   // Do not format
 
                 // The Text Portions

Reply via email to