1 // Copyright 2014 PDFium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6 7 #ifndef FXJS_CJS_EVENT_H_ 8 #define FXJS_CJS_EVENT_H_ 9 10 #include "fxjs/cjs_object.h" 11 #include "fxjs/js_define.h" 12 13 class CJS_Event final : public CJS_Object { 14 public: 15 static int GetObjDefnID(); 16 static void DefineJSObjects(CFXJS_Engine* pEngine); 17 18 CJS_Event(v8::Local<v8::Object> pObject, CJS_Runtime* pRuntime); 19 ~CJS_Event() override; 20 21 JS_STATIC_PROP(change, change, CJS_Event) 22 JS_STATIC_PROP(changeEx, change_ex, CJS_Event) 23 JS_STATIC_PROP(commitKey, commit_key, CJS_Event) 24 JS_STATIC_PROP(fieldFull, field_full, CJS_Event) 25 JS_STATIC_PROP(keyDown, key_down, CJS_Event) 26 JS_STATIC_PROP(modifier, modifier, CJS_Event) 27 JS_STATIC_PROP(name, name, CJS_Event) 28 JS_STATIC_PROP(rc, rc, CJS_Event) 29 JS_STATIC_PROP(richChange, rich_change, CJS_Event) 30 JS_STATIC_PROP(richChangeEx, rich_change_ex, CJS_Event) 31 JS_STATIC_PROP(richValue, rich_value, CJS_Event) 32 JS_STATIC_PROP(selEnd, sel_end, CJS_Event) 33 JS_STATIC_PROP(selStart, sel_start, CJS_Event) 34 JS_STATIC_PROP(shift, shift, CJS_Event) 35 JS_STATIC_PROP(source, source, CJS_Event) 36 JS_STATIC_PROP(target, target, CJS_Event) 37 JS_STATIC_PROP(targetName, target_name, CJS_Event) 38 JS_STATIC_PROP(type, type, CJS_Event) 39 JS_STATIC_PROP(value, value, CJS_Event) 40 JS_STATIC_PROP(willCommit, will_commit, CJS_Event) 41 42 private: 43 static int ObjDefnID; 44 static const char kName[]; 45 static const JSPropertySpec PropertySpecs[]; 46 47 CJS_Result get_change(CJS_Runtime* pRuntime); 48 CJS_Result set_change(CJS_Runtime* pRuntime, v8::Local<v8::Value> vp); 49 50 CJS_Result get_change_ex(CJS_Runtime* pRuntime); 51 CJS_Result set_change_ex(CJS_Runtime* pRuntime, v8::Local<v8::Value> vp); 52 53 CJS_Result get_commit_key(CJS_Runtime* pRuntime); 54 CJS_Result set_commit_key(CJS_Runtime* pRuntime, v8::Local<v8::Value> vp); 55 56 CJS_Result get_field_full(CJS_Runtime* pRuntime); 57 CJS_Result set_field_full(CJS_Runtime* pRuntime, v8::Local<v8::Value> vp); 58 59 CJS_Result get_key_down(CJS_Runtime* pRuntime); 60 CJS_Result set_key_down(CJS_Runtime* pRuntime, v8::Local<v8::Value> vp); 61 62 CJS_Result get_modifier(CJS_Runtime* pRuntime); 63 CJS_Result set_modifier(CJS_Runtime* pRuntime, v8::Local<v8::Value> vp); 64 65 CJS_Result get_name(CJS_Runtime* pRuntime); 66 CJS_Result set_name(CJS_Runtime* pRuntime, v8::Local<v8::Value> vp); 67 68 CJS_Result get_rc(CJS_Runtime* pRuntime); 69 CJS_Result set_rc(CJS_Runtime* pRuntime, v8::Local<v8::Value> vp); 70 71 CJS_Result get_rich_change(CJS_Runtime* pRuntime); 72 CJS_Result set_rich_change(CJS_Runtime* pRuntime, v8::Local<v8::Value> vp); 73 74 CJS_Result get_rich_change_ex(CJS_Runtime* pRuntime); 75 CJS_Result set_rich_change_ex(CJS_Runtime* pRuntime, v8::Local<v8::Value> vp); 76 77 CJS_Result get_rich_value(CJS_Runtime* pRuntime); 78 CJS_Result set_rich_value(CJS_Runtime* pRuntime, v8::Local<v8::Value> vp); 79 80 CJS_Result get_sel_end(CJS_Runtime* pRuntime); 81 CJS_Result set_sel_end(CJS_Runtime* pRuntime, v8::Local<v8::Value> vp); 82 83 CJS_Result get_sel_start(CJS_Runtime* pRuntime); 84 CJS_Result set_sel_start(CJS_Runtime* pRuntime, v8::Local<v8::Value> vp); 85 86 CJS_Result get_shift(CJS_Runtime* pRuntime); 87 CJS_Result set_shift(CJS_Runtime* pRuntime, v8::Local<v8::Value> vp); 88 89 CJS_Result get_source(CJS_Runtime* pRuntime); 90 CJS_Result set_source(CJS_Runtime* pRuntime, v8::Local<v8::Value> vp); 91 92 CJS_Result get_target(CJS_Runtime* pRuntime); 93 CJS_Result set_target(CJS_Runtime* pRuntime, v8::Local<v8::Value> vp); 94 95 CJS_Result get_target_name(CJS_Runtime* pRuntime); 96 CJS_Result set_target_name(CJS_Runtime* pRuntime, v8::Local<v8::Value> vp); 97 98 CJS_Result get_type(CJS_Runtime* pRuntime); 99 CJS_Result set_type(CJS_Runtime* pRuntime, v8::Local<v8::Value> vp); 100 101 CJS_Result get_value(CJS_Runtime* pRuntime); 102 CJS_Result set_value(CJS_Runtime* pRuntime, v8::Local<v8::Value> vp); 103 104 CJS_Result get_will_commit(CJS_Runtime* pRuntime); 105 CJS_Result set_will_commit(CJS_Runtime* pRuntime, v8::Local<v8::Value> vp); 106 }; 107 108 #endif // FXJS_CJS_EVENT_H_ 109