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_FXFA_APP_XFA_TEXTLAYOUT_H_ | 7 #ifndef XFA_FXFA_APP_XFA_TEXTLAYOUT_H_ |
8 #define XFA_FXFA_APP_XFA_TEXTLAYOUT_H_ | 8 #define XFA_FXFA_APP_XFA_TEXTLAYOUT_H_ |
9 | 9 |
10 #include "xfa/fde/css/fde_css.h" | 10 #include "xfa/fde/css/fde_css.h" |
11 #include "xfa/fde/fde_brush.h" | 11 #include "xfa/fde/fde_brush.h" |
12 #include "xfa/fde/fde_renderdevice.h" | 12 #include "xfa/fde/fde_renderdevice.h" |
13 #include "xfa/fgas/layout/fgas_rtfbreak.h" | 13 #include "xfa/fgas/layout/fgas_rtfbreak.h" |
14 #include "xfa/fxfa/parser/xfa_object.h" | 14 #include "xfa/fxfa/parser/xfa_object.h" |
15 #include "xfa/include/fxfa/xfa_ffdoc.h" | 15 #include "xfa/include/fxfa/xfa_ffdoc.h" |
16 | 16 |
17 #define XFA_LOADERCNTXTFLG_FILTERSPACE 0x001 | 17 #define XFA_LOADERCNTXTFLG_FILTERSPACE 0x001 |
18 | 18 |
19 class CXFA_Para; | 19 class CXFA_Para; |
20 class CXFA_Font; | 20 class CXFA_Font; |
21 class CXFA_TextProvider; | 21 class CXFA_TextProvider; |
22 class CXFA_TextTabstopsContext; | 22 class CXFA_TextTabstopsContext; |
23 | 23 |
24 class CXFA_CSSTagProvider : public IFDE_CSSTagProvider { | 24 class CXFA_CSSTagProvider : public IFDE_CSSTagProvider { |
25 public: | 25 public: |
26 CXFA_CSSTagProvider() : m_bTagAviliable(FALSE), m_bContent(FALSE) {} | 26 CXFA_CSSTagProvider() : m_bTagAviliable(FALSE), m_bContent(FALSE) {} |
27 virtual ~CXFA_CSSTagProvider(); | 27 virtual ~CXFA_CSSTagProvider(); |
28 virtual CFX_WideStringC GetTagName() { return m_wsTagName; } | 28 |
| 29 // Note: |this| must outlive the use of GetTagName()'s result. |
| 30 virtual CFX_WideStringC GetTagName() { return m_wsTagName.AsWideStringC(); } |
29 virtual FX_POSITION GetFirstAttribute() { | 31 virtual FX_POSITION GetFirstAttribute() { |
30 return m_Attributes.GetStartPosition(); | 32 return m_Attributes.GetStartPosition(); |
31 } | 33 } |
32 virtual void GetNextAttribute(FX_POSITION& pos, | 34 virtual void GetNextAttribute(FX_POSITION& pos, |
33 CFX_WideStringC& wsAttr, | 35 CFX_WideStringC& wsAttr, |
34 CFX_WideStringC& wsValue); | 36 CFX_WideStringC& wsValue); |
35 void SetTagNameObj(const CFX_WideString& wsName) { m_wsTagName = wsName; } | 37 void SetTagNameObj(const CFX_WideString& wsName) { m_wsTagName = wsName; } |
36 void SetAttribute(const CFX_WideString& wsAttr, | 38 void SetAttribute(const CFX_WideString& wsAttr, |
37 const CFX_WideString& wsValue); | 39 const CFX_WideString& wsValue); |
38 FX_BOOL m_bTagAviliable; | 40 FX_BOOL m_bTagAviliable; |
(...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
403 CXFA_LoaderContext* m_pLoader; | 405 CXFA_LoaderContext* m_pLoader; |
404 int32_t m_iLines; | 406 int32_t m_iLines; |
405 FX_FLOAT m_fMaxWidth; | 407 FX_FLOAT m_fMaxWidth; |
406 CXFA_TextParser m_textParser; | 408 CXFA_TextParser m_textParser; |
407 CXFA_PieceLineArray m_pieceLines; | 409 CXFA_PieceLineArray m_pieceLines; |
408 CXFA_TextTabstopsContext* m_pTabstopContext; | 410 CXFA_TextTabstopsContext* m_pTabstopContext; |
409 FX_BOOL m_bBlockContinue; | 411 FX_BOOL m_bBlockContinue; |
410 }; | 412 }; |
411 | 413 |
412 #endif // XFA_FXFA_APP_XFA_TEXTLAYOUT_H_ | 414 #endif // XFA_FXFA_APP_XFA_TEXTLAYOUT_H_ |
OLD | NEW |