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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
// --- UIActionSimulator Functions ---
/**
* Creates a new UIActionSimulator.
* @return Pointer to the new UIActionSimulator, or NULL on failure.
*/
WXD_EXPORTED wxd_UIActionSimulator_t*
;
/**
* Destroys a UIActionSimulator.
* @param sim Pointer to the UIActionSimulator to destroy.
*/
WXD_EXPORTED void
;
// --- Mouse Simulation ---
/**
* Move the mouse to the specified coordinates.
* @param sim Pointer to the UIActionSimulator.
* @param x X coordinate in screen coordinates.
* @param y Y coordinate in screen coordinates.
* @return true if successful, false otherwise.
*/
WXD_EXPORTED bool
;
/**
* Press a mouse button.
* @param sim Pointer to the UIActionSimulator.
* @param button The button to press (WXD_MOUSE_BTN_LEFT, WXD_MOUSE_BTN_MIDDLE, WXD_MOUSE_BTN_RIGHT).
* @return true if successful, false otherwise.
*/
WXD_EXPORTED bool
;
/**
* Release a mouse button.
* @param sim Pointer to the UIActionSimulator.
* @param button The button to release.
* @return true if successful, false otherwise.
*/
WXD_EXPORTED bool
;
/**
* Click a mouse button (press and release).
* @param sim Pointer to the UIActionSimulator.
* @param button The button to click.
* @return true if successful, false otherwise.
*/
WXD_EXPORTED bool
;
/**
* Double-click a mouse button.
* @param sim Pointer to the UIActionSimulator.
* @param button The button to double-click.
* @return true if successful, false otherwise.
*/
WXD_EXPORTED bool
;
/**
* Perform a drag and drop operation.
* @param sim Pointer to the UIActionSimulator.
* @param x1 Starting X coordinate in screen coordinates.
* @param y1 Starting Y coordinate in screen coordinates.
* @param x2 Ending X coordinate in screen coordinates.
* @param y2 Ending Y coordinate in screen coordinates.
* @param button The button to use for dragging.
* @return true if successful, false otherwise.
*/
WXD_EXPORTED bool
;
// --- Keyboard Simulation ---
/**
* Press a key.
* @param sim Pointer to the UIActionSimulator.
* @param keycode The key code (wxKeyCode).
* @param modifiers Modifier keys (combination of WXD_MOD_* flags).
* @return true if successful, false otherwise.
*/
WXD_EXPORTED bool
;
/**
* Release a key.
* @param sim Pointer to the UIActionSimulator.
* @param keycode The key code (wxKeyCode).
* @param modifiers Modifier keys (combination of WXD_MOD_* flags).
* @return true if successful, false otherwise.
*/
WXD_EXPORTED bool
;
/**
* Press and release a key.
* @param sim Pointer to the UIActionSimulator.
* @param keycode The key code (wxKeyCode).
* @param modifiers Modifier keys (combination of WXD_MOD_* flags).
* @return true if successful, false otherwise.
*/
WXD_EXPORTED bool
;
/**
* Emulate typing the given string.
* @param sim Pointer to the UIActionSimulator.
* @param text The text to type (ASCII characters).
* @return true if successful, false otherwise.
*/
WXD_EXPORTED bool
;
/**
* Select an item with the given text in the currently focused control.
* @param sim Pointer to the UIActionSimulator.
* @param text The text of the item to select.
* @return true if successful, false otherwise.
*/
WXD_EXPORTED bool
;
// WXD_UIACTIONSIMULATOR_H