forked from noah-/d2bs
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJSControl.h
More file actions
66 lines (55 loc) · 3.23 KB
/
JSControl.h
File metadata and controls
66 lines (55 loc) · 3.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#pragma once
#include "Control.h"
#include "js32.h"
#include <windows.h>
#include "D2Ptrs.h"
CLASS_CTOR(control);
void control_finalize(JSFreeOp* fop, JSObject* obj);
JSAPI_FUNC(control_getNext);
JSAPI_FUNC(control_click);
JSAPI_FUNC(control_setText);
JSAPI_FUNC(control_getText);
JSAPI_PROP(control_getProperty);
JSAPI_STRICT_PROP(control_setProperty);
struct ControlData {
DWORD _dwPrivate;
Control* pControl;
DWORD dwType;
DWORD dwX;
DWORD dwY;
DWORD dwSizeX;
DWORD dwSizeY;
};
enum control_tinyid {
CONTROL_TEXT,
CONTROL_X,
CONTROL_Y,
CONTROL_XSIZE,
CONTROL_YSIZE,
CONTROL_STATE,
CONTROL_MAXLENGTH,
CONTROL_TYPE,
CONTROL_VISIBLE,
CONTROL_CURSORPOS,
CONTROL_SELECTSTART,
CONTROL_SELECTEND,
CONTROL_PASSWORD,
CONTROL_DISABLED
};
static JSPropertySpec control_props[] = {{"text", CONTROL_TEXT, JSPROP_STATIC_VAR, JSOP_WRAPPER(control_getProperty), JSOP_WRAPPER(control_setProperty)},
{"x", CONTROL_X, JSPROP_PERMANENT_VAR, JSOP_WRAPPER(control_getProperty), JSOP_NULLWRAPPER},
{"y", CONTROL_Y, JSPROP_PERMANENT_VAR, JSOP_WRAPPER(control_getProperty), JSOP_NULLWRAPPER},
{"xsize", CONTROL_XSIZE, JSPROP_PERMANENT_VAR, JSOP_WRAPPER(control_getProperty), JSOP_NULLWRAPPER},
{"ysize", CONTROL_YSIZE, JSPROP_PERMANENT_VAR, JSOP_WRAPPER(control_getProperty), JSOP_NULLWRAPPER},
{"state", CONTROL_STATE, JSPROP_STATIC_VAR, JSOP_WRAPPER(control_getProperty), JSOP_WRAPPER(control_setProperty)},
{"password", CONTROL_PASSWORD, JSPROP_PERMANENT_VAR, JSOP_WRAPPER(control_getProperty), JSOP_NULLWRAPPER},
// {"maxlength", CONTROL_MAXLENGTH, JSPROP_PERMANENT_VAR, control_getProperty},
{"type", CONTROL_TYPE, JSPROP_PERMANENT_VAR, JSOP_WRAPPER(control_getProperty), JSOP_NULLWRAPPER},
// {"visible", CONTROL_VISIBLE, JSPROP_PERMANENT_VAR, control_getProperty},
{"cursorpos", CONTROL_CURSORPOS, JSPROP_STATIC_VAR, JSOP_WRAPPER(control_getProperty), JSOP_WRAPPER(control_setProperty)},
{"selectstart", CONTROL_SELECTSTART, JSPROP_PERMANENT_VAR, JSOP_WRAPPER(control_getProperty), JSOP_NULLWRAPPER},
{"selectend", CONTROL_SELECTEND, JSPROP_PERMANENT_VAR, JSOP_WRAPPER(control_getProperty), JSOP_NULLWRAPPER},
{"disabled", CONTROL_DISABLED, JSPROP_PERMANENT_VAR, JSOP_WRAPPER(control_getProperty), JSOP_WRAPPER(control_setProperty)},
{0, 0, 0, JSOP_NULLWRAPPER, JSOP_NULLWRAPPER}};
static JSFunctionSpec control_funcs[] = {JS_FS("getNext", control_getNext, 0, FUNCTION_FLAGS), JS_FS("click", control_click, 0, FUNCTION_FLAGS),
JS_FS("setText", control_setText, 1, FUNCTION_FLAGS), JS_FS("getText", control_getText, 0, FUNCTION_FLAGS), JS_FS_END};