summaryrefslogtreecommitdiff
path: root/xfa/fxfa/cxfa_textprovider.h
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/fxfa/cxfa_textprovider.h')
-rw-r--r--xfa/fxfa/cxfa_textprovider.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/xfa/fxfa/cxfa_textprovider.h b/xfa/fxfa/cxfa_textprovider.h
new file mode 100644
index 0000000000..0772490d90
--- /dev/null
+++ b/xfa/fxfa/cxfa_textprovider.h
@@ -0,0 +1,50 @@
+// Copyright 2014 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#ifndef XFA_FXFA_CXFA_TEXTPROVIDER_H_
+#define XFA_FXFA_CXFA_TEXTPROVIDER_H_
+
+#include "core/fxcrt/fx_string.h"
+#include "xfa/fxfa/cxfa_textlayout.h"
+#include "xfa/fxfa/cxfa_widgetacc.h"
+#include "xfa/fxfa/parser/cxfa_font.h"
+#include "xfa/fxfa/parser/cxfa_para.h"
+
+class CXFA_FFDoc;
+class CXFA_Node;
+
+enum XFA_TEXTPROVIDERTYPE {
+ XFA_TEXTPROVIDERTYPE_Text,
+ XFA_TEXTPROVIDERTYPE_Datasets,
+ XFA_TEXTPROVIDERTYPE_Caption,
+ XFA_TEXTPROVIDERTYPE_Rollover,
+ XFA_TEXTPROVIDERTYPE_Down,
+};
+
+class CXFA_TextProvider {
+ public:
+ CXFA_TextProvider(CXFA_WidgetAcc* pWidgetAcc, XFA_TEXTPROVIDERTYPE eType)
+ : m_pWidgetAcc(pWidgetAcc), m_eType(eType) {
+ ASSERT(m_pWidgetAcc);
+ }
+ ~CXFA_TextProvider() {}
+
+ CXFA_Node* GetTextNode(bool& bRichText);
+ CXFA_Para GetParaNode();
+ CXFA_Font GetFontNode();
+ bool IsCheckButtonAndAutoWidth();
+ CXFA_FFDoc* GetDocNode() { return m_pWidgetAcc->GetDoc(); }
+ bool GetEmbbedObj(bool bURI,
+ bool bRaw,
+ const CFX_WideString& wsAttr,
+ CFX_WideString& wsValue);
+
+ private:
+ CXFA_WidgetAcc* m_pWidgetAcc;
+ XFA_TEXTPROVIDERTYPE m_eType;
+};
+
+#endif // XFA_FXFA_CXFA_TEXTPROVIDER_H_