• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 
7 #ifndef _FXFA_FORMFILLER_WIDGETACC_IMP_H
8 #define _FXFA_FORMFILLER_WIDGETACC_IMP_H
9 #include "xfa_textlayout.h"
10 enum XFA_TEXTPROVIDERTYPE {
11   XFA_TEXTPROVIDERTYPE_Text,
12   XFA_TEXTPROVIDERTYPE_Datasets,
13   XFA_TEXTPROVIDERTYPE_Caption,
14   XFA_TEXTPROVIDERTYPE_Rollover,
15   XFA_TEXTPROVIDERTYPE_Down,
16 };
17 class CXFA_TextProvider : public IXFA_TextProvider {
18  public:
19   CXFA_TextProvider(CXFA_WidgetAcc* pWidgetAcc,
20                     XFA_TEXTPROVIDERTYPE eType,
21                     CXFA_Node* pTextNode = NULL)
m_pWidgetAcc(pWidgetAcc)22       : m_pWidgetAcc(pWidgetAcc), m_eType(eType), m_pTextNode(pTextNode) {
23     FXSYS_assert(m_pWidgetAcc != NULL);
24   }
~CXFA_TextProvider()25   virtual ~CXFA_TextProvider() {}
26   virtual CXFA_Node* GetTextNode(FX_BOOL& bRichText);
27   virtual CXFA_Para GetParaNode();
28   virtual CXFA_Font GetFontNode();
29   virtual FX_BOOL IsCheckButtonAndAutoWidth();
GetDocNode()30   virtual CXFA_FFDoc* GetDocNode() { return m_pWidgetAcc->GetDoc(); }
31   virtual FX_BOOL GetEmbbedObj(FX_BOOL bURI,
32                                FX_BOOL bRaw,
33                                const CFX_WideString& wsAttr,
34                                CFX_WideString& wsValue);
35 
36  protected:
37   CXFA_WidgetAcc* m_pWidgetAcc;
38   XFA_TEXTPROVIDERTYPE m_eType;
39   CXFA_Node* m_pTextNode;
40 };
41 #endif
42