// 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 _FXFA_FORMFILLER_WIDGETACC_IMP_H #define _FXFA_FORMFILLER_WIDGETACC_IMP_H #include "xfa_textlayout.h" enum XFA_TEXTPROVIDERTYPE { XFA_TEXTPROVIDERTYPE_Text, XFA_TEXTPROVIDERTYPE_Datasets, XFA_TEXTPROVIDERTYPE_Caption, XFA_TEXTPROVIDERTYPE_Rollover, XFA_TEXTPROVIDERTYPE_Down, }; class CXFA_TextProvider : public IXFA_TextProvider { public: CXFA_TextProvider(CXFA_WidgetAcc* pWidgetAcc, XFA_TEXTPROVIDERTYPE eType, CXFA_Node* pTextNode = NULL) : m_pWidgetAcc(pWidgetAcc), m_eType(eType), m_pTextNode(pTextNode) { FXSYS_assert(m_pWidgetAcc != NULL); } virtual ~CXFA_TextProvider() {} virtual CXFA_Node* GetTextNode(FX_BOOL& bRichText); virtual CXFA_Para GetParaNode(); virtual CXFA_Font GetFontNode(); virtual FX_BOOL IsCheckButtonAndAutoWidth(); virtual CXFA_FFDoc* GetDocNode() { return m_pWidgetAcc->GetDoc(); } virtual FX_BOOL GetEmbbedObj(FX_BOOL bURI, FX_BOOL bRaw, const CFX_WideString& wsAttr, CFX_WideString& wsValue); protected: CXFA_WidgetAcc* m_pWidgetAcc; XFA_TEXTPROVIDERTYPE m_eType; CXFA_Node* m_pTextNode; }; #endif