File: InputManager.cs

package info (click to toggle)
mygui 3.2.2%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 36,224 kB
  • sloc: cpp: 118,031; ansic: 30,202; xml: 15,544; cs: 12,602; tcl: 776; python: 417; makefile: 34
file content (192 lines) | stat: -rw-r--r-- 5,194 bytes parent folder | download | duplicates (7)
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
using System;
using System.Runtime.InteropServices;

namespace MyGUI.Sharp
{
	public class InputManager
	{
		#region Instance

		private static InputManager mInstance = new InputManager();

		public static InputManager Instance
		{
			get { return mInstance; }
		}

		#endregion

		#region KeyFocus

		[DllImport(DllName.m_dllName, CallingConvention = CallingConvention.Cdecl)]
		[return: MarshalAs(UnmanagedType.U1)]
		private static extern bool ExportInputManager_GetKeyFocus();

		public bool KeyFocus
		{
			get { return ExportInputManager_GetKeyFocus(); }
		}

		#endregion

		#region KeyFocusWidget

		[DllImport(DllName.m_dllName, CallingConvention = CallingConvention.Cdecl)]
		private static extern IntPtr ExportInputManager_GetKeyFocusWidget();
		[DllImport(DllName.m_dllName, CallingConvention = CallingConvention.Cdecl)]
		private static extern void ExportInputManager_SetKeyFocusWidget(IntPtr _widget);

		public Widget KeyFocusWidget
		{
			get { return (Widget)BaseWidget.GetByNative(ExportInputManager_GetKeyFocusWidget()); }
			set { ExportInputManager_SetKeyFocusWidget(value == null ? IntPtr.Zero : value.Native); }
		}

		#endregion

		#region MouseFocus

		[DllImport(DllName.m_dllName, CallingConvention = CallingConvention.Cdecl)]
		[return: MarshalAs(UnmanagedType.U1)]
		private static extern bool ExportInputManager_GetMouseFocus();

		public bool MouseFocus
		{
			get { return ExportInputManager_GetMouseFocus(); }
		}

		#endregion

		#region MouseFocusWidget

		[DllImport(DllName.m_dllName, CallingConvention = CallingConvention.Cdecl)]
		private static extern IntPtr ExportInputManager_GetMouseFocusWidget();

		public Widget MouseFocusWidget
		{
			get { return (Widget)BaseWidget.GetByNative(ExportInputManager_GetMouseFocusWidget()); }
		}

		#endregion

		#region ResetKeyFocus

		[DllImport(DllName.m_dllName, CallingConvention = CallingConvention.Cdecl)]
		private static extern void ExportInputManager_ResetKeyFocusWidget();

		public void ResetKeyFocus()
		{
			ExportInputManager_ResetKeyFocusWidget();
		}

		#endregion

		#region AddWidgetModal

		[DllImport(DllName.m_dllName, CallingConvention = CallingConvention.Cdecl)]
		private static extern void ExportInputManager_AddWidgetModal(IntPtr _widget);

		public void AddWidgetModal(Widget _widget)
		{
			ExportInputManager_AddWidgetModal(_widget.Native);
		}

		#endregion

		#region RemoveWidgetModal

		[DllImport(DllName.m_dllName, CallingConvention = CallingConvention.Cdecl)]
		private static extern void ExportInputManager_RemoveWidgetModal(IntPtr _widget);

		public void RemoveWidgetModal(Widget _widget)
		{
			ExportInputManager_RemoveWidgetModal(_widget.Native);
		}

		#endregion

		#region InjectKeyPress

		[DllImport(DllName.m_dllName, CallingConvention = CallingConvention.Cdecl)]
		[return: MarshalAs(UnmanagedType.U1)]
		private static extern bool ExportInputManager_InjectKeyPress(KeyCode _keyCode, uint _char);

		public bool InjectKeyPress(KeyCode _keyCode, uint _char)
		{
			return ExportInputManager_InjectKeyPress(_keyCode, _char);
		}

		#endregion

		#region InjectKeyRelease

		[DllImport(DllName.m_dllName, CallingConvention = CallingConvention.Cdecl)]
		[return: MarshalAs(UnmanagedType.U1)]
		private static extern bool ExportInputManager_InjectKeyRelease(KeyCode _keyCode);

		public bool InjectKeyRelease(KeyCode _keyCode)
		{
			return ExportInputManager_InjectKeyRelease(_keyCode);
		}

		#endregion

		#region InjectMousePress

		[DllImport(DllName.m_dllName, CallingConvention = CallingConvention.Cdecl)]
		[return: MarshalAs(UnmanagedType.U1)]
		private static extern bool ExportInputManager_InjectMousePress(int _absX, int _absY, MouseButton _mouseButton);

		public bool InjectMousePress(int _absX, int _absY, MouseButton _mouseButton)
		{
			return ExportInputManager_InjectMousePress(_absX, _absY, _mouseButton);
		}

		#endregion

		#region InjectMouseRelease

		[DllImport(DllName.m_dllName, CallingConvention = CallingConvention.Cdecl)]
		[return: MarshalAs(UnmanagedType.U1)]
		private static extern bool ExportInputManager_InjectMouseRelease(int _absX, int _absY, MouseButton _mouseButton);

		public bool InjectMouseRelease(int _absX, int _absY, MouseButton _mouseButton)
		{
			return ExportInputManager_InjectMouseRelease(_absX, _absY, _mouseButton);
		}

		#endregion

		#region InjectMouseMove

		[DllImport(DllName.m_dllName, CallingConvention = CallingConvention.Cdecl)]
		[return: MarshalAs(UnmanagedType.U1)]
		private static extern bool ExportInputManager_InjectMouseMove(int _absX, int _absY, int _absZ);

		public bool InjectMouseMove(int _absX, int _absY, int _absZ)
		{
			return ExportInputManager_InjectMouseMove(_absX, _absY, _absZ);
		}

		#endregion

		#region MousePosition

		[DllImport(DllName.m_dllName, CallingConvention = CallingConvention.Cdecl)]
		private static extern void ExportInputManager_GetMousePosition(
			[Out, MarshalAs(UnmanagedType.I4)] out int _x,
			[Out, MarshalAs(UnmanagedType.I4)] out int _y);

		public IntPoint MousePosition
		{
			get
			{
				IntPoint result = new IntPoint();
				ExportInputManager_GetMousePosition(out result.left, out result.top);
				return result;
			}
		}

		#endregion
	}
}