7#ifndef FPDFSDK_CPDFSDK_WIDGET_H_
8#define FPDFSDK_CPDFSDK_WIDGET_H_
12#include "core/fpdfdoc/cpdf_aaction.h"
13#include "core/fpdfdoc/cpdf_action.h"
14#include "core/fpdfdoc/cpdf_annot.h"
15#include "core/fpdfdoc/cpdf_formfield.h"
16#include "core/fxcrt/fx_coordinates.h"
17#include "core/fxcrt/unowned_ptr.h"
18#include "core/fxcrt/widestring.h"
19#include "core/fxge/cfx_color.h"
20#include "fpdfsdk/cpdfsdk_baannot.h"
22class CFFL_InteractiveFormFiller;
27class CPDFSDK_FormFillEnvironment;
28class CPDFSDK_InteractiveForm;
29class CPDFSDK_PageView;
34class CXFA_FFWidgetHandler;
36enum PDFSDK_XFAAActionType {
49 CPDFSDK_PageView* pPageView,
50 CPDFSDK_InteractiveForm* pInteractiveForm);
60 bool bDrawAnnots)
override;
109 CXFA_FFWidget* GetMixXFAWidget()
const;
110 bool HasXFAAAction(PDFSDK_XFAAActionType eXFAAAT)
const;
111 bool OnXFAAAction(PDFSDK_XFAAActionType eXFAAAT,
112 CFFL_FieldAction* data,
113 const CPDFSDK_PageView* pPageView);
114 void Synchronize(
bool bSynchronizeElse);
116 void ResetXFAAppearance(ValueChanged bValueChanged);
127 const CPDFSDK_PageView* pPageView);
169 bool OnChar(uint32_t nChar,
Mask<FWL_EVENTFLAG> nFlags)
override;
170 bool OnKeyDown(FWL_VKEYCODE nKeyCode,
Mask<FWL_EVENTFLAG> nFlags)
override;
174 CFFL_InteractiveFormFiller* GetInteractiveFormFiller();
177 CXFA_FFWidgetHandler* GetXFAWidgetHandler()
const;
178 CXFA_FFWidget* GetGroupMixXFAWidget()
const;
179 WideString GetName()
const;
180 bool HandleXFAAAction(CPDF_AAction::AActionType type,
181 CFFL_FieldAction* data,
182 CPDFSDK_FormFillEnvironment* pFormFillEnv);
185 UnownedPtr<CPDFSDK_InteractiveForm>
const m_pInteractiveForm;
186 bool m_bAppModified =
false;
187 uint32_t m_nAppearanceAge = 0;
188 uint32_t m_nValueAge = 0;
193 ?
static_cast<CPDFSDK_Widget*>(pAnnot)
fxcrt::ByteString ByteString
CPDFSDK_Annot * GetFirstAnnot()
CPDFSDK_Annot * GetLastAnnot()
CPDFSDK_AnnotIterator(CPDFSDK_PageView *pPageView, const std::vector< CPDF_Annot::Subtype > &subtypes_to_iterate)
CPDFSDK_Annot * GetNextAnnot(CPDFSDK_Annot *pAnnot)
CPDFSDK_Annot * GetPrevAnnot(CPDFSDK_Annot *pAnnot)
virtual CPDF_Annot::Subtype GetAnnotSubtype() const =0
virtual CPDF_Annot * GetPDFAnnot() const
CPDF_Page * GetPDFPage() const
CFX_FloatRect GetRect() const
bool operator==(const char *ptr) const
CFX_VTemplate< int32_t > CFX_Vector
CFX_PTemplate< float > CFX_PointF
fxcrt::WideString WideString