OSDN Git Service

DTXMania089リリースに際してのtag付け。
[dtxmania/dtxmania.git] / 110401(DTXMania089) / SlimDXc_Jun2010(VC++2008) / source / directinput / DeviceProperties.h
1 /*\r
2 * Copyright (c) 2007-2010 SlimDX Group\r
3\r
4 * Permission is hereby granted, free of charge, to any person obtaining a copy\r
5 * of this software and associated documentation files (the "Software"), to deal\r
6 * in the Software without restriction, including without limitation the rights\r
7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
8 * copies of the Software, and to permit persons to whom the Software is\r
9 * furnished to do so, subject to the following conditions:\r
10\r
11 * The above copyright notice and this permission notice shall be included in\r
12 * all copies or substantial portions of the Software.\r
13\r
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
20 * THE SOFTWARE.\r
21 */\r
22 #pragma once\r
23 \r
24 #include "Enums.h"\r
25 \r
26 namespace SlimDX\r
27 {\r
28         namespace DirectInput\r
29         {\r
30                 /// <summary>\r
31                 /// Contains properties that define device behavior. These\r
32                 /// properties include input buffer size and axis mode.\r
33                 /// </summary>\r
34                 public ref class DeviceProperties\r
35                 {\r
36                 private:\r
37                         IDirectInputDevice8W *pointer;\r
38 \r
39                 internal:\r
40                         DeviceProperties( IDirectInputDevice8W *pointer );\r
41 \r
42                 public:\r
43                         /// <summary>\r
44                         /// Retrieves the localized key name for the specified keyboard key.\r
45                         /// </summary>\r
46                         System::String^ GetKeyName( Key key );\r
47 \r
48                         /// <summary>\r
49                         /// Retrieves the scan code for the specified keyboard key.\r
50                         /// </summary>\r
51                         int GetKeyCode( Key key );\r
52 \r
53                         /// <summary>\r
54                         /// Sets the data range for the device.\r
55                         /// </summary>\r
56                         void SetRange( int lowerRange, int upperRange );\r
57 \r
58                         /// <summary>\r
59                         /// Gets or sets an application-defined value associated with the device.\r
60                         /// </summary>\r
61                         property System::Object^ ApplicationData\r
62                         {\r
63                                 [System::Security::Permissions::SecurityPermission( System::Security::Permissions::SecurityAction::LinkDemand, Flags=System::Security::Permissions::SecurityPermissionFlag::UnmanagedCode )]\r
64                                 System::Object^ get();\r
65 \r
66                                 [System::Security::Permissions::SecurityPermission( System::Security::Permissions::SecurityAction::LinkDemand, Flags=System::Security::Permissions::SecurityPermissionFlag::UnmanagedCode )]\r
67                                 void set( System::Object^ value );\r
68                         }\r
69 \r
70                         /// <summary>\r
71                         /// Gets or sets a value indicating whether device objects are self centering.\r
72                         /// </summary>\r
73                         property bool AutoCenter\r
74                         {\r
75                                 bool get();\r
76                                 void set( bool value );\r
77                         }\r
78 \r
79                         /// <summary>\r
80                         /// Gets or sets the axis mode for the device.\r
81                         /// </summary>\r
82                         property DeviceAxisMode AxisMode\r
83                         {\r
84                                 DeviceAxisMode get();\r
85                                 void set( DeviceAxisMode value );\r
86                         }\r
87 \r
88                         /// <summary>\r
89                         /// Gets or sets the buffer input size.\r
90                         /// </summary>\r
91                         property int BufferSize\r
92                         {\r
93                                 int get();\r
94                                 void set( int value );\r
95                         }\r
96 \r
97                         /// <summary>\r
98                         /// Gets or sets the dead zone for a joystick device.\r
99                         /// </summary>\r
100                         property int DeadZone\r
101                         {\r
102                                 int get();\r
103                                 void set( int value );\r
104                         }\r
105 \r
106                         /// <summary>\r
107                         /// Gets or sets the gain of the device for force-feedback effects.\r
108                         /// </summary>\r
109                         property int ForceFeedbackGain\r
110                         {\r
111                                 int get();\r
112                                 void set( int value );\r
113                         }\r
114 \r
115                         /// <summary>\r
116                         /// Gets the memory load for the device.\r
117                         /// </summary>\r
118                         property int MemoryLoad\r
119                         {\r
120                                 int get();\r
121                         }\r
122 \r
123                         /// <summary>\r
124                         /// Gets the human-readable display name of the port to which the device is connected.\r
125                         /// </summary>\r
126                         property System::String^ PortDisplayName\r
127                         {\r
128                                 System::String^ get();\r
129                         }\r
130 \r
131                         /// <summary>\r
132                         /// Gets the input granularity for the device.\r
133                         /// </summary>\r
134                         property int Granularity\r
135                         {\r
136                                 int get();\r
137                         }\r
138 \r
139                         /// <summary>\r
140                         /// Gets the class identifier for the device.\r
141                         /// </summary>\r
142                         property System::Guid ClassGuid\r
143                         {\r
144                                 System::Guid get();\r
145                         }\r
146 \r
147                         /// <summary>\r
148                         /// Gets the physical interface path to which the device is connected.\r
149                         /// </summary>\r
150                         property System::String^ InterfacePath\r
151                         {\r
152                                 System::String^ get();\r
153                         }\r
154 \r
155                         /// <summary>\r
156                         /// Gets or sets the friendly instance name of the device.\r
157                         /// </summary>\r
158                         property System::String^ InstanceName\r
159                         {\r
160                                 System::String^ get();\r
161                                 void set( System::String^ value );\r
162                         }\r
163 \r
164                         /// <summary>\r
165                         /// Gets the instance number of a joystick device.\r
166                         /// </summary>\r
167                         property int JoystickId\r
168                         {\r
169                                 int get();\r
170                         }\r
171 \r
172                         /// <summary>\r
173                         /// Gets or sets the friendly product name of the device.\r
174                         /// </summary>\r
175                         property System::String^ ProductName\r
176                         {\r
177                                 System::String^ get();\r
178                                 void set( System::String^ value );\r
179                         }\r
180 \r
181                         /// <summary>\r
182                         /// Gets or sets the upper range of values that the device can possibly report.\r
183                         /// </summary>\r
184                         property int UpperRange\r
185                         {\r
186                                 int get();\r
187                         }\r
188 \r
189                         /// <summary>\r
190                         /// Gets or sets the lower range of values that the device can possibly report.\r
191                         /// </summary>\r
192                         property int LowerRange\r
193                         {\r
194                                 int get();\r
195                         }\r
196 \r
197                         /// <summary>\r
198                         /// Gets or sets the saturation zone of a joystick device.\r
199                         /// </summary>\r
200                         property int Saturation\r
201                         {\r
202                                 int get();\r
203                                 void set( int value );\r
204                         }\r
205 \r
206                         /// <summary>\r
207                         /// Gets the type name of the device.\r
208                         /// </summary>\r
209                         property System::String^ TypeName\r
210                         {\r
211                                 System::String^ get();\r
212                         }\r
213 \r
214                         /// <summary>\r
215                         /// Gets the user name for a user currently assigned to the device.\r
216                         /// </summary>\r
217                         property System::String^ UserName\r
218                         {\r
219                                 System::String^ get();\r
220                         }\r
221 \r
222                         /// <summary>\r
223                         /// Gets the vendor identifier.\r
224                         /// </summary>\r
225                         property int VendorId\r
226                         {\r
227                                 int get();\r
228                         }\r
229 \r
230                         /// <summary>\r
231                         /// Gets the product identifer.\r
232                         /// </summary>\r
233                         property int ProductId\r
234                         {\r
235                                 int get();\r
236                         }\r
237                 };\r
238         }\r
239 }