OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #ifndef XFA_FGAS_LAYOUT_FGAS_RTFBREAK_H_ | 7 #ifndef XFA_FGAS_LAYOUT_FGAS_RTFBREAK_H_ |
8 #define XFA_FGAS_LAYOUT_FGAS_RTFBREAK_H_ | 8 #define XFA_FGAS_LAYOUT_FGAS_RTFBREAK_H_ |
9 | 9 |
10 #include "core/fxcrt/include/fx_ucd.h" | 10 #include "core/fxcrt/include/fx_ucd.h" |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 wLineBreakChar = L'\n'; | 78 wLineBreakChar = L'\n'; |
79 iHorizontalScale = 100; | 79 iHorizontalScale = 100; |
80 iVerticalScale = 100; | 80 iVerticalScale = 100; |
81 } | 81 } |
82 | 82 |
83 const FX_WCHAR* pStr; | 83 const FX_WCHAR* pStr; |
84 int32_t* pWidths; | 84 int32_t* pWidths; |
85 int32_t iLength; | 85 int32_t iLength; |
86 IFX_Font* pFont; | 86 IFX_Font* pFont; |
87 FX_FLOAT fFontSize; | 87 FX_FLOAT fFontSize; |
88 FX_DWORD dwLayoutStyles; | 88 uint32_t dwLayoutStyles; |
89 int32_t iCharRotation; | 89 int32_t iCharRotation; |
90 int32_t iBidiLevel; | 90 int32_t iBidiLevel; |
91 const CFX_RectF* pRect; | 91 const CFX_RectF* pRect; |
92 FX_WCHAR wLineBreakChar; | 92 FX_WCHAR wLineBreakChar; |
93 int32_t iHorizontalScale; | 93 int32_t iHorizontalScale; |
94 int32_t iVerticalScale; | 94 int32_t iVerticalScale; |
95 }; | 95 }; |
96 | 96 |
97 class CFX_RTFPiece : public CFX_Target { | 97 class CFX_RTFPiece : public CFX_Target { |
98 public: | 98 public: |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
165 m_iStartPos += m_iWidth; | 165 m_iStartPos += m_iWidth; |
166 } | 166 } |
167 m_iWidth = -1; | 167 m_iWidth = -1; |
168 m_iStartChar += m_iChars; | 168 m_iStartChar += m_iChars; |
169 m_iChars = 0; | 169 m_iChars = 0; |
170 m_iBidiLevel = 0; | 170 m_iBidiLevel = 0; |
171 m_iBidiPos = 0; | 171 m_iBidiPos = 0; |
172 m_iHorizontalScale = 100; | 172 m_iHorizontalScale = 100; |
173 m_iVerticalScale = 100; | 173 m_iVerticalScale = 100; |
174 } | 174 } |
175 FX_DWORD m_dwStatus; | 175 uint32_t m_dwStatus; |
176 int32_t m_iStartPos; | 176 int32_t m_iStartPos; |
177 int32_t m_iWidth; | 177 int32_t m_iWidth; |
178 int32_t m_iStartChar; | 178 int32_t m_iStartChar; |
179 int32_t m_iChars; | 179 int32_t m_iChars; |
180 int32_t m_iBidiLevel; | 180 int32_t m_iBidiLevel; |
181 int32_t m_iBidiPos; | 181 int32_t m_iBidiPos; |
182 int32_t m_iFontSize; | 182 int32_t m_iFontSize; |
183 int32_t m_iFontHeight; | 183 int32_t m_iFontHeight; |
184 int32_t m_iHorizontalScale; | 184 int32_t m_iHorizontalScale; |
185 int32_t m_iVerticalScale; | 185 int32_t m_iVerticalScale; |
186 FX_DWORD m_dwLayoutStyles; | 186 uint32_t m_dwLayoutStyles; |
187 FX_DWORD m_dwIdentity; | 187 uint32_t m_dwIdentity; |
188 CFX_RTFCharArray* m_pChars; | 188 CFX_RTFCharArray* m_pChars; |
189 IFX_Unknown* m_pUserData; | 189 IFX_Unknown* m_pUserData; |
190 }; | 190 }; |
191 typedef CFX_BaseArrayTemplate<CFX_RTFPiece> CFX_RTFPieceArray; | 191 typedef CFX_BaseArrayTemplate<CFX_RTFPiece> CFX_RTFPieceArray; |
192 | 192 |
193 class IFX_RTFBreak { | 193 class IFX_RTFBreak { |
194 public: | 194 public: |
195 static IFX_RTFBreak* Create(FX_DWORD dwPolicies); | 195 static IFX_RTFBreak* Create(uint32_t dwPolicies); |
196 virtual ~IFX_RTFBreak() {} | 196 virtual ~IFX_RTFBreak() {} |
197 virtual void Release() = 0; | 197 virtual void Release() = 0; |
198 virtual void SetLineBoundary(FX_FLOAT fLineStart, FX_FLOAT fLineEnd) = 0; | 198 virtual void SetLineBoundary(FX_FLOAT fLineStart, FX_FLOAT fLineEnd) = 0; |
199 virtual void SetLineStartPos(FX_FLOAT fLinePos) = 0; | 199 virtual void SetLineStartPos(FX_FLOAT fLinePos) = 0; |
200 virtual FX_DWORD GetLayoutStyles() const = 0; | 200 virtual uint32_t GetLayoutStyles() const = 0; |
201 virtual void SetLayoutStyles(FX_DWORD dwLayoutStyles) = 0; | 201 virtual void SetLayoutStyles(uint32_t dwLayoutStyles) = 0; |
202 virtual void SetFont(IFX_Font* pFont) = 0; | 202 virtual void SetFont(IFX_Font* pFont) = 0; |
203 virtual void SetFontSize(FX_FLOAT fFontSize) = 0; | 203 virtual void SetFontSize(FX_FLOAT fFontSize) = 0; |
204 virtual void SetTabWidth(FX_FLOAT fTabWidth) = 0; | 204 virtual void SetTabWidth(FX_FLOAT fTabWidth) = 0; |
205 virtual void AddPositionedTab(FX_FLOAT fTabPos) = 0; | 205 virtual void AddPositionedTab(FX_FLOAT fTabPos) = 0; |
206 virtual void SetPositionedTabs(const CFX_FloatArray& tabs) = 0; | 206 virtual void SetPositionedTabs(const CFX_FloatArray& tabs) = 0; |
207 virtual void ClearPositionedTabs() = 0; | 207 virtual void ClearPositionedTabs() = 0; |
208 virtual void SetDefaultChar(FX_WCHAR wch) = 0; | 208 virtual void SetDefaultChar(FX_WCHAR wch) = 0; |
209 virtual void SetLineBreakChar(FX_WCHAR wch) = 0; | 209 virtual void SetLineBreakChar(FX_WCHAR wch) = 0; |
210 virtual void SetLineBreakTolerance(FX_FLOAT fTolerance) = 0; | 210 virtual void SetLineBreakTolerance(FX_FLOAT fTolerance) = 0; |
211 virtual void SetHorizontalScale(int32_t iScale) = 0; | 211 virtual void SetHorizontalScale(int32_t iScale) = 0; |
212 virtual void SetVerticalScale(int32_t iScale) = 0; | 212 virtual void SetVerticalScale(int32_t iScale) = 0; |
213 virtual void SetCharRotation(int32_t iCharRotation) = 0; | 213 virtual void SetCharRotation(int32_t iCharRotation) = 0; |
214 virtual void SetCharSpace(FX_FLOAT fCharSpace) = 0; | 214 virtual void SetCharSpace(FX_FLOAT fCharSpace) = 0; |
215 virtual void SetWordSpace(FX_BOOL bDefault, FX_FLOAT fWordSpace) = 0; | 215 virtual void SetWordSpace(FX_BOOL bDefault, FX_FLOAT fWordSpace) = 0; |
216 virtual void SetReadingOrder(FX_BOOL bRTL = FALSE) = 0; | 216 virtual void SetReadingOrder(FX_BOOL bRTL = FALSE) = 0; |
217 virtual void SetAlignment(int32_t iAlignment = FX_RTFLINEALIGNMENT_Left) = 0; | 217 virtual void SetAlignment(int32_t iAlignment = FX_RTFLINEALIGNMENT_Left) = 0; |
218 virtual void SetUserData(IFX_Unknown* pUserData) = 0; | 218 virtual void SetUserData(IFX_Unknown* pUserData) = 0; |
219 virtual FX_DWORD AppendChar(FX_WCHAR wch) = 0; | 219 virtual uint32_t AppendChar(FX_WCHAR wch) = 0; |
220 virtual FX_DWORD EndBreak(FX_DWORD dwStatus = FX_RTFBREAK_PieceBreak) = 0; | 220 virtual uint32_t EndBreak(uint32_t dwStatus = FX_RTFBREAK_PieceBreak) = 0; |
221 virtual int32_t CountBreakPieces() const = 0; | 221 virtual int32_t CountBreakPieces() const = 0; |
222 virtual const CFX_RTFPiece* GetBreakPiece(int32_t index) const = 0; | 222 virtual const CFX_RTFPiece* GetBreakPiece(int32_t index) const = 0; |
223 virtual void GetLineRect(CFX_RectF& rect) const = 0; | 223 virtual void GetLineRect(CFX_RectF& rect) const = 0; |
224 virtual void ClearBreakPieces() = 0; | 224 virtual void ClearBreakPieces() = 0; |
225 virtual void Reset() = 0; | 225 virtual void Reset() = 0; |
226 virtual int32_t GetDisplayPos( | 226 virtual int32_t GetDisplayPos( |
227 const FX_RTFTEXTOBJ* pText, | 227 const FX_RTFTEXTOBJ* pText, |
228 FXTEXT_CHARPOS* pCharPos, | 228 FXTEXT_CHARPOS* pCharPos, |
229 FX_BOOL bCharCode = FALSE, | 229 FX_BOOL bCharCode = FALSE, |
230 CFX_WideString* pWSForms = NULL, | 230 CFX_WideString* pWSForms = NULL, |
231 FX_AdjustCharDisplayPos pAdjustPos = NULL) const = 0; | 231 FX_AdjustCharDisplayPos pAdjustPos = NULL) const = 0; |
232 virtual int32_t GetCharRects(const FX_RTFTEXTOBJ* pText, | 232 virtual int32_t GetCharRects(const FX_RTFTEXTOBJ* pText, |
233 CFX_RectFArray& rtArray, | 233 CFX_RectFArray& rtArray, |
234 FX_BOOL bCharBBox = FALSE) const = 0; | 234 FX_BOOL bCharBBox = FALSE) const = 0; |
235 }; | 235 }; |
236 | 236 |
237 #endif // XFA_FGAS_LAYOUT_FGAS_RTFBREAK_H_ | 237 #endif // XFA_FGAS_LAYOUT_FGAS_RTFBREAK_H_ |
OLD | NEW |