| Index: xfa/fgas/layout/fgas_rtfbreak.h
|
| diff --git a/xfa/fgas/layout/fgas_rtfbreak.h b/xfa/fgas/layout/fgas_rtfbreak.h
|
| index 83d83a6c4539561d0aff0b54d64ea843c3c12f2c..993dc50f979e9de5d9e102819b105e2f8203ef9c 100644
|
| --- a/xfa/fgas/layout/fgas_rtfbreak.h
|
| +++ b/xfa/fgas/layout/fgas_rtfbreak.h
|
| @@ -64,20 +64,7 @@ class CFGAS_GEFont;
|
| #define FX_RTFLINEALIGNMENT_HigherMask 0x0C
|
|
|
| struct FX_RTFTEXTOBJ {
|
| - FX_RTFTEXTOBJ() {
|
| - pStr = NULL;
|
| - pWidths = NULL;
|
| - iLength = 0;
|
| - pFont = NULL;
|
| - fFontSize = 12.0f;
|
| - dwLayoutStyles = 0;
|
| - iCharRotation = 0;
|
| - iBidiLevel = 0;
|
| - pRect = NULL;
|
| - wLineBreakChar = L'\n';
|
| - iHorizontalScale = 100;
|
| - iVerticalScale = 100;
|
| - }
|
| + FX_RTFTEXTOBJ();
|
|
|
| const FX_WCHAR* pStr;
|
| int32_t* pWidths;
|
| @@ -95,23 +82,9 @@ struct FX_RTFTEXTOBJ {
|
|
|
| class CFX_RTFPiece : public CFX_Target {
|
| public:
|
| - CFX_RTFPiece()
|
| - : m_dwStatus(FX_RTFBREAK_PieceBreak),
|
| - m_iStartPos(0),
|
| - m_iWidth(-1),
|
| - m_iStartChar(0),
|
| - m_iChars(0),
|
| - m_iBidiLevel(0),
|
| - m_iBidiPos(0),
|
| - m_iFontSize(0),
|
| - m_iFontHeight(0),
|
| - m_iHorizontalScale(100),
|
| - m_iVerticalScale(100),
|
| - m_dwLayoutStyles(0),
|
| - m_dwIdentity(0),
|
| - m_pChars(NULL),
|
| - m_pUserData(NULL) {}
|
| - ~CFX_RTFPiece() { Reset(); }
|
| + CFX_RTFPiece();
|
| + ~CFX_RTFPiece() override;
|
| +
|
| void AppendChar(const CFX_RTFChar& tc) {
|
| ASSERT(m_pChars != NULL);
|
| m_pChars->Add(tc);
|
| @@ -171,6 +144,7 @@ class CFX_RTFPiece : public CFX_Target {
|
| m_iHorizontalScale = 100;
|
| m_iVerticalScale = 100;
|
| }
|
| +
|
| uint32_t m_dwStatus;
|
| int32_t m_iStartPos;
|
| int32_t m_iWidth;
|
| @@ -187,17 +161,14 @@ class CFX_RTFPiece : public CFX_Target {
|
| CFX_RTFCharArray* m_pChars;
|
| IFX_Retainable* m_pUserData;
|
| };
|
| +
|
| typedef CFX_BaseArrayTemplate<CFX_RTFPiece> CFX_RTFPieceArray;
|
|
|
| class CFX_RTFLine {
|
| public:
|
| - CFX_RTFLine()
|
| - : m_LinePieces(16),
|
| - m_iStart(0),
|
| - m_iWidth(0),
|
| - m_iArabicChars(0),
|
| - m_iMBCSChars(0) {}
|
| - ~CFX_RTFLine() { RemoveAll(); }
|
| + CFX_RTFLine();
|
| + ~CFX_RTFLine();
|
| +
|
| int32_t CountChars() const { return m_LineChars.GetSize(); }
|
| CFX_RTFChar& GetChar(int32_t index) {
|
| ASSERT(index > -1 && index < m_LineChars.GetSize());
|
| @@ -233,6 +204,7 @@ class CFX_RTFLine {
|
| m_iArabicChars = 0;
|
| m_iMBCSChars = 0;
|
| }
|
| +
|
| CFX_RTFCharArray m_LineChars;
|
| CFX_RTFPieceArray m_LinePieces;
|
| int32_t m_iStart;
|
| @@ -290,6 +262,30 @@ class CFX_RTFBreak {
|
| uint32_t AppendChar_Others(CFX_RTFChar* pCurChar, int32_t iRotation);
|
|
|
| protected:
|
| + int32_t GetLineRotation(uint32_t dwStyles) const;
|
| + void SetBreakStatus();
|
| + CFX_RTFChar* GetLastChar(int32_t index) const;
|
| + CFX_RTFLine* GetRTFLine(FX_BOOL bReady) const;
|
| + CFX_RTFPieceArray* GetRTFPieces(FX_BOOL bReady) const;
|
| + FX_CHARTYPE GetUnifiedCharType(FX_CHARTYPE chartype) const;
|
| + int32_t GetLastPositionedTab() const;
|
| + FX_BOOL GetPositionedTab(int32_t& iTabPos) const;
|
| +
|
| + int32_t GetBreakPos(CFX_RTFCharArray& tca,
|
| + int32_t& iEndPos,
|
| + FX_BOOL bAllChars = FALSE,
|
| + FX_BOOL bOnlyBrk = FALSE);
|
| + void SplitTextLine(CFX_RTFLine* pCurLine,
|
| + CFX_RTFLine* pNextLine,
|
| + FX_BOOL bAllChars = FALSE);
|
| + FX_BOOL EndBreak_SplitLine(CFX_RTFLine* pNextLine,
|
| + FX_BOOL bAllChars,
|
| + uint32_t dwStatus);
|
| + void EndBreak_BidiLine(CFX_TPOArray& tpos, uint32_t dwStatus);
|
| + void EndBreak_Alignment(CFX_TPOArray& tpos,
|
| + FX_BOOL bAllChars,
|
| + uint32_t dwStatus);
|
| +
|
| uint32_t m_dwPolicies;
|
| int32_t m_iBoundaryStart;
|
| int32_t m_iBoundaryEnd;
|
| @@ -325,28 +321,6 @@ class CFX_RTFBreak {
|
| CFX_RTFLine* m_pCurLine;
|
| int32_t m_iReady;
|
| int32_t m_iTolerance;
|
| - int32_t GetLineRotation(uint32_t dwStyles) const;
|
| - void SetBreakStatus();
|
| - CFX_RTFChar* GetLastChar(int32_t index) const;
|
| - CFX_RTFLine* GetRTFLine(FX_BOOL bReady) const;
|
| - CFX_RTFPieceArray* GetRTFPieces(FX_BOOL bReady) const;
|
| - FX_CHARTYPE GetUnifiedCharType(FX_CHARTYPE chartype) const;
|
| - int32_t GetLastPositionedTab() const;
|
| - FX_BOOL GetPositionedTab(int32_t& iTabPos) const;
|
| - int32_t GetBreakPos(CFX_RTFCharArray& tca,
|
| - int32_t& iEndPos,
|
| - FX_BOOL bAllChars = FALSE,
|
| - FX_BOOL bOnlyBrk = FALSE);
|
| - void SplitTextLine(CFX_RTFLine* pCurLine,
|
| - CFX_RTFLine* pNextLine,
|
| - FX_BOOL bAllChars = FALSE);
|
| - FX_BOOL EndBreak_SplitLine(CFX_RTFLine* pNextLine,
|
| - FX_BOOL bAllChars,
|
| - uint32_t dwStatus);
|
| - void EndBreak_BidiLine(CFX_TPOArray& tpos, uint32_t dwStatus);
|
| - void EndBreak_Alignment(CFX_TPOArray& tpos,
|
| - FX_BOOL bAllChars,
|
| - uint32_t dwStatus);
|
| };
|
|
|
| #endif // XFA_FGAS_LAYOUT_FGAS_RTFBREAK_H_
|
|
|