| Index: core/fpdfdoc/include/fpdf_doc.h
|
| diff --git a/core/fpdfdoc/include/fpdf_doc.h b/core/fpdfdoc/include/fpdf_doc.h
|
| deleted file mode 100644
|
| index edcec239f65d12cbdb5e5a5a0d55b0bafb3c2f57..0000000000000000000000000000000000000000
|
| --- a/core/fpdfdoc/include/fpdf_doc.h
|
| +++ /dev/null
|
| @@ -1,851 +0,0 @@
|
| -// 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 CORE_FPDFDOC_INCLUDE_FPDF_DOC_H_
|
| -#define CORE_FPDFDOC_INCLUDE_FPDF_DOC_H_
|
| -
|
| -#include <map>
|
| -#include <memory>
|
| -#include <unordered_map>
|
| -#include <vector>
|
| -
|
| -#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
|
| -#include "core/fpdfapi/fpdf_parser/include/fpdf_parser_decode.h"
|
| -#include "core/fpdfdoc/cpdf_annot.h"
|
| -#include "core/fpdfdoc/cpdf_annotlist.h"
|
| -#include "core/fxge/include/fx_dib.h"
|
| -
|
| -class CFDF_Document;
|
| -class CFieldTree;
|
| -class CFX_RenderDevice;
|
| -class CPDF_AAction;
|
| -class CPDF_Action;
|
| -class CPDF_ActionFields;
|
| -class CPDF_ApSettings;
|
| -class CPDF_Bookmark;
|
| -class CPDF_BookmarkTree;
|
| -class CPDF_DefaultAppearance;
|
| -class CPDF_Dest;
|
| -class CPDF_DocJSActions;
|
| -class CPDF_Document;
|
| -class CPDF_FileSpec;
|
| -class CPDF_Font;
|
| -class CPDF_Form;
|
| -class CPDF_FormControl;
|
| -class CPDF_FormField;
|
| -class CPDF_IconFit;
|
| -class CPDF_Link;
|
| -class CPDF_Metadata;
|
| -class CPDF_OCContext;
|
| -class CPDF_Page;
|
| -class CPDF_PageObject;
|
| -class CPDF_RenderContext;
|
| -class CPDF_RenderOptions;
|
| -class CXML_Element;
|
| -class IPDF_FormNotify;
|
| -
|
| -enum class BorderStyle { SOLID, DASH, BEVELED, INSET, UNDERLINE };
|
| -
|
| -class CPDF_NameTree {
|
| - public:
|
| - explicit CPDF_NameTree(CPDF_Dictionary* pRoot) : m_pRoot(pRoot) {}
|
| - CPDF_NameTree(CPDF_Document* pDoc, const CFX_ByteString& category);
|
| -
|
| - CPDF_Object* LookupValue(int nIndex, CFX_ByteString& csName) const;
|
| - CPDF_Object* LookupValue(const CFX_ByteString& csName) const;
|
| - CPDF_Array* LookupNamedDest(CPDF_Document* pDoc, const CFX_ByteString& sName);
|
| - int GetIndex(const CFX_ByteString& csName) const;
|
| - size_t GetCount() const;
|
| - CPDF_Dictionary* GetRoot() const { return m_pRoot; }
|
| -
|
| - protected:
|
| - CPDF_Dictionary* m_pRoot;
|
| -};
|
| -
|
| -class CPDF_BookmarkTree {
|
| - public:
|
| - explicit CPDF_BookmarkTree(CPDF_Document* pDoc) : m_pDocument(pDoc) {}
|
| -
|
| - CPDF_Bookmark GetFirstChild(const CPDF_Bookmark& parent) const;
|
| - CPDF_Bookmark GetNextSibling(const CPDF_Bookmark& bookmark) const;
|
| - CPDF_Document* GetDocument() const { return m_pDocument; }
|
| -
|
| - protected:
|
| - CPDF_Document* const m_pDocument;
|
| -};
|
| -
|
| -#define PDFBOOKMARK_ITALIC 1
|
| -#define PDFBOOKMARK_BOLD 2
|
| -class CPDF_Bookmark {
|
| - public:
|
| - CPDF_Bookmark() : m_pDict(nullptr) {}
|
| - explicit CPDF_Bookmark(CPDF_Dictionary* pDict) : m_pDict(pDict) {}
|
| -
|
| - CPDF_Dictionary* GetDict() const { return m_pDict; }
|
| - uint32_t GetColorRef() const;
|
| - uint32_t GetFontStyle() const;
|
| - CFX_WideString GetTitle() const;
|
| - CPDF_Dest GetDest(CPDF_Document* pDocument) const;
|
| - CPDF_Action GetAction() const;
|
| -
|
| - protected:
|
| - CPDF_Dictionary* m_pDict;
|
| -};
|
| -
|
| -#define PDFZOOM_XYZ 1
|
| -#define PDFZOOM_FITPAGE 2
|
| -#define PDFZOOM_FITHORZ 3
|
| -#define PDFZOOM_FITVERT 4
|
| -#define PDFZOOM_FITRECT 5
|
| -#define PDFZOOM_FITBBOX 6
|
| -#define PDFZOOM_FITBHORZ 7
|
| -#define PDFZOOM_FITBVERT 8
|
| -class CPDF_Dest {
|
| - public:
|
| - CPDF_Dest() : m_pObj(nullptr) {}
|
| - explicit CPDF_Dest(CPDF_Object* pObj) : m_pObj(pObj) {}
|
| -
|
| - CPDF_Object* GetObject() const { return m_pObj; }
|
| - CFX_ByteString GetRemoteName();
|
| - int GetPageIndex(CPDF_Document* pDoc);
|
| - uint32_t GetPageObjNum();
|
| - int GetZoomMode();
|
| - FX_FLOAT GetParam(int index);
|
| -
|
| - protected:
|
| - CPDF_Object* m_pObj;
|
| -};
|
| -
|
| -class CPDF_OCContext {
|
| - public:
|
| - enum UsageType { View = 0, Design, Print, Export };
|
| -
|
| - CPDF_OCContext(CPDF_Document* pDoc, UsageType eUsageType);
|
| - ~CPDF_OCContext();
|
| -
|
| - bool CheckOCGVisible(const CPDF_Dictionary* pOCGDict);
|
| - bool CheckObjectVisible(const CPDF_PageObject* pObj);
|
| -
|
| - protected:
|
| - bool LoadOCGStateFromConfig(const CFX_ByteString& csConfig,
|
| - const CPDF_Dictionary* pOCGDict) const;
|
| - bool LoadOCGState(const CPDF_Dictionary* pOCGDict) const;
|
| - bool GetOCGVisible(const CPDF_Dictionary* pOCGDict);
|
| - bool GetOCGVE(CPDF_Array* pExpression, int nLevel);
|
| - bool LoadOCMDState(const CPDF_Dictionary* pOCMDDict);
|
| -
|
| - CPDF_Document* const m_pDocument;
|
| - const UsageType m_eUsageType;
|
| - std::unordered_map<const CPDF_Dictionary*, bool> m_OCGStates;
|
| -};
|
| -
|
| -class CPDF_ActionFields {
|
| - public:
|
| - explicit CPDF_ActionFields(const CPDF_Action* pAction) : m_pAction(pAction) {}
|
| -
|
| - size_t GetFieldsCount() const;
|
| - std::vector<CPDF_Object*> GetAllFields() const;
|
| - CPDF_Object* GetField(size_t iIndex) const;
|
| -
|
| - protected:
|
| - const CPDF_Action* const m_pAction;
|
| -};
|
| -
|
| -#define PDFNAMED_NEXTPAGE 1
|
| -#define PDFNAMED_PREVPAGE 2
|
| -#define PDFNAMED_FIRSTPAGE 3
|
| -#define PDFNAMED_LASTPAGE 4
|
| -#define PDFJS_MAXLENGTH 64
|
| -class CPDF_Action {
|
| - public:
|
| - enum ActionType {
|
| - Unknown = 0,
|
| - GoTo,
|
| - GoToR,
|
| - GoToE,
|
| - Launch,
|
| - Thread,
|
| - URI,
|
| - Sound,
|
| - Movie,
|
| - Hide,
|
| - Named,
|
| - SubmitForm,
|
| - ResetForm,
|
| - ImportData,
|
| - JavaScript,
|
| - SetOCGState,
|
| - Rendition,
|
| - Trans,
|
| - GoTo3DView
|
| - };
|
| -
|
| - CPDF_Action() : m_pDict(nullptr) {}
|
| - explicit CPDF_Action(CPDF_Dictionary* pDict) : m_pDict(pDict) {}
|
| -
|
| - CPDF_Dictionary* GetDict() const { return m_pDict; }
|
| - ActionType GetType() const;
|
| - CPDF_Dest GetDest(CPDF_Document* pDoc) const;
|
| - CFX_WideString GetFilePath() const;
|
| - CFX_ByteString GetURI(CPDF_Document* pDoc) const;
|
| - bool GetHideStatus() const { return m_pDict->GetBooleanBy("H", true); }
|
| - CFX_ByteString GetNamedAction() const { return m_pDict->GetStringBy("N"); }
|
| - uint32_t GetFlags() const { return m_pDict->GetIntegerBy("Flags"); }
|
| - CFX_WideString GetJavaScript() const;
|
| - size_t GetSubActionsCount() const;
|
| - CPDF_Action GetSubAction(size_t iIndex) const;
|
| -
|
| - protected:
|
| - CPDF_Dictionary* const m_pDict;
|
| -};
|
| -
|
| -class CPDF_AAction {
|
| - public:
|
| - enum AActionType {
|
| - CursorEnter = 0,
|
| - CursorExit,
|
| - ButtonDown,
|
| - ButtonUp,
|
| - GetFocus,
|
| - LoseFocus,
|
| - PageOpen,
|
| - PageClose,
|
| - PageVisible,
|
| - PageInvisible,
|
| - OpenPage,
|
| - ClosePage,
|
| - KeyStroke,
|
| - Format,
|
| - Validate,
|
| - Calculate,
|
| - CloseDocument,
|
| - SaveDocument,
|
| - DocumentSaved,
|
| - PrintDocument,
|
| - DocumentPrinted
|
| - };
|
| -
|
| - CPDF_AAction() : m_pDict(nullptr) {}
|
| - explicit CPDF_AAction(CPDF_Dictionary* pDict) : m_pDict(pDict) {}
|
| -
|
| - FX_BOOL ActionExist(AActionType eType) const;
|
| - CPDF_Action GetAction(AActionType eType) const;
|
| - CPDF_Dictionary* GetDict() const { return m_pDict; }
|
| -
|
| - protected:
|
| - CPDF_Dictionary* const m_pDict;
|
| -};
|
| -
|
| -class CPDF_DocJSActions {
|
| - public:
|
| - explicit CPDF_DocJSActions(CPDF_Document* pDoc);
|
| -
|
| - int CountJSActions() const;
|
| - CPDF_Action GetJSAction(int index, CFX_ByteString& csName) const;
|
| - CPDF_Action GetJSAction(const CFX_ByteString& csName) const;
|
| - int FindJSAction(const CFX_ByteString& csName) const;
|
| - CPDF_Document* GetDocument() const { return m_pDocument; }
|
| -
|
| - protected:
|
| - CPDF_Document* const m_pDocument;
|
| -};
|
| -
|
| -class CPDF_FileSpec {
|
| - public:
|
| - CPDF_FileSpec();
|
| - explicit CPDF_FileSpec(CPDF_Object* pObj) : m_pObj(pObj) {}
|
| -
|
| - // Convert a platform dependent file name into pdf format.
|
| - static CFX_WideString EncodeFileName(const CFX_WideStringC& filepath);
|
| -
|
| - // Convert a pdf file name into platform dependent format.
|
| - static CFX_WideString DecodeFileName(const CFX_WideStringC& filepath);
|
| -
|
| - CPDF_Object* GetObj() const { return m_pObj; }
|
| - bool GetFileName(CFX_WideString* wsFileName) const;
|
| -
|
| - // Set this file spec to refer to a file name (not a url).
|
| - void SetFileName(const CFX_WideStringC& wsFileName);
|
| -
|
| - protected:
|
| - CPDF_Object* m_pObj;
|
| -};
|
| -
|
| -class CPDF_LinkList {
|
| - public:
|
| - CPDF_LinkList();
|
| - ~CPDF_LinkList();
|
| -
|
| - CPDF_Link GetLinkAtPoint(CPDF_Page* pPage,
|
| - FX_FLOAT pdf_x,
|
| - FX_FLOAT pdf_y,
|
| - int* z_order);
|
| -
|
| - private:
|
| - const std::vector<CPDF_Dictionary*>* GetPageLinks(CPDF_Page* pPage);
|
| - void LoadPageLinks(CPDF_Page* pPage, std::vector<CPDF_Dictionary*>* pList);
|
| -
|
| - std::map<uint32_t, std::vector<CPDF_Dictionary*>> m_PageMap;
|
| -};
|
| -
|
| -class CPDF_Link {
|
| - public:
|
| - CPDF_Link() : m_pDict(nullptr) {}
|
| - explicit CPDF_Link(CPDF_Dictionary* pDict) : m_pDict(pDict) {}
|
| -
|
| - CPDF_Dictionary* GetDict() const { return m_pDict; }
|
| -
|
| - CFX_FloatRect GetRect();
|
| - CPDF_Dest GetDest(CPDF_Document* pDoc);
|
| - CPDF_Action GetAction();
|
| -
|
| - protected:
|
| - CPDF_Dictionary* m_pDict;
|
| -};
|
| -
|
| -#define COLORTYPE_TRANSPARENT 0
|
| -#define COLORTYPE_GRAY 1
|
| -#define COLORTYPE_RGB 2
|
| -#define COLORTYPE_CMYK 3
|
| -class CPDF_DefaultAppearance {
|
| - public:
|
| - CPDF_DefaultAppearance() {}
|
| - explicit CPDF_DefaultAppearance(const CFX_ByteString& csDA) : m_csDA(csDA) {}
|
| -
|
| - CPDF_DefaultAppearance(const CPDF_DefaultAppearance& cDA) {
|
| - m_csDA = cDA.GetStr();
|
| - }
|
| -
|
| - CFX_ByteString GetStr() const { return m_csDA; }
|
| - FX_BOOL HasFont();
|
| - CFX_ByteString GetFontString();
|
| - void GetFont(CFX_ByteString& csFontNameTag, FX_FLOAT& fFontSize);
|
| - FX_BOOL HasColor(FX_BOOL bStrokingOperation = FALSE);
|
| - CFX_ByteString GetColorString(FX_BOOL bStrokingOperation = FALSE);
|
| - void GetColor(int& iColorType,
|
| - FX_FLOAT fc[4],
|
| - FX_BOOL bStrokingOperation = FALSE);
|
| - void GetColor(FX_ARGB& color,
|
| - int& iColorType,
|
| - FX_BOOL bStrokingOperation = FALSE);
|
| - FX_BOOL HasTextMatrix();
|
| - CFX_ByteString GetTextMatrixString();
|
| - CFX_Matrix GetTextMatrix();
|
| -
|
| - protected:
|
| - CFX_ByteString m_csDA;
|
| -};
|
| -
|
| -#define FIELDTYPE_UNKNOWN 0
|
| -#define FIELDTYPE_PUSHBUTTON 1
|
| -#define FIELDTYPE_CHECKBOX 2
|
| -#define FIELDTYPE_RADIOBUTTON 3
|
| -#define FIELDTYPE_COMBOBOX 4
|
| -#define FIELDTYPE_LISTBOX 5
|
| -#define FIELDTYPE_TEXTFIELD 6
|
| -#define FIELDTYPE_SIGNATURE 7
|
| -
|
| -class CPDF_InterForm {
|
| - public:
|
| - explicit CPDF_InterForm(CPDF_Document* pDocument);
|
| - ~CPDF_InterForm();
|
| -
|
| - static void SetUpdateAP(FX_BOOL bUpdateAP);
|
| - static FX_BOOL IsUpdateAPEnabled();
|
| - static CFX_ByteString GenerateNewResourceName(const CPDF_Dictionary* pResDict,
|
| - const FX_CHAR* csType,
|
| - int iMinLen = 2,
|
| - const FX_CHAR* csPrefix = "");
|
| - static CPDF_Font* AddStandardFont(CPDF_Document* pDocument,
|
| - CFX_ByteString csFontName);
|
| - static CFX_ByteString GetNativeFont(uint8_t iCharSet,
|
| - void* pLogFont = nullptr);
|
| - static CFX_ByteString GetNativeFont(void* pLogFont = nullptr);
|
| - static uint8_t GetNativeCharSet();
|
| - static CPDF_Font* AddNativeFont(uint8_t iCharSet, CPDF_Document* pDocument);
|
| - static CPDF_Font* AddNativeFont(CPDF_Document* pDocument);
|
| -
|
| - FX_BOOL ValidateFieldName(CFX_WideString& csNewFieldName, int iType);
|
| - FX_BOOL ValidateFieldName(const CPDF_FormField* pField,
|
| - CFX_WideString& csNewFieldName);
|
| - FX_BOOL ValidateFieldName(const CPDF_FormControl* pControl,
|
| - CFX_WideString& csNewFieldName);
|
| -
|
| - uint32_t CountFields(const CFX_WideString& csFieldName = L"");
|
| - CPDF_FormField* GetField(uint32_t index,
|
| - const CFX_WideString& csFieldName = L"");
|
| - CPDF_FormField* GetFieldByDict(CPDF_Dictionary* pFieldDict) const;
|
| -
|
| - CPDF_FormControl* GetControlAtPoint(CPDF_Page* pPage,
|
| - FX_FLOAT pdf_x,
|
| - FX_FLOAT pdf_y,
|
| - int* z_order) const;
|
| - CPDF_FormControl* GetControlByDict(const CPDF_Dictionary* pWidgetDict) const;
|
| -
|
| - CPDF_Document* GetDocument() const { return m_pDocument; }
|
| - CPDF_Dictionary* GetFormDict() const { return m_pFormDict; }
|
| - FX_BOOL NeedConstructAP() const;
|
| - int CountFieldsInCalculationOrder();
|
| - CPDF_FormField* GetFieldInCalculationOrder(int index);
|
| - int FindFieldInCalculationOrder(const CPDF_FormField* pField);
|
| -
|
| - uint32_t CountFormFonts();
|
| - CPDF_Font* GetFormFont(uint32_t index, CFX_ByteString& csNameTag);
|
| - CPDF_Font* GetFormFont(CFX_ByteString csNameTag);
|
| - CPDF_Font* GetFormFont(CFX_ByteString csFontName, CFX_ByteString& csNameTag);
|
| - CPDF_Font* GetNativeFormFont(uint8_t iCharSet, CFX_ByteString& csNameTag);
|
| - CPDF_Font* GetNativeFormFont(CFX_ByteString& csNameTag);
|
| - FX_BOOL FindFormFont(const CPDF_Font* pFont, CFX_ByteString& csNameTag);
|
| - FX_BOOL FindFormFont(CFX_ByteString csFontName,
|
| - CPDF_Font*& pFont,
|
| - CFX_ByteString& csNameTag);
|
| -
|
| - FX_BOOL FindFormFont(CFX_WideString csFontName,
|
| - CPDF_Font*& pFont,
|
| - CFX_ByteString& csNameTag) {
|
| - return FindFormFont(PDF_EncodeText(csFontName), pFont, csNameTag);
|
| - }
|
| -
|
| - void AddFormFont(const CPDF_Font* pFont, CFX_ByteString& csNameTag);
|
| - CPDF_Font* AddNativeFormFont(uint8_t iCharSet, CFX_ByteString& csNameTag);
|
| - CPDF_Font* AddNativeFormFont(CFX_ByteString& csNameTag);
|
| -
|
| - void RemoveFormFont(const CPDF_Font* pFont);
|
| - void RemoveFormFont(CFX_ByteString csNameTag);
|
| -
|
| - CPDF_DefaultAppearance GetDefaultAppearance();
|
| - CPDF_Font* GetDefaultFormFont();
|
| - int GetFormAlignment();
|
| -
|
| - CPDF_FormField* CheckRequiredFields(
|
| - const std::vector<CPDF_FormField*>* fields,
|
| - bool bIncludeOrExclude) const;
|
| -
|
| - CFDF_Document* ExportToFDF(const CFX_WideStringC& pdf_path,
|
| - bool bSimpleFileSpec = false) const;
|
| - CFDF_Document* ExportToFDF(const CFX_WideStringC& pdf_path,
|
| - const std::vector<CPDF_FormField*>& fields,
|
| - bool bIncludeOrExclude = true,
|
| - bool bSimpleFileSpec = false) const;
|
| - FX_BOOL ImportFromFDF(const CFDF_Document* pFDFDoc, FX_BOOL bNotify = FALSE);
|
| -
|
| - bool ResetForm(const std::vector<CPDF_FormField*>& fields,
|
| - bool bIncludeOrExclude = true,
|
| - bool bNotify = false);
|
| - bool ResetForm(bool bNotify = false);
|
| -
|
| - void SetFormNotify(IPDF_FormNotify* pNotify);
|
| - FX_BOOL HasXFAForm() const;
|
| - void FixPageFields(const CPDF_Page* pPage);
|
| -
|
| - protected:
|
| - static FX_BOOL s_bUpdateAP;
|
| -
|
| - void LoadField(CPDF_Dictionary* pFieldDict, int nLevel = 0);
|
| - CPDF_Object* GetFieldAttr(CPDF_Dictionary* pFieldDict, const FX_CHAR* name);
|
| - CPDF_FormField* AddTerminalField(CPDF_Dictionary* pFieldDict);
|
| - CPDF_FormControl* AddControl(CPDF_FormField* pField,
|
| - CPDF_Dictionary* pWidgetDict);
|
| - void FDF_ImportField(CPDF_Dictionary* pField,
|
| - const CFX_WideString& parent_name,
|
| - FX_BOOL bNotify = FALSE,
|
| - int nLevel = 0);
|
| - FX_BOOL ValidateFieldName(CFX_WideString& csNewFieldName,
|
| - int iType,
|
| - const CPDF_FormField* pExcludedField,
|
| - const CPDF_FormControl* pExcludedControl);
|
| - int CompareFieldName(const CFX_WideString& name1,
|
| - const CFX_WideString& name2);
|
| - int CompareFieldName(const CFX_ByteString& name1,
|
| - const CFX_ByteString& name2);
|
| -
|
| - CPDF_Document* const m_pDocument;
|
| - CPDF_Dictionary* m_pFormDict;
|
| - std::map<const CPDF_Dictionary*, CPDF_FormControl*> m_ControlMap;
|
| - std::unique_ptr<CFieldTree> m_pFieldTree;
|
| - CFX_ByteString m_bsEncoding;
|
| - IPDF_FormNotify* m_pFormNotify;
|
| -
|
| - friend class CPDF_FormControl;
|
| - friend class CPDF_FormField;
|
| -};
|
| -
|
| -#define FORMFIELD_READONLY 0x01
|
| -#define FORMFIELD_REQUIRED 0x02
|
| -#define FORMFIELD_NOEXPORT 0x04
|
| -#define FORMRADIO_NOTOGGLEOFF 0x100
|
| -#define FORMRADIO_UNISON 0x200
|
| -#define FORMTEXT_MULTILINE 0x100
|
| -#define FORMTEXT_PASSWORD 0x200
|
| -#define FORMTEXT_NOSCROLL 0x400
|
| -#define FORMTEXT_COMB 0x800
|
| -#define FORMCOMBO_EDIT 0x100
|
| -#define FORMLIST_MULTISELECT 0x100
|
| -
|
| -class CPDF_FormField {
|
| - public:
|
| - enum Type {
|
| - Unknown,
|
| - PushButton,
|
| - RadioButton,
|
| - CheckBox,
|
| - Text,
|
| - RichText,
|
| - File,
|
| - ListBox,
|
| - ComboBox,
|
| - Sign
|
| - };
|
| -
|
| - CFX_WideString GetFullName() const;
|
| -
|
| - Type GetType() const { return m_Type; }
|
| - uint32_t GetFlags() const { return m_Flags; }
|
| -
|
| - CPDF_Dictionary* GetFieldDict() const { return m_pDict; }
|
| - void SetFieldDict(CPDF_Dictionary* pDict) { m_pDict = pDict; }
|
| -
|
| - FX_BOOL ResetField(FX_BOOL bNotify = FALSE);
|
| -
|
| - int CountControls() const { return m_ControlList.GetSize(); }
|
| -
|
| - CPDF_FormControl* GetControl(int index) const {
|
| - return m_ControlList.GetAt(index);
|
| - }
|
| -
|
| - int GetControlIndex(const CPDF_FormControl* pControl) const;
|
| - int GetFieldType() const;
|
| -
|
| - CPDF_AAction GetAdditionalAction() const;
|
| - CFX_WideString GetAlternateName() const;
|
| - CFX_WideString GetMappingName() const;
|
| -
|
| - uint32_t GetFieldFlags() const;
|
| - CFX_ByteString GetDefaultStyle() const;
|
| - CFX_WideString GetRichTextString() const;
|
| -
|
| - CFX_WideString GetValue() const;
|
| - CFX_WideString GetDefaultValue() const;
|
| - FX_BOOL SetValue(const CFX_WideString& value, FX_BOOL bNotify = FALSE);
|
| -
|
| - int GetMaxLen() const;
|
| - int CountSelectedItems() const;
|
| - int GetSelectedIndex(int index) const;
|
| -
|
| - FX_BOOL ClearSelection(FX_BOOL bNotify = FALSE);
|
| - FX_BOOL IsItemSelected(int index) const;
|
| - FX_BOOL SetItemSelection(int index,
|
| - FX_BOOL bSelected,
|
| - FX_BOOL bNotify = FALSE);
|
| -
|
| - FX_BOOL IsItemDefaultSelected(int index) const;
|
| -
|
| - int GetDefaultSelectedItem() const;
|
| - int CountOptions() const;
|
| -
|
| - CFX_WideString GetOptionLabel(int index) const;
|
| - CFX_WideString GetOptionValue(int index) const;
|
| -
|
| - int FindOption(CFX_WideString csOptLabel) const;
|
| - int FindOptionValue(const CFX_WideString& csOptValue) const;
|
| -
|
| - FX_BOOL CheckControl(int iControlIndex, bool bChecked, bool bNotify = false);
|
| -
|
| - int GetTopVisibleIndex() const;
|
| - int CountSelectedOptions() const;
|
| -
|
| - int GetSelectedOptionIndex(int index) const;
|
| - FX_BOOL IsOptionSelected(int iOptIndex) const;
|
| -
|
| - FX_BOOL SelectOption(int iOptIndex,
|
| - FX_BOOL bSelected,
|
| - FX_BOOL bNotify = FALSE);
|
| -
|
| - FX_BOOL ClearSelectedOptions(FX_BOOL bNotify = FALSE);
|
| -
|
| -#ifdef PDF_ENABLE_XFA
|
| - FX_BOOL ClearOptions(FX_BOOL bNotify = FALSE);
|
| -
|
| - int InsertOption(CFX_WideString csOptLabel,
|
| - int index = -1,
|
| - FX_BOOL bNotify = FALSE);
|
| -#endif // PDF_ENABLE_XFA
|
| -
|
| - FX_FLOAT GetFontSize() const { return m_FontSize; }
|
| - CPDF_Font* GetFont() const { return m_pFont; }
|
| -
|
| - protected:
|
| - CPDF_FormField(CPDF_InterForm* pForm, CPDF_Dictionary* pDict);
|
| - ~CPDF_FormField();
|
| -
|
| - CFX_WideString GetValue(FX_BOOL bDefault) const;
|
| - FX_BOOL SetValue(const CFX_WideString& value,
|
| - FX_BOOL bDefault,
|
| - FX_BOOL bNotify);
|
| -
|
| - void SyncFieldFlags();
|
| - int FindListSel(CPDF_String* str);
|
| - CFX_WideString GetOptionText(int index, int sub_index) const;
|
| -
|
| - void LoadDA();
|
| - CFX_WideString GetCheckValue(FX_BOOL bDefault) const;
|
| - FX_BOOL SetCheckValue(const CFX_WideString& value,
|
| - FX_BOOL bDefault,
|
| - FX_BOOL bNotify);
|
| -
|
| - bool NotifyBeforeSelectionChange(const CFX_WideString& value);
|
| - void NotifyAfterSelectionChange();
|
| -
|
| - bool NotifyBeforeValueChange(const CFX_WideString& value);
|
| - void NotifyAfterValueChange();
|
| -
|
| - bool NotifyListOrComboBoxBeforeChange(const CFX_WideString& value);
|
| - void NotifyListOrComboBoxAfterChange();
|
| -
|
| - CPDF_FormField::Type m_Type;
|
| - uint32_t m_Flags;
|
| - CPDF_InterForm* m_pForm;
|
| - CPDF_Dictionary* m_pDict;
|
| - CFX_ArrayTemplate<CPDF_FormControl*> m_ControlList;
|
| - FX_FLOAT m_FontSize;
|
| - CPDF_Font* m_pFont;
|
| -
|
| - friend class CPDF_InterForm;
|
| - friend class CPDF_FormControl;
|
| -};
|
| -
|
| -CPDF_Object* FPDF_GetFieldAttr(CPDF_Dictionary* pFieldDict,
|
| - const FX_CHAR* name,
|
| - int nLevel = 0);
|
| -class CPDF_IconFit {
|
| - public:
|
| - enum ScaleMethod { Always = 0, Bigger, Smaller, Never };
|
| -
|
| - explicit CPDF_IconFit(const CPDF_Dictionary* pDict) : m_pDict(pDict) {}
|
| -
|
| - ScaleMethod GetScaleMethod();
|
| - FX_BOOL IsProportionalScale();
|
| - void GetIconPosition(FX_FLOAT& fLeft, FX_FLOAT& fBottom);
|
| - bool GetFittingBounds();
|
| - const CPDF_Dictionary* GetDict() const { return m_pDict; }
|
| -
|
| - protected:
|
| - const CPDF_Dictionary* const m_pDict;
|
| -};
|
| -
|
| -#define TEXTPOS_CAPTION 0
|
| -#define TEXTPOS_ICON 1
|
| -#define TEXTPOS_BELOW 2
|
| -#define TEXTPOS_ABOVE 3
|
| -#define TEXTPOS_RIGHT 4
|
| -#define TEXTPOS_LEFT 5
|
| -#define TEXTPOS_OVERLAID 6
|
| -
|
| -class CPDF_FormControl {
|
| - public:
|
| - enum HighlightingMode { None = 0, Invert, Outline, Push, Toggle };
|
| -
|
| - CPDF_FormField::Type GetType() const { return m_pField->GetType(); }
|
| - CPDF_InterForm* GetInterForm() const { return m_pForm; }
|
| - CPDF_FormField* GetField() const { return m_pField; }
|
| - CPDF_Dictionary* GetWidget() const { return m_pWidgetDict; }
|
| - CFX_FloatRect GetRect() const { return m_pWidgetDict->GetRectBy("Rect"); }
|
| -
|
| - void DrawControl(CFX_RenderDevice* pDevice,
|
| - CFX_Matrix* pMatrix,
|
| - CPDF_Page* pPage,
|
| - CPDF_Annot::AppearanceMode mode,
|
| - const CPDF_RenderOptions* pOptions = nullptr);
|
| -
|
| - CFX_ByteString GetCheckedAPState();
|
| - CFX_WideString GetExportValue() const;
|
| -
|
| - bool IsChecked() const;
|
| - bool IsDefaultChecked() const;
|
| -
|
| - HighlightingMode GetHighlightingMode();
|
| - bool HasMKEntry(const CFX_ByteString& csEntry) const;
|
| - int GetRotation();
|
| -
|
| - FX_ARGB GetBorderColor(int& iColorType) { return GetColor(iColorType, "BC"); }
|
| -
|
| - FX_FLOAT GetOriginalBorderColor(int index) {
|
| - return GetOriginalColor(index, "BC");
|
| - }
|
| -
|
| - void GetOriginalBorderColor(int& iColorType, FX_FLOAT fc[4]) {
|
| - GetOriginalColor(iColorType, fc, "BC");
|
| - }
|
| -
|
| - FX_ARGB GetBackgroundColor(int& iColorType) {
|
| - return GetColor(iColorType, "BG");
|
| - }
|
| -
|
| - FX_FLOAT GetOriginalBackgroundColor(int index) {
|
| - return GetOriginalColor(index, "BG");
|
| - }
|
| -
|
| - void GetOriginalBackgroundColor(int& iColorType, FX_FLOAT fc[4]) {
|
| - GetOriginalColor(iColorType, fc, "BG");
|
| - }
|
| -
|
| - CFX_WideString GetNormalCaption() { return GetCaption("CA"); }
|
| - CFX_WideString GetRolloverCaption() { return GetCaption("RC"); }
|
| - CFX_WideString GetDownCaption() { return GetCaption("AC"); }
|
| -
|
| - CPDF_Stream* GetNormalIcon() { return GetIcon("I"); }
|
| - CPDF_Stream* GetRolloverIcon() { return GetIcon("RI"); }
|
| - CPDF_Stream* GetDownIcon() { return GetIcon("IX"); }
|
| - CPDF_IconFit GetIconFit();
|
| -
|
| - int GetTextPosition();
|
| - CPDF_Action GetAction();
|
| - CPDF_AAction GetAdditionalAction();
|
| - CPDF_DefaultAppearance GetDefaultAppearance();
|
| -
|
| - CPDF_Font* GetDefaultControlFont();
|
| - int GetControlAlignment();
|
| -
|
| - protected:
|
| - CPDF_FormControl(CPDF_FormField* pField, CPDF_Dictionary* pWidgetDict);
|
| -
|
| - CFX_ByteString GetOnStateName() const;
|
| - void SetOnStateName(const CFX_ByteString& csOn);
|
| - void CheckControl(FX_BOOL bChecked);
|
| - FX_ARGB GetColor(int& iColorType, const CFX_ByteString& csEntry);
|
| - FX_FLOAT GetOriginalColor(int index, const CFX_ByteString& csEntry);
|
| - void GetOriginalColor(int& iColorType,
|
| - FX_FLOAT fc[4],
|
| - const CFX_ByteString& csEntry);
|
| -
|
| - CFX_WideString GetCaption(const CFX_ByteString& csEntry);
|
| - CPDF_Stream* GetIcon(const CFX_ByteString& csEntry);
|
| - CPDF_ApSettings GetMK() const;
|
| -
|
| - CPDF_FormField* const m_pField;
|
| - CPDF_Dictionary* const m_pWidgetDict;
|
| - CPDF_InterForm* const m_pForm;
|
| -
|
| - friend class CPDF_InterForm;
|
| - friend class CPDF_FormField;
|
| -};
|
| -
|
| -class IPDF_FormNotify {
|
| - public:
|
| - virtual ~IPDF_FormNotify();
|
| -
|
| - virtual int BeforeValueChange(CPDF_FormField* pField,
|
| - const CFX_WideString& csValue);
|
| - virtual void AfterValueChange(CPDF_FormField* pField);
|
| - virtual int BeforeSelectionChange(CPDF_FormField* pField,
|
| - const CFX_WideString& csValue);
|
| - virtual void AfterSelectionChange(CPDF_FormField* pField);
|
| - virtual void AfterCheckedStatusChange(CPDF_FormField* pField);
|
| - virtual int BeforeFormReset(CPDF_InterForm* pForm);
|
| - virtual void AfterFormReset(CPDF_InterForm* pForm);
|
| - virtual int BeforeFormImportData(CPDF_InterForm* pForm);
|
| - virtual void AfterFormImportData(CPDF_InterForm* pForm);
|
| -};
|
| -
|
| -class CPDF_PageLabel {
|
| - public:
|
| - explicit CPDF_PageLabel(CPDF_Document* pDocument);
|
| -
|
| - CFX_WideString GetLabel(int nPage) const;
|
| - int32_t GetPageByLabel(const CFX_ByteStringC& bsLabel) const;
|
| - int32_t GetPageByLabel(const CFX_WideStringC& wsLabel) const;
|
| -
|
| - protected:
|
| - CPDF_Document* const m_pDocument;
|
| -};
|
| -
|
| -class CPDF_Metadata {
|
| - public:
|
| - explicit CPDF_Metadata(CPDF_Document* pDoc);
|
| - ~CPDF_Metadata();
|
| -
|
| - const CXML_Element* GetRoot() const;
|
| -
|
| - private:
|
| - std::unique_ptr<CXML_Element> m_pXmlElement;
|
| -};
|
| -
|
| -class CPDF_ViewerPreferences {
|
| - public:
|
| - explicit CPDF_ViewerPreferences(CPDF_Document* pDoc);
|
| - ~CPDF_ViewerPreferences();
|
| -
|
| - FX_BOOL IsDirectionR2L() const;
|
| - FX_BOOL PrintScaling() const;
|
| - int32_t NumCopies() const;
|
| - CPDF_Array* PrintPageRange() const;
|
| - CFX_ByteString Duplex() const;
|
| -
|
| - protected:
|
| - CPDF_Dictionary* GetViewerPreferences() const;
|
| -
|
| - CPDF_Document* const m_pDoc;
|
| -};
|
| -
|
| -class CPDF_ApSettings {
|
| - public:
|
| - explicit CPDF_ApSettings(CPDF_Dictionary* pDict);
|
| -
|
| - bool HasMKEntry(const CFX_ByteString& csEntry) const;
|
| - int GetRotation() const;
|
| -
|
| - FX_ARGB GetBorderColor(int& iColorType) const {
|
| - return GetColor(iColorType, "BC");
|
| - }
|
| -
|
| - FX_FLOAT GetOriginalBorderColor(int index) const {
|
| - return GetOriginalColor(index, "BC");
|
| - }
|
| -
|
| - void GetOriginalBorderColor(int& iColorType, FX_FLOAT fc[4]) const {
|
| - GetOriginalColor(iColorType, fc, "BC");
|
| - }
|
| -
|
| - FX_ARGB GetBackgroundColor(int& iColorType) const {
|
| - return GetColor(iColorType, "BG");
|
| - }
|
| -
|
| - FX_FLOAT GetOriginalBackgroundColor(int index) const {
|
| - return GetOriginalColor(index, "BG");
|
| - }
|
| -
|
| - void GetOriginalBackgroundColor(int& iColorType, FX_FLOAT fc[4]) const {
|
| - GetOriginalColor(iColorType, fc, "BG");
|
| - }
|
| -
|
| - CFX_WideString GetNormalCaption() const { return GetCaption("CA"); }
|
| - CFX_WideString GetRolloverCaption() const { return GetCaption("RC"); }
|
| - CFX_WideString GetDownCaption() const { return GetCaption("AC"); }
|
| - CPDF_Stream* GetNormalIcon() const { return GetIcon("I"); }
|
| - CPDF_Stream* GetRolloverIcon() const { return GetIcon("RI"); }
|
| - CPDF_Stream* GetDownIcon() const { return GetIcon("IX"); }
|
| - CPDF_IconFit GetIconFit() const;
|
| - int GetTextPosition() const;
|
| -
|
| - protected:
|
| - friend class CPDF_FormControl;
|
| -
|
| - FX_ARGB GetColor(int& iColorType, const CFX_ByteString& csEntry) const;
|
| - FX_FLOAT GetOriginalColor(int index, const CFX_ByteString& csEntry) const;
|
| - void GetOriginalColor(int& iColorType,
|
| - FX_FLOAT fc[4],
|
| - const CFX_ByteString& csEntry) const;
|
| -
|
| - CFX_WideString GetCaption(const CFX_ByteString& csEntry) const;
|
| - CPDF_Stream* GetIcon(const CFX_ByteString& csEntry) const;
|
| -
|
| - CPDF_Dictionary* const m_pDict;
|
| -};
|
| -
|
| -CPDF_Stream* FPDFDOC_GetAnnotAP(CPDF_Dictionary* pAnnotDict,
|
| - CPDF_Annot::AppearanceMode mode);
|
| -
|
| -#endif // CORE_FPDFDOC_INCLUDE_FPDF_DOC_H_
|
|
|