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 _EVENT_H_
8ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define _EVENT_H_
9ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
10ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass event : public CJS_EmbedObj
11ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{
12ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic:
13ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	event(CJS_Object * pJSObject);
14ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	virtual ~event(void);
15ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
16ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic:
17ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	FX_BOOL change(OBJ_PROP_PARAMS);
18ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	FX_BOOL changeEx(OBJ_PROP_PARAMS);
19ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	FX_BOOL commitKey(OBJ_PROP_PARAMS);
20ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	FX_BOOL fieldFull(OBJ_PROP_PARAMS);
21ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	FX_BOOL keyDown(OBJ_PROP_PARAMS);
22ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	FX_BOOL modifier(OBJ_PROP_PARAMS);
23ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	FX_BOOL name(OBJ_PROP_PARAMS);
24ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	FX_BOOL rc(OBJ_PROP_PARAMS);
25ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	FX_BOOL richChange(OBJ_PROP_PARAMS);
26ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	FX_BOOL richChangeEx(OBJ_PROP_PARAMS);
27ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	FX_BOOL richValue(OBJ_PROP_PARAMS);
28ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	FX_BOOL selEnd(OBJ_PROP_PARAMS);
29ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	FX_BOOL selStart(OBJ_PROP_PARAMS);
30ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	FX_BOOL shift(OBJ_PROP_PARAMS);
31ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	FX_BOOL source(OBJ_PROP_PARAMS);
32ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	FX_BOOL target(OBJ_PROP_PARAMS);
33ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	FX_BOOL targetName(OBJ_PROP_PARAMS);
34ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	FX_BOOL type(OBJ_PROP_PARAMS);
35ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	FX_BOOL value(OBJ_PROP_PARAMS);
36ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	FX_BOOL willCommit(OBJ_PROP_PARAMS);
37ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
38ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov};
39ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
40ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CJS_Event : public CJS_Object
41ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{
42ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic:
43ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	CJS_Event(JSFXObject  pObject) : CJS_Object(pObject) {};
44ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	virtual ~CJS_Event(void){};
45ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
46ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	DECLARE_JS_CLASS(CJS_Event);
47ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
48ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	JS_STATIC_PROP(change, event);
49ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	JS_STATIC_PROP(changeEx, event);
50ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	JS_STATIC_PROP(commitKey, event);
51ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	JS_STATIC_PROP(fieldFull, event);
52ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	JS_STATIC_PROP(keyDown, event);
53ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	JS_STATIC_PROP(modifier, event);
54ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	JS_STATIC_PROP(name, event);
55ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	JS_STATIC_PROP(rc, event);
56ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	JS_STATIC_PROP(richChange, event);
57ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	JS_STATIC_PROP(richChangeEx, event);
58ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	JS_STATIC_PROP(richValue, event);
59ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	JS_STATIC_PROP(selEnd, event);
60ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	JS_STATIC_PROP(selStart, event);
61ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	JS_STATIC_PROP(shift, event);
62ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	JS_STATIC_PROP(source, event);
63ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	JS_STATIC_PROP(target, event);
64ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	JS_STATIC_PROP(targetName, event);
65ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	JS_STATIC_PROP(type, event);
66ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	JS_STATIC_PROP(value, event);
67ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	JS_STATIC_PROP(willCommit, event);
68ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov};
69ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
70ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#endif //_EVENT_H_
71