blob: 57b3416bf905acd2b7c1332f31791f95a71ba90e [file] [log] [blame]
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -07001// 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.
Lei Zhanga6d9f0e2015-06-13 00:48:38 -07004
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -07005// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
Dan Sinclairf766ad22016-03-14 13:51:24 -04007#ifndef FPDFSDK_JAVASCRIPT_EVENT_H_
8#define FPDFSDK_JAVASCRIPT_EVENT_H_
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -07009
Dan Sinclairf766ad22016-03-14 13:51:24 -040010#include "fpdfsdk/javascript/JS_Define.h"
Tom Sepez9a3f8122015-04-07 15:35:48 -070011
Nico Weber9d8ec5a2015-08-04 13:00:21 -070012class event : public CJS_EmbedObj {
13 public:
14 event(CJS_Object* pJSObject);
Lei Zhang2b1a2d52015-08-14 22:16:22 -070015 ~event() override;
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -070016
Nico Weber9d8ec5a2015-08-04 13:00:21 -070017 public:
Tom Sepezba038bc2015-10-08 12:03:00 -070018 FX_BOOL change(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
19 FX_BOOL changeEx(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
20 FX_BOOL commitKey(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
21 FX_BOOL fieldFull(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
22 FX_BOOL keyDown(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
23 FX_BOOL modifier(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
24 FX_BOOL name(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
25 FX_BOOL rc(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
26 FX_BOOL richChange(IJS_Context* cc,
Nico Weber9d8ec5a2015-08-04 13:00:21 -070027 CJS_PropValue& vp,
28 CFX_WideString& sError);
Tom Sepezba038bc2015-10-08 12:03:00 -070029 FX_BOOL richChangeEx(IJS_Context* cc,
Nico Weber9d8ec5a2015-08-04 13:00:21 -070030 CJS_PropValue& vp,
31 CFX_WideString& sError);
Tom Sepezba038bc2015-10-08 12:03:00 -070032 FX_BOOL richValue(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
33 FX_BOOL selEnd(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
34 FX_BOOL selStart(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
35 FX_BOOL shift(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
36 FX_BOOL source(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
37 FX_BOOL target(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
38 FX_BOOL targetName(IJS_Context* cc,
Nico Weber9d8ec5a2015-08-04 13:00:21 -070039 CJS_PropValue& vp,
40 CFX_WideString& sError);
Tom Sepezba038bc2015-10-08 12:03:00 -070041 FX_BOOL type(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
42 FX_BOOL value(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
43 FX_BOOL willCommit(IJS_Context* cc,
Nico Weber9d8ec5a2015-08-04 13:00:21 -070044 CJS_PropValue& vp,
45 CFX_WideString& sError);
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -070046};
47
Nico Weber9d8ec5a2015-08-04 13:00:21 -070048class CJS_Event : public CJS_Object {
49 public:
Tom Sepez808a99e2015-09-10 12:28:37 -070050 CJS_Event(v8::Local<v8::Object> pObject) : CJS_Object(pObject) {}
Lei Zhang2b1a2d52015-08-14 22:16:22 -070051 ~CJS_Event() override {}
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -070052
Tom Sepezcd56a7d2015-10-06 11:45:28 -070053 DECLARE_JS_CLASS();
Nico Weber9d8ec5a2015-08-04 13:00:21 -070054 JS_STATIC_PROP(change, event);
55 JS_STATIC_PROP(changeEx, event);
56 JS_STATIC_PROP(commitKey, event);
57 JS_STATIC_PROP(fieldFull, event);
58 JS_STATIC_PROP(keyDown, event);
59 JS_STATIC_PROP(modifier, event);
60 JS_STATIC_PROP(name, event);
61 JS_STATIC_PROP(rc, event);
62 JS_STATIC_PROP(richChange, event);
63 JS_STATIC_PROP(richChangeEx, event);
64 JS_STATIC_PROP(richValue, event);
65 JS_STATIC_PROP(selEnd, event);
66 JS_STATIC_PROP(selStart, event);
67 JS_STATIC_PROP(shift, event);
68 JS_STATIC_PROP(source, event);
69 JS_STATIC_PROP(target, event);
70 JS_STATIC_PROP(targetName, event);
71 JS_STATIC_PROP(type, event);
72 JS_STATIC_PROP(value, event);
73 JS_STATIC_PROP(willCommit, event);
John Abd-El-Malek3f3b45c2014-05-23 17:28:10 -070074};
75
Dan Sinclairf766ad22016-03-14 13:51:24 -040076#endif // FPDFSDK_JAVASCRIPT_EVENT_H_