Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(487)

Side by Side Diff: xfa/src/fxfa/src/app/xfa_textlayout.h

Issue 1730713002: Moar _CAPS work, part 3. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « xfa/src/fxfa/src/app/xfa_fftext.cpp ('k') | xfa/src/fxfa/src/app/xfa_textlayout.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_SRC_FXFA_SRC_APP_XFA_TEXTLAYOUT_H_ 7 #ifndef XFA_SRC_FXFA_SRC_APP_XFA_TEXTLAYOUT_H_
8 #define XFA_SRC_FXFA_SRC_APP_XFA_TEXTLAYOUT_H_ 8 #define XFA_SRC_FXFA_SRC_APP_XFA_TEXTLAYOUT_H_
9 9
10 #define XFA_LOADERCNTXTFLG_FILTERSPACE 0x001 10 #define XFA_LOADERCNTXTFLG_FILTERSPACE 0x001
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 } 218 }
219 virtual FX_DWORD AddRef() { return ++m_dwRefCount; } 219 virtual FX_DWORD AddRef() { return ++m_dwRefCount; }
220 220
221 IFDE_CSSComputedStyle* m_pStyle; 221 IFDE_CSSComputedStyle* m_pStyle;
222 CXFA_LinkUserData* m_pLinkData; 222 CXFA_LinkUserData* m_pLinkData;
223 223
224 protected: 224 protected:
225 IFX_MEMAllocator* m_pAllocator; 225 IFX_MEMAllocator* m_pAllocator;
226 FX_DWORD m_dwRefCount; 226 FX_DWORD m_dwRefCount;
227 }; 227 };
228 typedef struct _XFA_TEXTPIECE : public CFX_Target { 228
229 struct XFA_TEXTPIECE : public CFX_Target {
230 XFA_TEXTPIECE() : pszText(NULL), pFont(NULL), pLinkData(NULL) {}
Lei Zhang 2016/02/23 20:42:05 nullptr
231 ~XFA_TEXTPIECE() {
232 if (pLinkData)
233 pLinkData->Release();
234 }
235
229 FX_WCHAR* pszText; 236 FX_WCHAR* pszText;
230 int32_t iChars; 237 int32_t iChars;
231 int32_t* pWidths; 238 int32_t* pWidths;
232 int32_t iHorScale; 239 int32_t iHorScale;
233 int32_t iVerScale; 240 int32_t iVerScale;
234 int32_t iBidiLevel; 241 int32_t iBidiLevel;
235 int32_t iUnderline; 242 int32_t iUnderline;
236 int32_t iPeriod; 243 int32_t iPeriod;
237 int32_t iLineThrough; 244 int32_t iLineThrough;
238 IFX_Font* pFont; 245 IFX_Font* pFont;
239 FX_ARGB dwColor; 246 FX_ARGB dwColor;
240 FX_FLOAT fFontSize; 247 FX_FLOAT fFontSize;
241 CFX_RectF rtPiece; 248 CFX_RectF rtPiece;
242 CXFA_LinkUserData* pLinkData; 249 CXFA_LinkUserData* pLinkData;
250 };
251 typedef CFX_ArrayTemplate<XFA_TEXTPIECE*> CXFA_PieceArray;
243 252
244 _XFA_TEXTPIECE() : pszText(NULL), pFont(NULL), pLinkData(NULL) {
245 pszText = NULL;
246 }
247 ~_XFA_TEXTPIECE() {
248 pszText = NULL;
249 if (NULL != pLinkData) {
250 pLinkData->Release();
251 pLinkData = NULL;
252 }
253 }
254 } XFA_TEXTPIECE, *XFA_LPTEXTPIECE;
255 typedef XFA_TEXTPIECE const* XFA_LPCTEXTPIECE;
256 typedef CFX_ArrayTemplate<XFA_LPTEXTPIECE> CXFA_PieceArray;
257 class CXFA_PieceLine : public CFX_Target { 253 class CXFA_PieceLine : public CFX_Target {
258 public: 254 public:
259 CXFA_PieceLine() {} 255 CXFA_PieceLine() {}
260 CXFA_PieceArray m_textPieces; 256 CXFA_PieceArray m_textPieces;
261 CFX_Int32Array m_charCounts; 257 CFX_Int32Array m_charCounts;
262 }; 258 };
263 typedef CFX_ArrayTemplate<CXFA_PieceLine*> CXFA_PieceLineArray; 259 typedef CFX_ArrayTemplate<CXFA_PieceLine*> CXFA_PieceLineArray;
264 struct XFA_TABSTOPS { 260 struct XFA_TABSTOPS {
265 FX_DWORD dwAlign; 261 FX_DWORD dwAlign;
266 FX_FLOAT fTabstops; 262 FX_FLOAT fTabstops;
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
376 CXFA_PieceLine* pPieceLine, 372 CXFA_PieceLine* pPieceLine,
377 int32_t iPiece, 373 int32_t iPiece,
378 FXTEXT_CHARPOS* pCharPos, 374 FXTEXT_CHARPOS* pCharPos,
379 const CFX_Matrix& tmDoc2Device); 375 const CFX_Matrix& tmDoc2Device);
380 void RenderPath(IFDE_RenderDevice* pDevice, 376 void RenderPath(IFDE_RenderDevice* pDevice,
381 IFDE_Pen* pPen, 377 IFDE_Pen* pPen,
382 CXFA_PieceLine* pPieceLine, 378 CXFA_PieceLine* pPieceLine,
383 int32_t iPiece, 379 int32_t iPiece,
384 FXTEXT_CHARPOS* pCharPos, 380 FXTEXT_CHARPOS* pCharPos,
385 const CFX_Matrix& tmDoc2Device); 381 const CFX_Matrix& tmDoc2Device);
386 int32_t GetDisplayPos(XFA_LPCTEXTPIECE pPiece, 382 int32_t GetDisplayPos(const XFA_TEXTPIECE* pPiece,
387 FXTEXT_CHARPOS* pCharPos, 383 FXTEXT_CHARPOS* pCharPos,
388 FX_BOOL bCharCode = FALSE); 384 FX_BOOL bCharCode = FALSE);
389 FX_BOOL ToRun(XFA_LPCTEXTPIECE pPiece, FX_RTFTEXTOBJ& tr); 385 FX_BOOL ToRun(const XFA_TEXTPIECE* pPiece, FX_RTFTEXTOBJ& tr);
390 void DoTabstops(IFDE_CSSComputedStyle* pStyle, CXFA_PieceLine* pPieceLine); 386 void DoTabstops(IFDE_CSSComputedStyle* pStyle, CXFA_PieceLine* pPieceLine);
391 FX_BOOL Layout(int32_t iBlock); 387 FX_BOOL Layout(int32_t iBlock);
392 int32_t CountBlocks() const; 388 int32_t CountBlocks() const;
393 389
394 IXFA_TextProvider* m_pTextProvider; 390 IXFA_TextProvider* m_pTextProvider;
395 CXFA_Node* m_pTextDataNode; 391 CXFA_Node* m_pTextDataNode;
396 FX_BOOL m_bRichText; 392 FX_BOOL m_bRichText;
397 IFX_MEMAllocator* m_pAllocator; 393 IFX_MEMAllocator* m_pAllocator;
398 IFX_RTFBreak* m_pBreak; 394 IFX_RTFBreak* m_pBreak;
399 CXFA_LoaderContext* m_pLoader; 395 CXFA_LoaderContext* m_pLoader;
400 int32_t m_iLines; 396 int32_t m_iLines;
401 FX_FLOAT m_fMaxWidth; 397 FX_FLOAT m_fMaxWidth;
402 CXFA_TextParser m_textParser; 398 CXFA_TextParser m_textParser;
403 CXFA_PieceLineArray m_pieceLines; 399 CXFA_PieceLineArray m_pieceLines;
404 CXFA_TextTabstopsContext* m_pTabstopContext; 400 CXFA_TextTabstopsContext* m_pTabstopContext;
405 FX_BOOL m_bBlockContinue; 401 FX_BOOL m_bBlockContinue;
406 }; 402 };
407 403
408 #endif // XFA_SRC_FXFA_SRC_APP_XFA_TEXTLAYOUT_H_ 404 #endif // XFA_SRC_FXFA_SRC_APP_XFA_TEXTLAYOUT_H_
OLDNEW
« no previous file with comments | « xfa/src/fxfa/src/app/xfa_fftext.cpp ('k') | xfa/src/fxfa/src/app/xfa_textlayout.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698