// 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_APP_XFA_FFWIDGETACC_H_ #define XFA_FXFA_APP_XFA_FFWIDGETACC_H_ #include "xfa/fxfa/app/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: CXFA_TextProvider(CXFA_WidgetAcc* pWidgetAcc, XFA_TEXTPROVIDERTYPE eType, CXFA_Node* pTextNode = NULL) : m_pWidgetAcc(pWidgetAcc), m_eType(eType), m_pTextNode(pTextNode) { ASSERT(m_pWidgetAcc); } ~CXFA_TextProvider() {} CXFA_Node* GetTextNode(FX_BOOL& bRichText); CXFA_Para GetParaNode(); CXFA_Font GetFontNode(); FX_BOOL IsCheckButtonAndAutoWidth(); CXFA_FFDoc* GetDocNode() { return m_pWidgetAcc->GetDoc(); } 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 // XFA_FXFA_APP_XFA_FFWIDGETACC_H_