7#ifndef FPDFSDK_CPDFSDK_INTERACTIVEFORM_H_
8#define FPDFSDK_CPDFSDK_INTERACTIVEFORM_H_
17#include "core/fpdfdoc/cpdf_action.h"
18#include "core/fpdfdoc/cpdf_interactiveform.h"
19#include "core/fxcrt/unowned_ptr.h"
20#include "core/fxge/dib/fx_dib.h"
21#include "fpdfsdk/cpdfsdk_widget.h"
27class CPDFSDK_FormFillEnvironment;
29class CPDFSDK_InteractiveForm
final
36 return m_pInteractiveForm.get();
41 std::vector<ObservedPtr<CPDFSDK_Widget>>* widgets)
const;
43 std::vector<ObservedPtr<CPDFSDK_Widget>>* widgets)
const;
52 void XfaEnableCalculate(
bool bEnabled);
53 bool IsXfaCalculateEnabled()
const;
54 bool IsXfaValidationsEnabled();
55 void XfaSetValidationsEnabled(
bool bEnabled);
56 void SynchronizeField(CPDF_FormField* pFormField);
73 const std::vector<RetainPtr<
const CPDF_Object>>& objects)
const;
75 const std::vector<CPDF_FormField*>& fields,
76 bool bIncludeOrExclude,
81 const std::vector<CPDF_FormField*>& fields,
82 bool bIncludeOrExclude);
106 UnownedPtr<CPDFSDK_FormFillEnvironment>
const m_pFormFillEnv;
107 std::unique_ptr<CPDF_InteractiveForm>
const m_pInteractiveForm;
108 std::map<UnownedPtr<
const CPDF_FormControl>,
109 UnownedPtr<CPDFSDK_Widget>,
113 bool m_bXfaCalculate =
true;
114 bool m_bXfaValidationsEnabled =
true;
116 bool m_bCalculate =
true;
117 bool m_bBusy =
false;
118 uint8_t m_HighlightAlpha = 0;
fxcrt::ByteString ByteString
CFX_FloatRect GetCenterSquare() const
constexpr CFX_FloatRect(float l, float b, float r, float t)
void ScaleFromCenterPoint(float fScale)
CFX_FloatRect & operator=(const CFX_FloatRect &that)=default
CFX_FloatRect GetDeflated(float x, float y) const
constexpr CFX_Matrix(float a1, float b1, float c1, float d1, float e1, float f1)
void SetAsComboBox(std::optional< WideString > sValue)
void SetAsTextField(std::optional< WideString > sValue)
CPDFSDK_AppStream(CPDFSDK_Widget *widget, CPDF_Dictionary *dict)
RetainPtr< CPDF_Font > GetPDFFont(int32_t nFontIndex) override
std::map< ByteString, RetainPtr< CPDF_Object >, std::less<> > DictMap
bool IsModifiedAPStream(const CPDF_Stream *stream) const
RetainPtr< CPDF_Stream > CreateModifiedAPStream(RetainPtr< CPDF_Dictionary > dict)
bool GetFittingBounds() const
RetainPtr< const CPDF_Dictionary > GetDict() const
void SetAt(int32_t nWordIndex)
bool GetWord(CPVT_Word &word) const
bool GetLine(CPVT_Line &line) const
const CPVT_WordPlace & GetAt() const
ByteString GetPDFWordString(int32_t nFontIndex, uint16_t Word, uint16_t SubWord)
IPVT_FontMap * GetFontMap()
static float GetCharArrayAutoFontSize(const CPDF_Font *pFont, const CFX_FloatRect &rcPlate, int32_t nCharArray)
CreateParams(CFX_Timer::HandlerIface *timer_handler, IPWL_FillerNotify *filler_notify, ProviderIface *provider)
virtual ByteString GetPDFFontAlias(int32_t nFontIndex)=0
ByteString & operator+=(const ByteString &str)
ByteString & operator=(const ByteString &that)
ByteString & operator=(ByteString &&that) noexcept
WideString & operator=(WideString &&that) noexcept
WideString & operator=(const WideString &that)
CFX_VTemplate< float > CFX_VectorF
CFX_PTemplate< float > CFX_PointF
CFX_STemplate< float > CFX_SizeF
#define FXSYS_IsFloatBigger(fa, fb)
#define FXSYS_IsFloatZero(f)
ByteString operator+(const ByteString &str1, const ByteString &str2)
fxcrt::ByteStringView ByteStringView
CFX_Color operator/(float fColorDivide) const
CFX_Color operator-(float fColorSub) const
CFX_Color & operator=(const CFX_Color &that)=default
constexpr CFX_Color(Type type=CFX_Color::Type::kTransparent, float color1=0.0f, float color2=0.0f, float color3=0.0f, float color4=0.0f)
int32_t LineCmp(const CPVT_WordPlace &wp) const
CPWL_Dash(int32_t dash, int32_t gap, int32_t phase)
fxcrt::WideString WideString