OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #ifndef FPDFSDK_INCLUDE_JAVASCRIPT_IJAVASCRIPT_H_ | 7 #ifndef FPDFSDK_INCLUDE_JAVASCRIPT_IJAVASCRIPT_H_ |
8 #define FPDFSDK_INCLUDE_JAVASCRIPT_IJAVASCRIPT_H_ | 8 #define FPDFSDK_INCLUDE_JAVASCRIPT_IJAVASCRIPT_H_ |
9 | 9 |
10 #include "../../../core/include/fxcrt/fx_string.h" | 10 #include "../../../core/include/fxcrt/fx_string.h" |
11 #include "../../../core/include/fxcrt/fx_system.h" | 11 #include "../../../core/include/fxcrt/fx_system.h" |
12 | 12 |
13 class CPDF_Bookmark; | 13 class CPDF_Bookmark; |
14 class CPDF_FormField; | 14 class CPDF_FormField; |
15 class CPDFSDK_Annot; | 15 class CPDFSDK_Annot; |
16 class CPDFSDK_Document; | 16 class CPDFSDK_Document; |
17 | 17 |
18 class IFXJS_Context | 18 class IFXJS_Context { |
19 { | 19 public: |
20 public: | 20 virtual ~IFXJS_Context() {} |
21 virtual ~IFXJS_Context() { } | 21 virtual FX_BOOL Compile(const CFX_WideString& script, |
22 » virtual FX_BOOL»» » » Compile(const CFX_WideString& sc
ript, CFX_WideString& info) = 0; | 22 CFX_WideString& info) = 0; |
23 » virtual FX_BOOL»» » » RunScript(const CFX_WideString&
script, CFX_WideString& info) = 0; | 23 virtual FX_BOOL RunScript(const CFX_WideString& script, |
| 24 CFX_WideString& info) = 0; |
24 | 25 |
25 » virtual void» » » » OnApp_Init() = 0; | 26 virtual void OnApp_Init() = 0; |
26 | 27 |
27 » virtual void» » » » OnDoc_Open(CPDFSDK_Document* pDo
c, const CFX_WideString& strTargetName) = 0; | 28 virtual void OnDoc_Open(CPDFSDK_Document* pDoc, |
28 » virtual void» » » » OnDoc_WillPrint(CPDFSDK_Document
* pDoc) = 0; | 29 const CFX_WideString& strTargetName) = 0; |
29 » virtual void» » » » OnDoc_DidPrint(CPDFSDK_Document*
pDoc) = 0; | 30 virtual void OnDoc_WillPrint(CPDFSDK_Document* pDoc) = 0; |
30 » virtual void» » » » OnDoc_WillSave(CPDFSDK_Document*
pDoc) = 0; | 31 virtual void OnDoc_DidPrint(CPDFSDK_Document* pDoc) = 0; |
31 » virtual void» » » » OnDoc_DidSave(CPDFSDK_Document*
pDoc) = 0; | 32 virtual void OnDoc_WillSave(CPDFSDK_Document* pDoc) = 0; |
32 » virtual void» » » » OnDoc_WillClose(CPDFSDK_Document
* pDoc) = 0; | 33 virtual void OnDoc_DidSave(CPDFSDK_Document* pDoc) = 0; |
| 34 virtual void OnDoc_WillClose(CPDFSDK_Document* pDoc) = 0; |
33 | 35 |
34 » virtual void» » » » OnPage_Open(CPDFSDK_Document* pT
arget) = 0; | 36 virtual void OnPage_Open(CPDFSDK_Document* pTarget) = 0; |
35 » virtual void» » » » OnPage_Close(CPDFSDK_Document* p
Target) = 0; | 37 virtual void OnPage_Close(CPDFSDK_Document* pTarget) = 0; |
36 » virtual void» » » » OnPage_InView(CPDFSDK_Document*
pTarget) = 0; | 38 virtual void OnPage_InView(CPDFSDK_Document* pTarget) = 0; |
37 » virtual void» » » » OnPage_OutView(CPDFSDK_Document*
pTarget) = 0; | 39 virtual void OnPage_OutView(CPDFSDK_Document* pTarget) = 0; |
38 | 40 |
39 » virtual void» » » » OnField_MouseDown(FX_BOOL bModif
ier, FX_BOOL bShift, CPDF_FormField* pTarget) = 0; | 41 virtual void OnField_MouseDown(FX_BOOL bModifier, |
40 » virtual void» » » » OnField_MouseEnter(FX_BOOL bModi
fier, FX_BOOL bShift, CPDF_FormField* pTarget) = 0; | 42 FX_BOOL bShift, |
41 » virtual void» » » » OnField_MouseExit(FX_BOOL bModif
ier, FX_BOOL bShift, CPDF_FormField* pTarget) = 0; | 43 CPDF_FormField* pTarget) = 0; |
42 » virtual void» » » » OnField_MouseUp(FX_BOOL bModifie
r, FX_BOOL bShift, CPDF_FormField* pTarget) = 0; | 44 virtual void OnField_MouseEnter(FX_BOOL bModifier, |
43 » virtual void» » » » OnField_Focus(FX_BOOL bModifier,
FX_BOOL bShift, CPDF_FormField* pTarget, const CFX_WideString& Value) = 0; | 45 FX_BOOL bShift, |
44 » virtual void» » » » OnField_Blur(FX_BOOL bModifier,
FX_BOOL bShift, CPDF_FormField* pTarget, const CFX_WideString& Value) = 0; | 46 CPDF_FormField* pTarget) = 0; |
| 47 virtual void OnField_MouseExit(FX_BOOL bModifier, |
| 48 FX_BOOL bShift, |
| 49 CPDF_FormField* pTarget) = 0; |
| 50 virtual void OnField_MouseUp(FX_BOOL bModifier, |
| 51 FX_BOOL bShift, |
| 52 CPDF_FormField* pTarget) = 0; |
| 53 virtual void OnField_Focus(FX_BOOL bModifier, |
| 54 FX_BOOL bShift, |
| 55 CPDF_FormField* pTarget, |
| 56 const CFX_WideString& Value) = 0; |
| 57 virtual void OnField_Blur(FX_BOOL bModifier, |
| 58 FX_BOOL bShift, |
| 59 CPDF_FormField* pTarget, |
| 60 const CFX_WideString& Value) = 0; |
45 | 61 |
46 » virtual void» » » » OnField_Calculate(CPDF_FormField
* pSource, CPDF_FormField* pTarget, CFX_WideString& Value, FX_BOOL& bRc) = 0; | 62 virtual void OnField_Calculate(CPDF_FormField* pSource, |
47 » virtual void» » » » OnField_Format(CPDF_FormField* p
Target, CFX_WideString& Value, FX_BOOL bWillCommit) = 0; | 63 CPDF_FormField* pTarget, |
48 » virtual void» » » » OnField_Keystroke(CFX_WideString
& strChange, const CFX_WideString& strChangeEx, | 64 CFX_WideString& Value, |
49 » » » » » » » » » FX_BOOL
KeyDown, FX_BOOL bModifier, int &nSelEnd,int &nSelStart, FX_BOOL bShift, | 65 FX_BOOL& bRc) = 0; |
50 » » » » » » » » » CPDF_For
mField* pTarget, CFX_WideString& Value, FX_BOOL bWillCommit, | 66 virtual void OnField_Format(CPDF_FormField* pTarget, |
51 » » » » » » » » » FX_BOOL
bFieldFull, FX_BOOL &bRc) = 0; | 67 CFX_WideString& Value, |
52 » virtual void» » » » OnField_Validate(CFX_WideString&
strChange, const CFX_WideString& strChangeEx, FX_BOOL bKeyDown, | 68 FX_BOOL bWillCommit) = 0; |
53 » » » » » » » » » FX_BOOL
bModifier, FX_BOOL bShift, CPDF_FormField* pTarget, CFX_WideString& Value, FX_BO
OL& bRc) = 0; | 69 virtual void OnField_Keystroke(CFX_WideString& strChange, |
| 70 const CFX_WideString& strChangeEx, |
| 71 FX_BOOL KeyDown, |
| 72 FX_BOOL bModifier, |
| 73 int& nSelEnd, |
| 74 int& nSelStart, |
| 75 FX_BOOL bShift, |
| 76 CPDF_FormField* pTarget, |
| 77 CFX_WideString& Value, |
| 78 FX_BOOL bWillCommit, |
| 79 FX_BOOL bFieldFull, |
| 80 FX_BOOL& bRc) = 0; |
| 81 virtual void OnField_Validate(CFX_WideString& strChange, |
| 82 const CFX_WideString& strChangeEx, |
| 83 FX_BOOL bKeyDown, |
| 84 FX_BOOL bModifier, |
| 85 FX_BOOL bShift, |
| 86 CPDF_FormField* pTarget, |
| 87 CFX_WideString& Value, |
| 88 FX_BOOL& bRc) = 0; |
54 | 89 |
55 » virtual void» » » » OnScreen_Focus(FX_BOOL bModifier
, FX_BOOL bShift, CPDFSDK_Annot* pScreen) = 0; | 90 virtual void OnScreen_Focus(FX_BOOL bModifier, |
56 » virtual void» » » » OnScreen_Blur(FX_BOOL bModifier,
FX_BOOL bShift, CPDFSDK_Annot* pScreen) = 0; | 91 FX_BOOL bShift, |
57 » virtual void» » » » OnScreen_Open(FX_BOOL bModifier,
FX_BOOL bShift, CPDFSDK_Annot* pScreen) = 0; | 92 CPDFSDK_Annot* pScreen) = 0; |
58 » virtual void» » » » OnScreen_Close(FX_BOOL bModifier
, FX_BOOL bShift, CPDFSDK_Annot* pScreen) = 0; | 93 virtual void OnScreen_Blur(FX_BOOL bModifier, |
59 » virtual void» » » » OnScreen_MouseDown(FX_BOOL bModi
fier, FX_BOOL bShift, CPDFSDK_Annot* pScreen) = 0; | 94 FX_BOOL bShift, |
60 » virtual void» » » » OnScreen_MouseUp(FX_BOOL bModifi
er, FX_BOOL bShift, CPDFSDK_Annot* pScreen) = 0; | 95 CPDFSDK_Annot* pScreen) = 0; |
61 » virtual void» » » » OnScreen_MouseEnter(FX_BOOL bMod
ifier, FX_BOOL bShift, CPDFSDK_Annot* pScreen) = 0; | 96 virtual void OnScreen_Open(FX_BOOL bModifier, |
62 » virtual void» » » » OnScreen_MouseExit(FX_BOOL bModi
fier, FX_BOOL bShift, CPDFSDK_Annot* pScreen) = 0; | 97 FX_BOOL bShift, |
63 » virtual void» » » » OnScreen_InView(FX_BOOL bModifie
r, FX_BOOL bShift, CPDFSDK_Annot* pScreen) = 0; | 98 CPDFSDK_Annot* pScreen) = 0; |
64 » virtual void» » » » OnScreen_OutView(FX_BOOL bModifi
er, FX_BOOL bShift, CPDFSDK_Annot* pScreen) = 0; | 99 virtual void OnScreen_Close(FX_BOOL bModifier, |
| 100 FX_BOOL bShift, |
| 101 CPDFSDK_Annot* pScreen) = 0; |
| 102 virtual void OnScreen_MouseDown(FX_BOOL bModifier, |
| 103 FX_BOOL bShift, |
| 104 CPDFSDK_Annot* pScreen) = 0; |
| 105 virtual void OnScreen_MouseUp(FX_BOOL bModifier, |
| 106 FX_BOOL bShift, |
| 107 CPDFSDK_Annot* pScreen) = 0; |
| 108 virtual void OnScreen_MouseEnter(FX_BOOL bModifier, |
| 109 FX_BOOL bShift, |
| 110 CPDFSDK_Annot* pScreen) = 0; |
| 111 virtual void OnScreen_MouseExit(FX_BOOL bModifier, |
| 112 FX_BOOL bShift, |
| 113 CPDFSDK_Annot* pScreen) = 0; |
| 114 virtual void OnScreen_InView(FX_BOOL bModifier, |
| 115 FX_BOOL bShift, |
| 116 CPDFSDK_Annot* pScreen) = 0; |
| 117 virtual void OnScreen_OutView(FX_BOOL bModifier, |
| 118 FX_BOOL bShift, |
| 119 CPDFSDK_Annot* pScreen) = 0; |
65 | 120 |
66 » virtual void» » » » OnBookmark_MouseUp(CPDF_Bookmark
* pBookMark) = 0; | 121 virtual void OnBookmark_MouseUp(CPDF_Bookmark* pBookMark) = 0; |
67 » virtual void» » » » OnLink_MouseUp(CPDFSDK_Document*
pTarget) = 0; | 122 virtual void OnLink_MouseUp(CPDFSDK_Document* pTarget) = 0; |
68 | 123 |
69 » virtual void» » » » OnMenu_Exec(CPDFSDK_Document* pT
arget, const CFX_WideString &) = 0; | 124 virtual void OnMenu_Exec(CPDFSDK_Document* pTarget, |
70 » virtual void» » » » OnBatchExec(CPDFSDK_Document* pT
arget) = 0; | 125 const CFX_WideString&) = 0; |
71 » virtual void» » » » OnConsole_Exec() = 0; | 126 virtual void OnBatchExec(CPDFSDK_Document* pTarget) = 0; |
72 » virtual void» » » » OnExternal_Exec() = 0; | 127 virtual void OnConsole_Exec() = 0; |
| 128 virtual void OnExternal_Exec() = 0; |
73 | 129 |
74 » virtual void» » » » EnableMessageBox(FX_BOOL bEnable
) = 0; | 130 virtual void EnableMessageBox(FX_BOOL bEnable) = 0; |
75 }; | 131 }; |
76 | 132 |
77 class IFXJS_Runtime | 133 class IFXJS_Runtime { |
78 { | 134 public: |
79 public: | 135 virtual IFXJS_Context* NewContext() = 0; |
80 » virtual IFXJS_Context*» » NewContext() = 0; | 136 virtual void ReleaseContext(IFXJS_Context* pContext) = 0; |
81 » virtual void» » » » ReleaseContext(IFXJS_Context * p
Context) = 0; | 137 virtual IFXJS_Context* GetCurrentContext() = 0; |
82 » virtual IFXJS_Context*» » GetCurrentContext() = 0; | |
83 | 138 |
84 » virtual void» » » » SetReaderDocument(CPDFSDK_Docume
nt* pReaderDoc) = 0; | 139 virtual void SetReaderDocument(CPDFSDK_Document* pReaderDoc) = 0; |
85 » virtual»CPDFSDK_Document*» GetReaderDocument() = 0; | 140 virtual CPDFSDK_Document* GetReaderDocument() = 0; |
86 | 141 |
87 protected: | 142 protected: |
88 ~IFXJS_Runtime() { } | 143 ~IFXJS_Runtime() {} |
89 }; | 144 }; |
90 | 145 |
91 class CPDFDoc_Environment; | 146 class CPDFDoc_Environment; |
92 class CJS_GlobalData; | 147 class CJS_GlobalData; |
93 | 148 |
94 class CJS_RuntimeFactory | 149 class CJS_RuntimeFactory { |
95 { | 150 public: |
96 public: | 151 CJS_RuntimeFactory() |
97 » CJS_RuntimeFactory():m_bInit(FALSE),m_nRef(0),m_pGlobalData(NULL),m_nGlo
balDataCount(0) {} | 152 : m_bInit(FALSE), m_nRef(0), m_pGlobalData(NULL), m_nGlobalDataCount(0) {} |
98 » ~CJS_RuntimeFactory(); | 153 ~CJS_RuntimeFactory(); |
99 » IFXJS_Runtime*» » » » » NewJSRuntime(CPDFDoc_Env
ironment* pApp); | 154 IFXJS_Runtime* NewJSRuntime(CPDFDoc_Environment* pApp); |
100 » void» » » » » » » DeleteJSRuntime(
IFXJS_Runtime* pRuntime); | 155 void DeleteJSRuntime(IFXJS_Runtime* pRuntime); |
101 » void» » » » » » » AddRef(); | 156 void AddRef(); |
102 » void» » » » » » » Release(); | 157 void Release(); |
103 | 158 |
104 » CJS_GlobalData*»» » » » NewGlobalData(CPDFDoc_En
vironment* pApp); | 159 CJS_GlobalData* NewGlobalData(CPDFDoc_Environment* pApp); |
105 » void» » » » » » » ReleaseGlobalDat
a(); | 160 void ReleaseGlobalData(); |
106 private: | 161 |
107 » FX_BOOL m_bInit; | 162 private: |
108 » int m_nRef; | 163 FX_BOOL m_bInit; |
109 » CJS_GlobalData*»» » » » m_pGlobalData; | 164 int m_nRef; |
110 » int32_t»» » » » » m_nGlobalDataCount; | 165 CJS_GlobalData* m_pGlobalData; |
| 166 int32_t m_nGlobalDataCount; |
111 }; | 167 }; |
112 | 168 |
113 #endif // FPDFSDK_INCLUDE_JAVASCRIPT_IJAVASCRIPT_H_ | 169 #endif // FPDFSDK_INCLUDE_JAVASCRIPT_IJAVASCRIPT_H_ |
OLD | NEW |