7#ifndef CORE_FPDFDOC_CPDF_INTERACTIVEFORM_H_
8#define CORE_FPDFDOC_CPDF_INTERACTIVEFORM_H_
18#include "core/fpdfapi/parser/cpdf_dictionary.h"
19#include "core/fpdfapi/parser/fpdf_parser_decode.h"
20#include "core/fpdfdoc/cpdf_defaultappearance.h"
21#include "core/fpdfdoc/cpdf_formfield.h"
22#include "core/fxcrt/fx_coordinates.h"
23#include "core/fxcrt/fx_string.h"
24#include "core/fxcrt/retain_ptr.h"
25#include "core/fxcrt/unowned_ptr.h"
26#include "third_party/base/containers/span.h"
42 const WideString& csValue) = 0;
45 const WideString& csValue) = 0;
58 ByteString* csNameTag);
65 const CFX_PointF& point,
76 RetainPtr<CPDF_Dictionary> pElement)
const;
80 bool bIncludeOrExclude)
const;
84 const WideString& pdf_path,
85 const std::vector<CPDF_FormField*>& fields,
86 bool bIncludeOrExclude)
const;
96 const WideString& csValue);
99 const WideString& csValue);
107 void LoadField(
RetainPtr<CPDF_Dictionary> pFieldDict,
int nLevel);
108 void AddTerminalField(
RetainPtr<CPDF_Dictionary> pFieldDict);
112 static bool s_bUpdateAP;
114 ByteString m_bsEncoding;
117 std::unique_ptr<CFieldTree> m_pFieldTree;
constexpr CFX_FloatRect(float l, float b, float r, float t)
void Translate(float e, float f)
CPDF_Annot * GetAt(size_t index) const
bool Contains(const CPDF_Annot *pAnnot) const
void DisplayAnnots(CPDF_Page *pPage, CFX_RenderDevice *pDevice, CPDF_RenderContext *pContext, bool bPrinting, const CFX_Matrix &mtUser2Device, bool bShowWidget)
~CPDF_AnnotList() override
CPDF_AnnotList(CPDF_Page *pPage)
Subtype GetSubtype() const
const CPDF_Dictionary * GetAnnotDict() const
void SetPopupAnnot(CPDF_Annot *pAnnot)
bool KeyExist(const ByteString &key) const
ByteString GetByteStringFor(const ByteString &key) const
CFX_FloatRect GetRectFor(const ByteString &key) const
static void GenerateFormAP(CPDF_Document *pDoc, CPDF_Dictionary *pAnnotDict, FormType type)
float GetPageWidth() const override
bool operator==(const char *ptr) const
bool operator!=(const char *ptr) const