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 FXJSAPI_H | 7 #ifndef FXJSAPI_H |
8 #define FXJSAPI_H | 8 #define FXJSAPI_H |
9 | 9 |
10 #include <v8.h> | 10 #include <v8.h> |
11 | 11 |
12 enum FXJSOBJTYPE | 12 enum FXJSOBJTYPE |
13 { | 13 { |
14 JS_DYNAMIC = 0, | 14 JS_DYNAMIC = 0, |
15 JS_STATIC = 1, | 15 JS_STATIC = 1, |
16 }; | 16 }; |
17 | 17 |
18 enum FXJSVALUETYPE | 18 enum FXJSVALUETYPE |
19 { | 19 { |
20 VT_unknown, | 20 VT_unknown, |
21 VT_string, | 21 VT_string, |
22 VT_number, | 22 VT_number, |
23 VT_boolean, | 23 VT_boolean, |
24 VT_date, | 24 VT_date, |
25 VT_object, | 25 VT_object, |
26 VT_fxobject, | 26 VT_fxobject, |
27 VT_null, | 27 VT_null, |
28 VT_undefined | 28 VT_undefined |
29 }; | 29 }; |
30 | 30 |
31 struct FXJSErr | 31 struct FXJSErr |
32 { | 32 { |
33 » const wchar_t* message;» | 33 » const wchar_t* message; |
34 const wchar_t* srcline;» | 34 const wchar_t* srcline; |
35 unsigned linnum; | 35 unsigned linnum; |
36 }; | 36 }; |
37 | 37 |
38 /* --------------------------------------------- API ---------------------------
------------------ */ | 38 /* --------------------------------------------- API ---------------------------
------------------ */ |
39 | 39 |
40 typedef v8::Isolate IJS_Runtime; | 40 typedef v8::Isolate IJS_Runtime; |
41 class IFXJS_Context; | 41 class IFXJS_Context; |
42 class IFXJS_Runtime; | 42 class IFXJS_Runtime; |
43 | 43 |
| 44 typedef unsigned (*LP_CONSTRUCTOR)(IFXJS_Context* cc, v8::Handle<v8::Object> obj
, v8::Handle<v8::Object> global); |
| 45 typedef unsigned (*LP_DESTRUCTOR)(v8::Handle<v8::Object> obj); |
44 | 46 |
45 #ifndef JSCRIPT_ARGS | |
46 #define JSCRIPT_ARGS | |
47 | |
48 #define JS_CONSTRUCTOR_ARGS IFXJS_Context* cc, v8::Handle<v8::Object
> obj, v8::Handle<v8::Object> global | |
49 #define JS_DESTRUCTOR_ARGS v8::Handle<v8::Object> obj | |
50 | |
51 #define JS_PROPQUERY_ARGS v8::Local<v8::String> property,const v8:
:PropertyCallbackInfo<v8::Integer>& info | |
52 #define JS_NAMED_PROPGET_ARGS v8::Local<v8::String> property, const v8
::PropertyCallbackInfo<v8::Value>& info | |
53 | |
54 #define JS_NAMED_PROPPUT_ARGS v8::Local<v8::String> property,v8::Local<v8::Val
ue> value,const v8::PropertyCallbackInfo<v8::Value>& info | |
55 #define JS_PROPDEL_ARGS v8::Local<v8::String> property,const v8:
:PropertyCallbackInfo<v8::Boolean>& info | |
56 | |
57 typedef unsigned (*LP_CONSTRUCTOR)(JS_CONSTRUCTOR_ARGS); | |
58 typedef unsigned (*LP_DESTRUCTOR)(JS_DESTRUCTOR_ARGS); | |
59 | |
60 #endif | |
61 | 47 |
62 int JS_DefineObj(IJS
_Runtime* pJSRuntime, const wchar_t* sObjName, FXJSOBJTYPE eObjType, LP_CONSTRUC
TOR pConstructor, LP_DESTRUCTOR pDestructor, unsigned bApplyNew); | 48 int JS_DefineObj(IJS
_Runtime* pJSRuntime, const wchar_t* sObjName, FXJSOBJTYPE eObjType, LP_CONSTRUC
TOR pConstructor, LP_DESTRUCTOR pDestructor, unsigned bApplyNew); |
63 int JS_DefineObjMeth
od(IJS_Runtime* pJSRuntime, int nObjDefnID, const wchar_t* sMethodName, v8::Func
tionCallback pMethodCall, unsigned nParamNum); | 49 int JS_DefineObjMeth
od(IJS_Runtime* pJSRuntime, int nObjDefnID, const wchar_t* sMethodName, v8::Func
tionCallback pMethodCall, unsigned nParamNum); |
64 int JS_DefineObjProp
erty(IJS_Runtime* pJSRuntime, int nObjDefnID, const wchar_t* sPropName, v8::Acce
ssorGetterCallback pPropGet, v8::AccessorSetterCallback pPropPut); | 50 int JS_DefineObjProp
erty(IJS_Runtime* pJSRuntime, int nObjDefnID, const wchar_t* sPropName, v8::Acce
ssorGetterCallback pPropGet, v8::AccessorSetterCallback pPropPut); |
65 int JS_DefineObjAllP
roperties(IJS_Runtime* pJSRuntime, int nObjDefnID, v8::NamedPropertyQueryCallbac
k pPropQurey, v8::NamedPropertyGetterCallback pPropGet, v8::NamedPropertySetterC
allback pPropPut, v8::NamedPropertyDeleterCallback pPropDel); | 51 int JS_DefineObjAllP
roperties(IJS_Runtime* pJSRuntime, int nObjDefnID, v8::NamedPropertyQueryCallbac
k pPropQurey, v8::NamedPropertyGetterCallback pPropGet, v8::NamedPropertySetterC
allback pPropPut, v8::NamedPropertyDeleterCallback pPropDel); |
66 int JS_DefineObjCons
t(IJS_Runtime* pJSRuntime, int nObjDefnID, const wchar_t* sConstName, v8::Handle
<v8::Value> pDefault); | 52 int JS_DefineObjCons
t(IJS_Runtime* pJSRuntime, int nObjDefnID, const wchar_t* sConstName, v8::Handle
<v8::Value> pDefault); |
67 int JS_DefineGlobalM
ethod(IJS_Runtime* pJSRuntime, const wchar_t* sMethodName, v8::FunctionCallback
pMethodCall, unsigned nParamNum); | 53 int JS_DefineGlobalM
ethod(IJS_Runtime* pJSRuntime, const wchar_t* sMethodName, v8::FunctionCallback
pMethodCall, unsigned nParamNum); |
68 int JS_DefineGlobalC
onst(IJS_Runtime* pJSRuntime, const wchar_t* sConstName, v8::Handle<v8::Value> p
Default); | 54 int JS_DefineGlobalC
onst(IJS_Runtime* pJSRuntime, const wchar_t* sConstName, v8::Handle<v8::Value> p
Default); |
69 | 55 |
70 void JS_InitialRuntime(IJS_Ru
ntime* pJSRuntime,IFXJS_Runtime* pFXRuntime, IFXJS_Context* context, v8::Persist
ent<v8::Context>& v8PersistentContext); | 56 void JS_InitialRuntime(IJS_Ru
ntime* pJSRuntime,IFXJS_Runtime* pFXRuntime, IFXJS_Context* context, v8::Persist
ent<v8::Context>& v8PersistentContext); |
71 void JS_ReleaseRuntime(IJS_Ru
ntime* pJSRuntime, v8::Persistent<v8::Context>& v8PersistentContext); | 57 void JS_ReleaseRuntime(IJS_Ru
ntime* pJSRuntime, v8::Persistent<v8::Context>& v8PersistentContext); |
72 void» » » » » » » JS_Initial(); | 58 void» » » » » » » JS_Initial(); |
73 void JS_Release(); | 59 void JS_Release(); |
74 int JS_Parse(IJS_Run
time* pJSRuntime, IFXJS_Context* pJSContext, const wchar_t* script, long length,
FXJSErr* perror); | 60 int JS_Parse(IJS_Run
time* pJSRuntime, IFXJS_Context* pJSContext, const wchar_t* script, long length,
FXJSErr* perror); |
75 int JS_Execute(IJS_R
untime* pJSRuntime, IFXJS_Context* pJSContext, const wchar_t* script, long lengt
h, FXJSErr* perror); | 61 int JS_Execute(IJS_R
untime* pJSRuntime, IFXJS_Context* pJSContext, const wchar_t* script, long lengt
h, FXJSErr* perror); |
76 v8::Handle<v8::Object> JS_NewFxDynamicObj(IJS_Runtime* pJSRunti
me, IFXJS_Context* pJSContext, int nObjDefnID); | 62 v8::Handle<v8::Object> JS_NewFxDynamicObj(IJS_Runtime* pJSRunti
me, IFXJS_Context* pJSContext, int nObjDefnID); |
77 v8::Handle<v8::Object> JS_GetStaticObj(IJS_Runtime* pJSRuntime,
int nObjDefnID); | 63 v8::Handle<v8::Object> JS_GetStaticObj(IJS_Runtime* pJSRuntime,
int nObjDefnID); |
78 void JS_SetThisObj(IJS_Runtim
e* pJSRuntime, int nThisObjID); | 64 void JS_SetThisObj(IJS_Runtim
e* pJSRuntime, int nThisObjID); |
79 v8::Handle<v8::Object> JS_GetThisObj(IJS_Runtime * pJSRuntime); | 65 v8::Handle<v8::Object> JS_GetThisObj(IJS_Runtime * pJSRuntime); |
80 int JS_GetObjDefnID(
v8::Handle<v8::Object> pObj); | 66 int JS_GetObjDefnID(
v8::Handle<v8::Object> pObj); |
81 IJS_Runtime* JS_GetRuntime(v8::Handle<v8::Obj
ect> pObj); | 67 IJS_Runtime* JS_GetRuntime(v8::Handle<v8::Obj
ect> pObj); |
82 int JS_GetObjDefnID(
IJS_Runtime * pJSRuntime, const wchar_t* pObjName); | 68 int JS_GetObjDefnID(
IJS_Runtime * pJSRuntime, const wchar_t* pObjName); |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
136 int JS_GetMinFromTim
e(double dt); | 122 int JS_GetMinFromTim
e(double dt); |
137 int JS_GetSecFromTim
e(double dt); | 123 int JS_GetSecFromTim
e(double dt); |
138 double JS_DateParse(const wchar
_t* string); | 124 double JS_DateParse(const wchar
_t* string); |
139 double JS_MakeDay(int nYear, in
t nMonth, int nDay); | 125 double JS_MakeDay(int nYear, in
t nMonth, int nDay); |
140 double JS_MakeTime(int nHour, i
nt nMin, int nSec, int nMs); | 126 double JS_MakeTime(int nHour, i
nt nMin, int nSec, int nMs); |
141 double JS_MakeDate(double day,
double time); | 127 double JS_MakeDate(double day,
double time); |
142 bool JS_PortIsNan(double d); | 128 bool JS_PortIsNan(double d); |
143 double JS_LocalTime(double d); | 129 double JS_LocalTime(double d); |
144 | 130 |
145 #endif //FXJSAPI_H | 131 #endif //FXJSAPI_H |
OLD | NEW |