Index: xfa/fgas/layout/fgas_textbreak.h |
diff --git a/xfa/fgas/layout/fgas_textbreak.h b/xfa/fgas/layout/fgas_textbreak.h |
index 94fa79f5a6b7a7ab8e5dd28c7dfe7eb90904e87d..020fa1a3d3bc4151bb434af399f2f7bc9a7598e4 100644 |
--- a/xfa/fgas/layout/fgas_textbreak.h |
+++ b/xfa/fgas/layout/fgas_textbreak.h |
@@ -82,21 +82,9 @@ class IFX_TxtAccess { |
}; |
struct FX_TXTRUN { |
- FX_TXTRUN() |
- : pAccess(nullptr), |
- pIdentity(nullptr), |
- pWidths(nullptr), |
- iLength(0), |
- pFont(nullptr), |
- fFontSize(12), |
- dwStyles(0), |
- iHorizontalScale(100), |
- iVerticalScale(100), |
- iCharRotation(0), |
- dwCharStyles(0), |
- pRect(nullptr), |
- wLineBreakChar(L'\n'), |
- bSkipSpace(TRUE) {} |
+ FX_TXTRUN(); |
+ FX_TXTRUN(const FX_TXTRUN& other); |
+ ~FX_TXTRUN(); |
IFX_TxtAccess* pAccess; |
const FDE_TEXTEDITPIECE* pIdentity; |
@@ -117,19 +105,8 @@ struct FX_TXTRUN { |
class CFX_TxtPiece : public CFX_Target { |
public: |
- CFX_TxtPiece() |
- : m_dwStatus(FX_TXTBREAK_PieceBreak), |
- m_iStartPos(0), |
- m_iWidth(-1), |
- m_iStartChar(0), |
- m_iChars(0), |
- m_iBidiLevel(0), |
- m_iBidiPos(0), |
- m_iHorizontalScale(100), |
- m_iVerticalScale(100), |
- m_dwCharStyles(0), |
- m_pChars(NULL), |
- m_pUserData(NULL) {} |
+ CFX_TxtPiece(); |
+ |
int32_t GetEndPos() const { |
return m_iWidth < 0 ? m_iStartPos : m_iStartPos + m_iWidth; |
} |
@@ -148,7 +125,6 @@ class CFX_TxtPiece : public CFX_Target { |
*pText++ = (FX_WCHAR)pChar->m_wCharCode; |
} |
} |
- |
void GetString(CFX_WideString& wsText) const { |
FX_WCHAR* pText = wsText.GetBuffer(m_iChars); |
GetString(pText); |
@@ -163,6 +139,7 @@ class CFX_TxtPiece : public CFX_Target { |
*pWidths++ = pChar->m_iCharWidth; |
} |
} |
+ |
uint32_t m_dwStatus; |
int32_t m_iStartPos; |
int32_t m_iWidth; |
@@ -176,20 +153,14 @@ class CFX_TxtPiece : public CFX_Target { |
CFX_TxtCharArray* m_pChars; |
void* m_pUserData; |
}; |
+ |
typedef CFX_BaseArrayTemplate<CFX_TxtPiece> CFX_TxtPieceArray; |
class CFX_TxtLine { |
public: |
- CFX_TxtLine(int32_t iBlockSize) |
- : m_iStart(0), m_iWidth(0), m_iArabicChars(0) { |
- m_pLineChars = new CFX_TxtCharArray; |
- m_pLinePieces = new CFX_TxtPieceArray(16); |
- } |
- ~CFX_TxtLine() { |
- RemoveAll(); |
- delete m_pLineChars; |
- delete m_pLinePieces; |
- } |
+ CFX_TxtLine(int32_t iBlockSize); |
+ ~CFX_TxtLine(); |
+ |
int32_t CountChars() const { return m_pLineChars->GetSize(); } |
CFX_TxtChar* GetCharPtr(int32_t index) const { |
ASSERT(index > -1 && index < m_pLineChars->GetSize()); |
@@ -216,6 +187,7 @@ class CFX_TxtLine { |
m_iWidth = 0; |
m_iArabicChars = 0; |
} |
+ |
CFX_TxtCharArray* m_pLineChars; |
CFX_TxtPieceArray* m_pLinePieces; |
int32_t m_iStart; |