1ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// Copyright 2014 PDFium Authors. All rights reserved. 2ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// Use of this source code is governed by a BSD-style license that can be 3ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// found in the LICENSE file. 4ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 5ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 7ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#ifndef _FPDF_DOC_H_ 8ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define _FPDF_DOC_H_ 9ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#ifndef _FPDF_PARSER_ 10ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "../fpdfapi/fpdf_parser.h" 11ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#endif 12ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#ifndef _FPDF_RENDER_ 13ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "../fpdfapi/fpdf_render.h" 14ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#endif 15ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_Action; 16ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_Annot; 17ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_AnnotList; 18ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_Bookmark; 19ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_BookmarkTree; 20ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_Dest; 21ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_Link; 22ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_LinkList; 23ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_Metadata; 24ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_NameTree; 25ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_NumberTree; 26ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_TextObject; 27ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_ViewerPreferences; 28ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_Page; 29ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_RenderOptions; 30ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CXML_Element; 31ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_OCContext; 32ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_DocJSActions; 33ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_ActionFields; 34ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_AAction; 35ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_FileSpec; 36ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_IconFit; 37ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_DefaultAppearance; 38ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_InterForm; 39ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_FormField; 40ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_FormNotify; 41ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_FormControl; 42ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_LWinParam; 43ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CFieldTree; 44ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_ApSettings; 45ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_NameTree : public CFX_Object 46ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 47ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 48ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 49ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_NameTree(CPDF_Dictionary* pRoot) 50ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 51ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_pRoot = pRoot; 52ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 53ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 54ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_NameTree(CPDF_Document* pDoc, FX_BSTR category); 55ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 56ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Object* LookupValue(int nIndex, CFX_ByteString& csName) const; 57ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 58ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Object* LookupValue(const CFX_ByteString& csName) const; 59ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 60ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Array* LookupNamedDest(CPDF_Document* pDoc, FX_BSTR sName); 61ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 62ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int GetIndex(const CFX_ByteString& csName) const; 63ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 64ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int GetCount() const; 65ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 66ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 67ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Dictionary* GetRoot() const 68ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 69ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pRoot; 70ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 71ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 72ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovprotected: 73ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 74ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Dictionary* m_pRoot; 75ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 76ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_BookmarkTree : public CFX_Object 77ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 78ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 79ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 80ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_BookmarkTree(CPDF_Document* pDoc) 81ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 82ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_pDocument = pDoc; 83ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 84ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 85ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 86ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 87ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 88ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Bookmark GetFirstChild(CPDF_Bookmark parent); 89ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 90ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Bookmark GetNextSibling(CPDF_Bookmark bookmark); 91ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 92ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 93ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Document* GetDocument() const 94ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 95ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pDocument; 96ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 97ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovprotected: 98ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 99ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Document* m_pDocument; 100ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 101ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define PDFBOOKMARK_ITALIC 1 102ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define PDFBOOKMARK_BOLD 2 103ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_Bookmark : public CFX_Object 104ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 105ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 106ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 107ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Bookmark(CPDF_Dictionary* pDict = NULL) 108ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 109ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_pDict = pDict; 110ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 111ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 112ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov operator CPDF_Dictionary*() const 113ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 114ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pDict; 115ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 116ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 117ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 118ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 119ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_DWORD GetColorRef(); 120ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 121ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_DWORD GetFontStyle(); 122ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 123ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString GetTitle(); 124ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 125ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 126ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 127ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 128ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Dest GetDest(CPDF_Document* pDocument); 129ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 130ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Action GetAction(); 131ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 132ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 133ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Dictionary* m_pDict; 134ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 135ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define PDFZOOM_XYZ 1 136ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define PDFZOOM_FITPAGE 2 137ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define PDFZOOM_FITHORZ 3 138ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define PDFZOOM_FITVERT 4 139ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define PDFZOOM_FITRECT 5 140ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define PDFZOOM_FITBBOX 6 141ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define PDFZOOM_FITBHORZ 7 142ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 143ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define PDFZOOM_FITBVERT 8 144ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_Dest : public CFX_Object 145ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 146ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 147ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 148ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Dest(CPDF_Object* pObj = NULL) 149ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 150ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_pObj = pObj; 151ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 152ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 153ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov operator CPDF_Object* () const 154ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 155ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pObj; 156ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 157ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 158ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_ByteString GetRemoteName(); 159ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 160ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int GetPageIndex(CPDF_Document* pDoc); 161ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 162ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_DWORD GetPageObjNum(); 163ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 164ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int GetZoomMode(); 165ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 166ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_FLOAT GetParam(int index); 167ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 168ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 169ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Object* m_pObj; 170ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 171ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_OCContext : public CFX_Object, public IPDF_OCContext 172ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 173ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 174ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 175ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov enum UsageType { 176ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov View = 0, 177ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Design, 178ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Print, 179ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Export 180ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov }; 181ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 182ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_OCContext(CPDF_Document *pDoc, UsageType eUsageType = View); 183ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 184ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov virtual ~CPDF_OCContext(); 185ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 186ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Document* GetDocument() const 187ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 188ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pDocument; 189ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 190ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 191ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov UsageType GetUsageType() const 192ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 193ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_eUsageType; 194ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 195ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 196ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL CheckOCGVisible(const CPDF_Dictionary *pOCGDict); 197ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 198ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void ResetOCContext(); 199ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovprotected: 200ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 201ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL LoadOCGStateFromConfig(FX_BSTR csConfig, const CPDF_Dictionary *pOCGDict, FX_BOOL &bValidConfig) const; 202ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 203ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL LoadOCGState(const CPDF_Dictionary *pOCGDict) const; 204ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 205ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL GetOCGVisible(const CPDF_Dictionary *pOCGDict); 206ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 207ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL GetOCGVE(CPDF_Array *pExpression, FX_BOOL bFromConfig, int nLevel = 0); 208ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 209ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL LoadOCMDState(const CPDF_Dictionary *pOCMDDict, FX_BOOL bFromConfig); 210ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 211ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Document *m_pDocument; 212ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 213ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov UsageType m_eUsageType; 214ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 215ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_MapPtrTemplate<const CPDF_Dictionary*, void*> m_OCGStates; 216ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 217ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_LWinParam : public CFX_Object 218ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 219ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 220ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 221ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_LWinParam(CPDF_Dictionary* pDict) 222ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 223ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_pDict = pDict; 224ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 225ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 226ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov operator CPDF_Dictionary* () const 227ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 228ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pDict; 229ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 230ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 231ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov inline CFX_ByteString GetFileName() 232ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 233ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pDict->GetString("F"); 234ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 235ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 236ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 237ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov inline CFX_ByteString GetDefaultDirectory() 238ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 239ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pDict->GetString("D"); 240ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 241ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 242ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 243ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov inline CFX_ByteString GetOperation() 244ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 245ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pDict->GetString("O"); 246ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 247ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 248ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 249ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov inline CFX_ByteString GetParameter() 250ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 251ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pDict->GetString("P"); 252ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 253ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 254ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Dictionary* m_pDict; 255ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 256ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_ActionFields : public CFX_Object 257ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 258ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 259ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 260ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_ActionFields(const CPDF_Action* pAction) 261ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 262ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_pAction = (CPDF_Action*)pAction; 263ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 264ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 265ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov operator CPDF_Action*() const 266ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 267ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pAction; 268ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 269ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 270ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_DWORD GetFieldsCount() const; 271ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 272ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void GetAllFields(CFX_PtrArray& fieldObjects) const; 273ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 274ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Object* GetField(FX_DWORD iIndex) const; 275ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 276ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Action* m_pAction; 277ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 278ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 279ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define PDFNAMED_NEXTPAGE 1 280ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define PDFNAMED_PREVPAGE 2 281ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define PDFNAMED_FIRSTPAGE 3 282ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define PDFNAMED_LASTPAGE 4 283ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define PDFJS_MAXLENGTH 64 284ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_Action : public CFX_Object 285ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 286ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 287ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 288ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Action(CPDF_Dictionary* pDict = NULL) 289ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 290ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_pDict = pDict; 291ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 292ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 293ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov operator CPDF_Dictionary* () const 294ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 295ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pDict; 296ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 297ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 298ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov enum ActionType { 299ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Unknown = 0, 300ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GoTo, 301ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GoToR, 302ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GoToE, 303ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Launch, 304ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Thread, 305ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov URI, 306ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Sound, 307ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Movie, 308ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Hide, 309ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Named, 310ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov SubmitForm, 311ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ResetForm, 312ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ImportData, 313ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JavaScript, 314ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov SetOCGState, 315ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Rendition, 316ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Trans, 317ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GoTo3DView 318ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov }; 319ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 320ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_ByteString GetTypeName() const 321ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 322ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pDict->GetString("S"); 323ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 324ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 325ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ActionType GetType() const; 326ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 327ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 328ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 329ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Dest GetDest(CPDF_Document* pDoc) const; 330ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 331ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 332ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 333ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 334ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 335ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString GetFilePath() const; 336ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 337ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 338ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 339ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 340ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL GetNewWindow() const 341ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 342ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pDict->GetBoolean("NewWindow"); 343ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 344ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 345ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 346ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 347ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 348ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_LWinParam GetWinParam() const; 349ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 350ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 351ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 352ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 353ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_ByteString GetURI(CPDF_Document* pDoc) const; 354ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 355ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 356ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 357ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 358ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL GetMouseMap() const 359ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 360ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pDict->GetBoolean("IsMap"); 361ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 362ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 363ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 364ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 365ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 366ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_ActionFields GetWidgets() const 367ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 368ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return this; 369ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 370ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 371ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 372ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 373ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 374ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL GetHideStatus() const 375ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 376ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pDict->GetBoolean("H", TRUE); 377ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 378ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 379ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 380ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 381ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 382ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_ByteString GetNamedAction() const 383ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 384ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pDict->GetString("N"); 385ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 386ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 387ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 388ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 389ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 390ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_DWORD GetFlags() const 391ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 392ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pDict->GetInteger("Flags"); 393ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 394ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 395ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 396ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 397ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 398ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString GetJavaScript() const; 399ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 400ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 401ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 402ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 403ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Dictionary* GetAnnot() const; 404ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 405ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 406ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 407ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 408ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_INT32 GetOperationType() const; 409ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 410ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 411ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 412ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 413ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Stream* GetSoundStream() const 414ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 415ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pDict->GetStream("Sound"); 416ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 417ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 418ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_FLOAT GetVolume() const 419ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 420ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pDict->GetNumber("Volume"); 421ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 422ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 423ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL IsSynchronous() const 424ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 425ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pDict->GetBoolean("Synchronous"); 426ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 427ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 428ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL IsRepeat() const 429ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 430ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pDict->GetBoolean("Repeat"); 431ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 432ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 433ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL IsMixPlay() const 434ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 435ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pDict->GetBoolean("Mix"); 436ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 437ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 438ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 439ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 440ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 441ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_DWORD GetSubActionsCount() const; 442ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 443ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Action GetSubAction(FX_DWORD iIndex) const; 444ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 445ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 446ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Dictionary* m_pDict; 447ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 448ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_AAction : public CFX_Object 449ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 450ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 451ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 452ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_AAction(CPDF_Dictionary* pDict = NULL) 453ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 454ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_pDict = pDict; 455ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 456ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 457ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov operator CPDF_Dictionary*() const 458ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 459ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pDict; 460ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 461ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 462ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov enum AActionType { 463ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CursorEnter = 0, 464ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CursorExit, 465ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ButtonDown, 466ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ButtonUp, 467ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetFocus, 468ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov LoseFocus, 469ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov PageOpen, 470ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov PageClose, 471ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov PageVisible, 472ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov PageInvisible, 473ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov OpenPage, 474ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ClosePage, 475ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov KeyStroke, 476ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Format, 477ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Validate, 478ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Calculate, 479ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CloseDocument, 480ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov SaveDocument, 481ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov DocumentSaved, 482ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov PrintDocument, 483ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov DocumentPrinted 484ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov }; 485ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 486ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL ActionExist(AActionType eType) const; 487ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 488ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Action GetAction(AActionType eType) const; 489ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 490ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_POSITION GetStartPos() const; 491ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 492ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Action GetNextAction(FX_POSITION& pos, AActionType& eType) const; 493ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 494ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Dictionary* m_pDict; 495ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 496ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_DocJSActions : public CFX_Object 497ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 498ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 499ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_DocJSActions(CPDF_Document* pDoc); 500ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 501ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 502ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int CountJSActions() const; 503ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 504ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Action GetJSAction(int index, CFX_ByteString& csName) const; 505ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 506ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Action GetJSAction(const CFX_ByteString& csName) const; 507ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 508ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int FindJSAction(const CFX_ByteString& csName) const; 509ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 510ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 511ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Document* GetDocument() const 512ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 513ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pDocument; 514ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 515ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 516ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovprotected: 517ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 518ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Document* m_pDocument; 519ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 520ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_FileSpec : public CFX_Object 521ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 522ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 523ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 524ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FileSpec(); 525ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 526ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FileSpec(CPDF_Object *pObj) 527ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 528ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_pObj = pObj; 529ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 530ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 531ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov operator CPDF_Object*() const 532ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 533ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pObj; 534ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 535ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 536ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL IsURL() const; 537ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 538ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL GetFileName(CFX_WideString &wsFileName) const; 539ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 540ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Stream* GetFileStream() const; 541ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 542ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void SetFileName(FX_WSTR wsFileName, FX_BOOL bURL = FALSE); 543ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovprotected: 544ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 545ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Object *m_pObj; 546ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 547ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_LinkList : public CFX_Object 548ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 549ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 550ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 551ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_LinkList(CPDF_Document* pDoc) 552ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 553ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_pDocument = pDoc; 554ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 555ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 556ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ~CPDF_LinkList(); 557ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 558ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Link GetLinkAtPoint(CPDF_Page* pPage, FX_FLOAT pdf_x, FX_FLOAT pdf_y); 559ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 560ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int CountLinks(CPDF_Page* pPage); 561ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 562ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Link GetLink(CPDF_Page* pPage, int index); 563ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 564ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Document* GetDocument() const 565ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 566ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pDocument; 567ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 568ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovprotected: 569ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 570ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Document* m_pDocument; 571ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 572ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_MapPtrToPtr m_PageMap; 573ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 574ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray* GetPageLinks(CPDF_Page* pPage); 575ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 576ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void LoadPageLinks(CPDF_Page* pPage, CFX_PtrArray* pList); 577ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 578ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_Link : public CFX_Object 579ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 580ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 581ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 582ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Link(CPDF_Dictionary* pDict = NULL) 583ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 584ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_pDict = pDict; 585ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 586ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 587ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov operator CPDF_Dictionary*() const 588ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 589ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pDict; 590ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 591ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 592ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_FloatRect GetRect(); 593ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 594ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 595ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 596ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Dest GetDest(CPDF_Document* pDoc); 597ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 598ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Action GetAction(); 599ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 600ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 601ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Dictionary* m_pDict; 602ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 603ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ANNOTFLAG_INVISIBLE 1 604ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ANNOTFLAG_HIDDEN 2 605ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ANNOTFLAG_PRINT 4 606ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ANNOTFLAG_NOZOOM 8 607ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ANNOTFLAG_NOROTATE 0x10 608ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ANNOTFLAG_NOVIEW 0x20 609ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ANNOTFLAG_READONLY 0x40 610ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ANNOTFLAG_LOCKED 0x80 611ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ANNOTFLAG_TOGGLENOVIEW 0x100 612ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_Annot : public CFX_PrivateData, public CFX_Object 613ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 614ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 615ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 616ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Annot(CPDF_Dictionary* pDict); 617ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 618ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ~CPDF_Annot(); 619ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 620ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Dictionary* m_pAnnotDict; 621ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 622ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_ByteString GetSubType() const; 623ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 624ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_DWORD GetFlags() const 625ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 626ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pAnnotDict->GetInteger("F"); 627ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 628ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 629ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void GetRect(CFX_FloatRect& rect) const; 630ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 631ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov enum AppearanceMode { 632ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Normal, 633ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Rollover, 634ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Down 635ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov }; 636ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 637ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL DrawAppearance(const CPDF_Page* pPage, CFX_RenderDevice* pDevice, const CFX_AffineMatrix* pUser2Device, 638ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov AppearanceMode mode, const CPDF_RenderOptions* pOptions); 639ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 640ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL DrawInContext(const CPDF_Page* pPage, const CPDF_RenderContext* pContext, 641ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov const CFX_AffineMatrix* pUser2Device, AppearanceMode mode); 642ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 643ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void ClearCachedAP(); 644ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 645ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 646ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void DrawBorder(CFX_RenderDevice* pDevice, const CFX_AffineMatrix* pUser2Device, 647ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov const CPDF_RenderOptions* pOptions); 648ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 649ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_PageObject* GetBorder(FX_BOOL bPrint, const CPDF_RenderOptions* pOptions); 650ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 651ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 652ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 653ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int CountIRTNotes(); 654ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 655ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Annot* GetIRTNote(int index); 656ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 657ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 658ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Form* GetAPForm(const CPDF_Page* pPage, AppearanceMode mode); 659ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovprivate: 660ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 661ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_MapPtrToPtr m_APMap; 662ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovprotected: 663ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov friend class CPDF_AnnotList; 664ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 665ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_AnnotList* m_pList; 666ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 667ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Reference* NewAnnotRef(); 668ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 669ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_AnnotList : public CFX_Object 670ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 671ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 672ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 673ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_AnnotList(CPDF_Page* pPage); 674ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 675ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ~CPDF_AnnotList(); 676ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 677ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void GetAnnotMatrix(const CPDF_Dictionary* pAnnotDict, const CFX_Matrix* pUser2Device, CFX_Matrix &matrix) const; 678ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 679ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void GetAnnotRect(const CPDF_Dictionary* pAnnotDict, const CFX_Matrix* pUser2Device, CPDF_Rect &rtAnnot) const; 680ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 681ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void DisplayAnnots(const CPDF_Page* pPage, CFX_RenderDevice* pDevice, 682ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_AffineMatrix* pMatrix, FX_BOOL bShowWidget, 683ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_RenderOptions* pOptions); 684ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 685ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void DisplayAnnots(const CPDF_Page* pPage, CPDF_RenderContext* pContext, 686ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL bPrinting, CFX_AffineMatrix* pMatrix, FX_BOOL bShowWidget, 687ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_RenderOptions* pOptions) 688ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 689ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov DisplayAnnots(pPage, NULL, pContext, bPrinting, pMatrix, bShowWidget ? 3 : 1, pOptions, NULL); 690ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 691ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 692ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void DisplayAnnots(const CPDF_Page* pPage, CPDF_RenderContext* pContext, 693ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL bPrinting, CFX_AffineMatrix* pMatrix, FX_BOOL bShowWidget, 694ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_RenderOptions* pOptions, FX_RECT *pClipRect) 695ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 696ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov DisplayAnnots(pPage, NULL, pContext, bPrinting, pMatrix, bShowWidget ? 3 : 1, pOptions, pClipRect); 697ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 698ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 699ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void DisplayAnnots(const CPDF_Page* pPage, CFX_RenderDevice* pDevice, CPDF_RenderContext* pContext, 700ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL bPrinting, CFX_AffineMatrix* pMatrix, FX_DWORD dwAnnotFlags, 701ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_RenderOptions* pOptions, FX_RECT* pClipRect); 702ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 703ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 704ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 705ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Annot* GetAt(int index) 706ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 707ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return (CPDF_Annot*)m_AnnotList.GetAt(index); 708ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 709ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 710ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int Count() 711ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 712ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_AnnotList.GetSize(); 713ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 714ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 715ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int GetIndex(CPDF_Annot* pAnnot); 716ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 717ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 718ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Document* GetDocument() const 719ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 720ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pDocument; 721ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 722ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovprotected: 723ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 724ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray m_AnnotList; 725ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 726ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Dictionary* m_pPageDict; 727ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 728ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Document* m_pDocument; 729ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 730ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray m_Borders; 731ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 732ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void DisplayPass(const CPDF_Page* pPage, CFX_RenderDevice* pDevice, 733ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_RenderContext* pContext, FX_BOOL bPrinting, CFX_AffineMatrix* pMatrix, 734ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL bWidget, CPDF_RenderOptions* pOptions, FX_RECT* clip_rect); 735ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov friend class CPDF_Annot; 736ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 737ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define COLORTYPE_TRANSPARENT 0 738ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define COLORTYPE_GRAY 1 739ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define COLORTYPE_RGB 2 740ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define COLORTYPE_CMYK 3 741ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_DefaultAppearance : public CFX_Object 742ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 743ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 744ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 745ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_DefaultAppearance(const CFX_ByteString& csDA = "") 746ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 747ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_csDA = csDA; 748ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 749ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 750ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_DefaultAppearance(const CPDF_DefaultAppearance& cDA) 751ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 752ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_csDA = (CFX_ByteString)(CPDF_DefaultAppearance&)cDA; 753ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 754ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 755ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 756ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov operator CFX_ByteString() const 757ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 758ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_csDA; 759ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 760ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 761ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov const CPDF_DefaultAppearance& operator =(const CFX_ByteString& csDA) 762ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 763ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_csDA = csDA; 764ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return *this; 765ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 766ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 767ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov const CPDF_DefaultAppearance& operator =(const CPDF_DefaultAppearance& cDA) 768ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 769ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_csDA = (CFX_ByteString)(CPDF_DefaultAppearance&)cDA; 770ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return *this; 771ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 772ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 773ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 774ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 775ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL HasFont(); 776ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 777ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_ByteString GetFontString(); 778ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 779ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void GetFont(CFX_ByteString& csFontNameTag, FX_FLOAT& fFontSize); 780ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 781ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 782ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 783ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 784ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL HasColor(FX_BOOL bStrokingOperation = FALSE); 785ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 786ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_ByteString GetColorString(FX_BOOL bStrokingOperation = FALSE); 787ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 788ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void GetColor(int& iColorType, FX_FLOAT fc[4], FX_BOOL bStrokingOperation = FALSE); 789ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 790ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void GetColor(FX_ARGB& color, int& iColorType, FX_BOOL bStrokingOperation = FALSE); 791ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 792ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 793ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 794ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 795ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL HasTextMatrix(); 796ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 797ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_ByteString GetTextMatrixString(); 798ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 799ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_AffineMatrix GetTextMatrix(); 800ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 801ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovprotected: 802ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 803ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_ByteString m_csDA; 804ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 805ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FIELDTYPE_UNKNOWN 0 806ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FIELDTYPE_PUSHBUTTON 1 807ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FIELDTYPE_CHECKBOX 2 808ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FIELDTYPE_RADIOBUTTON 3 809ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FIELDTYPE_COMBOBOX 4 810ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FIELDTYPE_LISTBOX 5 811ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FIELDTYPE_TEXTFIELD 6 812ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FIELDTYPE_SIGNATURE 7 813ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_InterForm : public CFX_PrivateData, public CFX_Object 814ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 815ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 816ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 817ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_InterForm(CPDF_Document* pDocument, FX_BOOL bUpdateAP); 818ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 819ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ~CPDF_InterForm(); 820ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 821ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 822ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 823ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov static void EnableUpdateAP(FX_BOOL bUpdateAP); 824ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 825ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov static FX_BOOL UpdatingAPEnabled(); 826ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 827ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 828ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov static CFX_ByteString GenerateNewResourceName(const CPDF_Dictionary* pResDict, FX_LPCSTR csType, int iMinLen = 2, FX_LPCSTR csPrefix = ""); 829ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 830ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 831ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 832ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov static CPDF_Font* AddSystemDefaultFont(const CPDF_Document* pDocument); 833ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 834ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov static CPDF_Font* AddSystemFont(const CPDF_Document* pDocument, CFX_ByteString csFontName, FX_BYTE iCharSet = 1); 835ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 836ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov static CPDF_Font* AddSystemFont(const CPDF_Document* pDocument, CFX_WideString csFontName, FX_BYTE iCharSet = 1); 837ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 838ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov static CPDF_Font* AddStandardFont(const CPDF_Document* pDocument, CFX_ByteString csFontName); 839ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 840ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov static CFX_ByteString GetNativeFont(FX_BYTE iCharSet, FX_LPVOID pLogFont = NULL); 841ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 842ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov static CFX_ByteString GetNativeFont(FX_LPVOID pLogFont = NULL); 843ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 844ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov static FX_BYTE GetNativeCharSet(); 845ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 846ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov static CPDF_Font* AddNativeFont(FX_BYTE iCharSet, const CPDF_Document* pDocument); 847ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 848ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov static CPDF_Font* AddNativeFont(const CPDF_Document* pDocument); 849ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 850ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 851ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 852ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 853ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL ValidateFieldName(CFX_WideString& csNewFieldName, int iType); 854ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 855ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL ValidateFieldName(const CPDF_FormField* pField, CFX_WideString& csNewFieldName); 856ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 857ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL ValidateFieldName(const CPDF_FormControl* pControl, CFX_WideString& csNewFieldName); 858ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 859ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 860ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 861ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 862ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_DWORD CountFields(const CFX_WideString &csFieldName = L""); 863ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 864ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* GetField(FX_DWORD index, const CFX_WideString &csFieldName = L""); 865ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 866ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void GetAllFieldNames(CFX_WideStringArray& allFieldNames); 867ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 868ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL IsValidFormField(const void* pField); 869ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 870ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* GetFieldByDict(CPDF_Dictionary* pFieldDict) const; 871ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 872ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 873ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 874ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 875ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_DWORD CountControls(CFX_WideString csFieldName = L""); 876ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 877ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormControl* GetControl(FX_DWORD index, CFX_WideString csFieldName = L""); 878ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 879ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL IsValidFormControl(const void* pControl); 880ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 881ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int CountPageControls(CPDF_Page* pPage) const; 882ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 883ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormControl* GetPageControl(CPDF_Page* pPage, int index) const; 884ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 885ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 886ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormControl* GetControlAtPoint(CPDF_Page* pPage, FX_FLOAT pdf_x, FX_FLOAT pdf_y) const; 887ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 888ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormControl* GetControlByDict(CPDF_Dictionary* pWidgetDict) const; 889ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 890ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 891ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 892ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 893ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_DWORD CountInternalFields(const CFX_WideString& csFieldName = L"") const; 894ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 895ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Dictionary* GetInternalField(FX_DWORD index, const CFX_WideString& csFieldName = L"") const; 896ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 897ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 898ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 899ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 900ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 901ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Document* GetDocument() const 902ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 903ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pDocument; 904ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 905ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 906ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Dictionary* GetFormDict() const 907ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 908ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pFormDict; 909ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 910ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 911ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 912ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 913ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 914ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL NeedConstructAP(); 915ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 916ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void NeedConstructAP(FX_BOOL bNeedAP); 917ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 918ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 919ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 920ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 921ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int CountFieldsInCalculationOrder(); 922ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 923ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* GetFieldInCalculationOrder(int index); 924ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 925ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int FindFieldInCalculationOrder(const CPDF_FormField* pField); 926ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 927ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 928ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 929ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 930ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_DWORD CountFormFonts(); 931ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 932ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Font* GetFormFont(FX_DWORD index, CFX_ByteString& csNameTag); 933ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 934ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Font* GetFormFont(CFX_ByteString csNameTag); 935ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 936ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Font* GetFormFont(CFX_ByteString csFontName, CFX_ByteString& csNameTag); 937ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 938ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Font* GetNativeFormFont(FX_BYTE iCharSet, CFX_ByteString& csNameTag); 939ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 940ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Font* GetNativeFormFont(CFX_ByteString& csNameTag); 941ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 942ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL FindFormFont(const CPDF_Font* pFont, CFX_ByteString& csNameTag); 943ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 944ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL FindFormFont(CFX_ByteString csFontName, CPDF_Font*& pFont, CFX_ByteString& csNameTag); 945ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 946ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov inline FX_BOOL FindFormFont(CFX_WideString csFontName, CPDF_Font*& pFont, CFX_ByteString& csNameTag) 947ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 948ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return FindFormFont(PDF_EncodeText(csFontName), pFont, csNameTag); 949ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 950ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 951ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 952ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 953ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 954ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 955ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void AddFormFont(const CPDF_Font* pFont, CFX_ByteString& csNameTag); 956ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 957ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Font* AddNativeFormFont(FX_BYTE iCharSet, CFX_ByteString& csNameTag); 958ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 959ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Font* AddNativeFormFont(CFX_ByteString& csNameTag); 960ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 961ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void RemoveFormFont(const CPDF_Font* pFont); 962ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 963ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void RemoveFormFont(CFX_ByteString csNameTag); 964ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 965ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 966ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 967ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 968ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_DefaultAppearance GetDefaultAppearance(); 969ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 970ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Font* GetDefaultFormFont(); 971ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 972ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 973ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 974ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int GetFormAlignment(); 975ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 976ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 977ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 978ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 979ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* CheckRequiredFields(const CFX_PtrArray *fields = NULL, FX_BOOL bIncludeOrExclude = TRUE) const; 980ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 981ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFDF_Document* ExportToFDF(FX_WSTR pdf_path, FX_BOOL bSimpleFileSpec = FALSE) const; 982ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 983ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFDF_Document* ExportToFDF(FX_WSTR pdf_path, CFX_PtrArray& fields, FX_BOOL bIncludeOrExclude = TRUE, FX_BOOL bSimpleFileSpec = FALSE) const; 984ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 985ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL ImportFromFDF(const CFDF_Document* pFDFDoc, FX_BOOL bNotify = FALSE); 986ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 987ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 988ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 989ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 990ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL ResetForm(const CFX_PtrArray& fields, FX_BOOL bIncludeOrExclude = TRUE, FX_BOOL bNotify = FALSE); 991ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 992ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL ResetForm(FX_BOOL bNotify = FALSE); 993ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 994ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void ReloadForm(); 995ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 996ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormNotify* GetFormNotify() const 997ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 998ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pFormNotify; 999ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1000ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1001ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void SetFormNotify(const CPDF_FormNotify* pNotify); 1002ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1003ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1004ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int GetPageWithWidget(int iCurPage, FX_BOOL bNext); 1005ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1006ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1007ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1008ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL IsUpdated() 1009ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1010ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_bUpdated; 1011ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1012ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1013ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void ClearUpdatedFlag() 1014ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1015ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_bUpdated = FALSE; 1016ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1017ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1018ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1019ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL HasXFAForm() const; 1020ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1021ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void FixPageFields(const CPDF_Page* pPage); 1022ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovprotected: 1023ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1024ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov static FX_BOOL m_bUpdateAP; 1025ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1026ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void LoadField(CPDF_Dictionary* pFieldDict, int nLevel = 0); 1027ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1028ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Object* GetFieldAttr(CPDF_Dictionary* pFieldDict, const FX_CHAR* name); 1029ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1030ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* AddTerminalField(const CPDF_Dictionary* pFieldDict); 1031ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1032ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormControl* AddControl(const CPDF_FormField* pField, const CPDF_Dictionary* pWidgetDict); 1033ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1034ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void FDF_ImportField(CPDF_Dictionary* pField, const CFX_WideString& parent_name, FX_BOOL bNotify = FALSE, int nLevel = 0); 1035ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1036ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL ValidateFieldName(CFX_WideString& csNewFieldName, int iType, const CPDF_FormField* pExcludedField, const CPDF_FormControl* pExcludedControl); 1037ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1038ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int CompareFieldName(const CFX_WideString& name1, const CFX_WideString& name2); 1039ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1040ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int CompareFieldName(const CFX_ByteString& name1, const CFX_ByteString& name2); 1041ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1042ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Document* m_pDocument; 1043ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1044ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL m_bGenerateAP; 1045ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1046ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Dictionary* m_pFormDict; 1047ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1048ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_MapPtrToPtr m_ControlMap; 1049ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1050ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFieldTree *m_pFieldTree; 1051ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1052ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_ByteString m_bsEncoding; 1053ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1054ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormNotify* m_pFormNotify; 1055ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1056ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL m_bUpdated; 1057ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov friend class CPDF_FormControl; 1058ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov friend class CPDF_FormField; 1059ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 1060ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FORMFIELD_READONLY 0x01 1061ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FORMFIELD_REQUIRED 0x02 1062ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FORMFIELD_NOEXPORT 0x04 1063ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FORMRADIO_NOTOGGLEOFF 0x100 1064ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FORMRADIO_UNISON 0x200 1065ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FORMTEXT_MULTILINE 0x100 1066ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FORMTEXT_PASSWORD 0x200 1067ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FORMTEXT_NOSCROLL 0x400 1068ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FORMTEXT_COMB 0x800 1069ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FORMCOMBO_EDIT 0x100 1070ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FORMLIST_MULTISELECT 0x100 1071ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_FormField : public CFX_Object 1072ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1073ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 1074ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1075ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov enum Type { 1076ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Unknown, 1077ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov PushButton, 1078ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov RadioButton, 1079ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CheckBox, 1080ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Text, 1081ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov RichText, 1082ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov File, 1083ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ListBox, 1084ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ComboBox, 1085ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Sign 1086ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov }; 1087ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1088ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString GetFullName(); 1089ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1090ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Type GetType() 1091ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1092ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_Type; 1093ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1094ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1095ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_DWORD GetFlags() 1096ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1097ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_Flags; 1098ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1099ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1100ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_InterForm* GetInterForm() const 1101ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1102ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pForm; 1103ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1104ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1105ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Dictionary* GetFieldDict() const 1106ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1107ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pDict; 1108ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1109ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1110ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void SetFieldDict(CPDF_Dictionary* pDict) 1111ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1112ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_pDict = pDict; 1113ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1114ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1115ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL ResetField(FX_BOOL bNotify = FALSE); 1116ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1117ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1118ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1119ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int CountControls() 1120ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1121ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_ControlList.GetSize(); 1122ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1123ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1124ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormControl* GetControl(int index) 1125ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1126ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return (CPDF_FormControl*)m_ControlList.GetAt(index); 1127ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1128ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1129ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int GetControlIndex(const CPDF_FormControl* pControl); 1130ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1131ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1132ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1133ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1134ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int GetFieldType(); 1135ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1136ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1137ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1138ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1139ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_AAction GetAdditionalAction(); 1140ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1141ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1142ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1143ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1144ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString GetAlternateName(); 1145ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1146ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1147ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1148ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1149ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString GetMappingName(); 1150ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1151ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1152ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1153ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1154ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_DWORD GetFieldFlags(); 1155ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1156ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1157ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1158ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1159ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_ByteString GetDefaultStyle(); 1160ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1161ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1162ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1163ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1164ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString GetRichTextString(); 1165ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1166ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1167ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1168ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString GetValue(); 1169ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1170ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString GetDefaultValue(); 1171ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1172ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL SetValue(const CFX_WideString& value, FX_BOOL bNotify = FALSE); 1173ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1174ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1175ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1176ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1177ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1178ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int GetMaxLen(); 1179ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1180ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1181ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1182ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1183ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int CountSelectedItems(); 1184ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1185ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int GetSelectedIndex(int index); 1186ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1187ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL ClearSelection(FX_BOOL bNotify = FALSE); 1188ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1189ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL IsItemSelected(int index); 1190ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1191ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL SetItemSelection(int index, FX_BOOL bSelected, FX_BOOL bNotify = FALSE); 1192ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1193ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL IsItemDefaultSelected(int index); 1194ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1195ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int GetDefaultSelectedItem(); 1196ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1197ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1198ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1199ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1200ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int CountOptions(); 1201ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1202ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString GetOptionLabel(int index); 1203ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1204ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString GetOptionValue(int index); 1205ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1206ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int FindOption(CFX_WideString csOptLabel); 1207ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1208ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int FindOptionValue(FX_LPCWSTR csOptValue, int iStartIndex = 0); 1209ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1210ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1211ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1212ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1213ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL CheckControl(int iControlIndex, FX_BOOL bChecked, FX_BOOL bNotify = FALSE); 1214ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1215ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1216ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1217ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1218ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int GetTopVisibleIndex(); 1219ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1220ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1221ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1222ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1223ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int CountSelectedOptions(); 1224ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1225ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int GetSelectedOptionIndex(int index); 1226ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1227ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL IsOptionSelected(int iOptIndex); 1228ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1229ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL SelectOption(int iOptIndex, FX_BOOL bSelected, FX_BOOL bNotify = FALSE); 1230ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1231ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL ClearSelectedOptions(FX_BOOL bNotify = FALSE); 1232ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1233ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1234ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1235ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1236ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_FLOAT GetFontSize() 1237ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1238ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_FontSize; 1239ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1240ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1241ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Font* GetFont() 1242ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1243ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pFont; 1244ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1245ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1246ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovprotected: 1247ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1248ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField(CPDF_InterForm* pForm, CPDF_Dictionary* pDict); 1249ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1250ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ~CPDF_FormField(); 1251ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1252ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField::Type m_Type; 1253ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1254ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_DWORD m_Flags; 1255ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1256ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_InterForm* m_pForm; 1257ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1258ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Dictionary* m_pDict; 1259ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1260ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_PtrArray m_ControlList; 1261ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov friend class CPDF_InterForm; 1262ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov friend class CPDF_FormControl; 1263ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1264ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1265ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1266ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString GetValue(FX_BOOL bDefault); 1267ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1268ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL SetValue(const CFX_WideString& value, FX_BOOL bDefault, FX_BOOL bNotify); 1269ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1270ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1271ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void SyncFieldFlags(); 1272ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1273ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int FindListSel(CPDF_String* str); 1274ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1275ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString GetOptionText(int index, int sub_index); 1276ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1277ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void LoadDA(); 1278ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1279ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void UpdateAP(CPDF_FormControl* pControl); 1280ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1281ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1282ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1283ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString GetCheckValue(FX_BOOL bDefault); 1284ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1285ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL SetCheckValue(const CFX_WideString& value, FX_BOOL bDefault, FX_BOOL bNotify); 1286ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1287ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1288ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_FLOAT m_FontSize; 1289ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1290ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Font* m_pFont; 1291ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 1292ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovCPDF_Object* FPDF_GetFieldAttr(CPDF_Dictionary* pFieldDict, const FX_CHAR* name, int nLevel = 0); 1293ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_IconFit : public CFX_Object 1294ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1295ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 1296ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1297ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_IconFit(CPDF_Dictionary* pDict = NULL) 1298ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1299ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_pDict = pDict; 1300ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1301ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1302ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov operator CPDF_Dictionary*() const 1303ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1304ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pDict; 1305ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1306ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1307ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1308ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1309ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1310ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov enum ScaleMethod { 1311ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Always = 0, 1312ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Bigger, 1313ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Smaller, 1314ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Never 1315ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov }; 1316ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1317ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ScaleMethod GetScaleMethod(); 1318ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1319ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1320ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1321ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1322ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL IsProportionalScale(); 1323ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1324ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1325ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1326ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1327ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void GetIconPosition(FX_FLOAT& fLeft, FX_FLOAT& fBottom); 1328ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1329ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1330ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1331ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1332ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL GetFittingBounds(); 1333ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1334ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1335ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Dictionary* m_pDict; 1336ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 1337ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1338ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define TEXTPOS_CAPTION 0 1339ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define TEXTPOS_ICON 1 1340ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define TEXTPOS_BELOW 2 1341ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define TEXTPOS_ABOVE 3 1342ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define TEXTPOS_RIGHT 4 1343ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define TEXTPOS_LEFT 5 1344ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define TEXTPOS_OVERLAID 6 1345ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_FormControl : public CFX_Object 1346ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1347ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 1348ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1349ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField::Type GetType() 1350ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1351ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pField->GetType(); 1352ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1353ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1354ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_InterForm* GetInterForm() const 1355ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1356ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pForm; 1357ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1358ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1359ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* GetField() const 1360ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1361ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pField; 1362ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1363ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1364ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Dictionary* GetWidget() const 1365ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1366ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pWidgetDict; 1367ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1368ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1369ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_FloatRect GetRect(); 1370ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1371ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void DrawControl(CFX_RenderDevice* pDevice, CFX_AffineMatrix* pMatrix, 1372ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Page* pPage, CPDF_Annot::AppearanceMode mode, const CPDF_RenderOptions* pOptions = NULL); 1373ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1374ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1375ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1376ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_ByteString GetCheckedAPState(); 1377ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1378ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString GetExportValue(); 1379ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1380ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL IsChecked(); 1381ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1382ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL IsDefaultChecked(); 1383ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1384ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1385ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1386ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1387ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov enum HighlightingMode { 1388ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov None = 0, 1389ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Invert, 1390ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Outline, 1391ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Push, 1392ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov Toggle 1393ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov }; 1394ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1395ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov HighlightingMode GetHighlightingMode(); 1396ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1397ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1398ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1399ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1400ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL HasMKEntry(CFX_ByteString csEntry); 1401ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1402ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1403ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1404ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1405ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int GetRotation(); 1406ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1407ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1408ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1409ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1410ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov inline FX_ARGB GetBorderColor(int& iColorType) 1411ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1412ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return GetColor(iColorType, "BC"); 1413ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1414ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1415ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov inline FX_FLOAT GetOriginalBorderColor(int index) 1416ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1417ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return GetOriginalColor(index, "BC"); 1418ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1419ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1420ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov inline void GetOriginalBorderColor(int& iColorType, FX_FLOAT fc[4]) 1421ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1422ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetOriginalColor(iColorType, fc, "BC"); 1423ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1424ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1425ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1426ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1427ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1428ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov inline FX_ARGB GetBackgroundColor(int& iColorType) 1429ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1430ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return GetColor(iColorType, "BG"); 1431ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1432ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1433ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov inline FX_FLOAT GetOriginalBackgroundColor(int index) 1434ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1435ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return GetOriginalColor(index, "BG"); 1436ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1437ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1438ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov inline void GetOriginalBackgroundColor(int& iColorType, FX_FLOAT fc[4]) 1439ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1440ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetOriginalColor(iColorType, fc, "BG"); 1441ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1442ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1443ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1444ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1445ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1446ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov inline CFX_WideString GetNormalCaption() 1447ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1448ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return GetCaption("CA"); 1449ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1450ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1451ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1452ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1453ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1454ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov inline CFX_WideString GetRolloverCaption() 1455ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1456ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return GetCaption("RC"); 1457ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1458ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1459ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1460ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1461ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1462ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov inline CFX_WideString GetDownCaption() 1463ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1464ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return GetCaption("AC"); 1465ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1466ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1467ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1468ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1469ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1470ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov inline CPDF_Stream* GetNormalIcon() 1471ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1472ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return GetIcon("I"); 1473ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1474ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1475ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1476ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1477ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1478ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov inline CPDF_Stream* GetRolloverIcon() 1479ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1480ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return GetIcon("RI"); 1481ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1482ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1483ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1484ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1485ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1486ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov inline CPDF_Stream* GetDownIcon() 1487ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1488ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return GetIcon("IX"); 1489ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1490ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1491ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1492ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1493ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1494ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_IconFit GetIconFit(); 1495ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1496ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1497ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1498ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1499ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int GetTextPosition(); 1500ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1501ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1502ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1503ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1504ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Action GetAction(); 1505ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1506ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1507ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1508ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1509ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_AAction GetAdditionalAction(); 1510ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1511ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1512ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1513ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1514ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_DefaultAppearance GetDefaultAppearance(); 1515ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1516ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Font* GetDefaultControlFont(); 1517ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1518ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1519ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1520ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1521ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int GetControlAlignment(); 1522ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1523ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovprotected: 1524ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1525ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormControl(CPDF_FormField* pField, CPDF_Dictionary* pWidgetDict); 1526ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1527ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_ByteString GetOnStateName(); 1528ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1529ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void SetOnStateName(const CFX_ByteString& csOn); 1530ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1531ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void CheckControl(FX_BOOL bChecked); 1532ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1533ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_ARGB GetColor(int& iColorType, CFX_ByteString csEntry); 1534ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1535ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_FLOAT GetOriginalColor(int index, CFX_ByteString csEntry); 1536ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1537ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void GetOriginalColor(int& iColorType, FX_FLOAT fc[4], CFX_ByteString csEntry); 1538ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1539ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString GetCaption(CFX_ByteString csEntry); 1540ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1541ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Stream* GetIcon(CFX_ByteString csEntry); 1542ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1543ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_ApSettings GetMK(FX_BOOL bCreate); 1544ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1545ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_InterForm* m_pForm; 1546ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1547ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_FormField* m_pField; 1548ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1549ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Dictionary* m_pWidgetDict; 1550ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov friend class CPDF_InterForm; 1551ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov friend class CPDF_FormField; 1552ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 1553ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_FormNotify : public CFX_Object 1554ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1555ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 1556ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1557ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov virtual ~CPDF_FormNotify() {} 1558ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1559ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov virtual int BeforeValueChange(const CPDF_FormField* pField, CFX_WideString& csValue) 1560ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1561ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return 0; 1562ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1563ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1564ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov virtual int AfterValueChange(const CPDF_FormField* pField) 1565ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1566ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return 0; 1567ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1568ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1569ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov virtual int BeforeSelectionChange(const CPDF_FormField* pField, CFX_WideString& csValue) 1570ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1571ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return 0; 1572ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1573ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1574ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov virtual int AfterSelectionChange(const CPDF_FormField* pField) 1575ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1576ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return 0; 1577ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1578ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1579ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov virtual int AfterCheckedStatusChange(const CPDF_FormField* pField, const CFX_ByteArray& statusArray) 1580ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1581ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return 0; 1582ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1583ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1584ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov virtual int BeforeFormReset(const CPDF_InterForm* pForm) 1585ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1586ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return 0; 1587ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1588ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1589ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov virtual int AfterFormReset(const CPDF_InterForm* pForm) 1590ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1591ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return 0; 1592ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1593ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1594ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov virtual int BeforeFormImportData(const CPDF_InterForm* pForm) 1595ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1596ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return 0; 1597ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1598ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1599ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov virtual int AfterFormImportData(const CPDF_InterForm* pForm) 1600ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1601ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return 0; 1602ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1603ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 1604ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFX_BOOL FPDF_GenerateAP(CPDF_Document* pDoc, CPDF_Dictionary* pAnnotDict); 1605ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_PageLabel : public CFX_Object 1606ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1607ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 1608ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1609ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_PageLabel(CPDF_Document* pDocument) 1610ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1611ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_pDocument = pDocument; 1612ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1613ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1614ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1615ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString GetLabel(int nPage) const; 1616ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1617ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_INT32 GetPageByLabel(FX_BSTR bsLabel) const; 1618ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1619ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1620ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_INT32 GetPageByLabel(FX_WSTR wsLabel) const; 1621ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1622ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovprotected: 1623ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Document* m_pDocument; 1624ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 1625ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_Metadata 1626ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1627ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 1628ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1629ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Metadata(); 1630ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1631ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1632ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ~CPDF_Metadata(); 1633ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1634ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void LoadDoc(CPDF_Document *pDoc); 1635ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1636ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1637ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_INT32 GetString(FX_BSTR bsItem, CFX_WideString &wsStr); 1638ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1639ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CXML_Element* GetRoot() const; 1640ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1641ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CXML_Element* GetRDF() const; 1642ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1643ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovprotected: 1644ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_LPVOID m_pData; 1645ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 1646ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_ViewerPreferences 1647ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1648ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 1649ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1650ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_ViewerPreferences(CPDF_Document *pDoc); 1651ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1652ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1653ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ~CPDF_ViewerPreferences(); 1654ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1655ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1656ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL IsDirectionR2L() const; 1657ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1658ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL PrintScaling() const; 1659ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1660ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1661ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovprotected: 1662ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Document* m_pDoc; 1663ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 1664ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPDF_ApSettings : public CFX_Object 1665ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 1666ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 1667ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1668ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_ApSettings(CPDF_Dictionary* pDict = NULL) 1669ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1670ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov m_pDict = pDict; 1671ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1672ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1673ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov operator CPDF_Dictionary* () const 1674ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1675ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return m_pDict; 1676ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1677ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1678ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL HasMKEntry(FX_BSTR csEntry); 1679ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1680ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1681ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1682ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int GetRotation(); 1683ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1684ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1685ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1686ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1687ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov inline FX_ARGB GetBorderColor(int& iColorType) 1688ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1689ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return GetColor(iColorType, FX_BSTRC("BC")); 1690ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1691ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1692ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov inline FX_FLOAT GetOriginalBorderColor(int index) 1693ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1694ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return GetOriginalColor(index, FX_BSTRC("BC")); 1695ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1696ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1697ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov inline void GetOriginalBorderColor(int& iColorType, FX_FLOAT fc[4]) 1698ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1699ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetOriginalColor(iColorType, fc, FX_BSTRC("BC")); 1700ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1701ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1702ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1703ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1704ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1705ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov inline FX_ARGB GetBackgroundColor(int& iColorType) 1706ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1707ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return GetColor(iColorType, FX_BSTRC("BG")); 1708ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1709ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1710ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov inline FX_FLOAT GetOriginalBackgroundColor(int index) 1711ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1712ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return GetOriginalColor(index, FX_BSTRC("BG")); 1713ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1714ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1715ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov inline void GetOriginalBackgroundColor(int& iColorType, FX_FLOAT fc[4]) 1716ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1717ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov GetOriginalColor(iColorType, fc, FX_BSTRC("BG")); 1718ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1719ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1720ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1721ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1722ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1723ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov inline CFX_WideString GetNormalCaption() 1724ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1725ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return GetCaption(FX_BSTRC("CA")); 1726ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1727ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1728ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1729ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1730ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1731ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov inline CFX_WideString GetRolloverCaption() 1732ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1733ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return GetCaption(FX_BSTRC("RC")); 1734ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1735ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1736ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1737ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1738ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1739ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov inline CFX_WideString GetDownCaption() 1740ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1741ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return GetCaption(FX_BSTRC("AC")); 1742ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1743ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1744ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1745ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1746ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1747ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov inline CPDF_Stream* GetNormalIcon() 1748ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1749ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return GetIcon(FX_BSTRC("I")); 1750ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1751ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1752ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1753ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1754ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1755ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov inline CPDF_Stream* GetRolloverIcon() 1756ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1757ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return GetIcon(FX_BSTRC("RI")); 1758ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1759ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1760ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1761ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1762ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1763ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov inline CPDF_Stream* GetDownIcon() 1764ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 1765ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov return GetIcon(FX_BSTRC("IX")); 1766ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } 1767ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1768ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1769ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1770ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1771ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_IconFit GetIconFit(); 1772ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1773ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1774ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1775ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1776ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov int GetTextPosition(); 1777ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1778ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Dictionary* m_pDict; 1779ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovprotected: 1780ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1781ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_ARGB GetColor(int& iColorType, FX_BSTR csEntry); 1782ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1783ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_FLOAT GetOriginalColor(int index, FX_BSTR csEntry); 1784ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1785ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void GetOriginalColor(int& iColorType, FX_FLOAT fc[4], FX_BSTR csEntry); 1786ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1787ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_WideString GetCaption(FX_BSTR csEntry); 1788ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 1789ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_Stream* GetIcon(FX_BSTR csEntry); 1790ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov friend class CPDF_FormControl; 1791ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 1792ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#endif 1793