--- /dev/null
+/*\r
+* Copyright (c) 2007-2010 SlimDX Group\r
+* \r
+* Permission is hereby granted, free of charge, to any person obtaining a copy\r
+* of this software and associated documentation files (the "Software"), to deal\r
+* in the Software without restriction, including without limitation the rights\r
+* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
+* copies of the Software, and to permit persons to whom the Software is\r
+* furnished to do so, subject to the following conditions:\r
+* \r
+* The above copyright notice and this permission notice shall be included in\r
+* all copies or substantial portions of the Software.\r
+* \r
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
+* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
+* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
+* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
+* THE SOFTWARE.\r
+*/\r
+#pragma once\r
+\r
+#include "Enums.h"\r
+\r
+namespace SlimDX\r
+{\r
+ namespace DirectInput\r
+ {\r
+ /// <summary>\r
+ /// Describes a DirectInput device's capabilities.\r
+ /// </summary>\r
+ public ref class Capabilities\r
+ {\r
+ private:\r
+ DeviceFlags flags;\r
+ DeviceType type;\r
+ int subType;\r
+ int axesCount;\r
+ int buttonCount;\r
+ int povCount;\r
+ int ffSamplePeriod;\r
+ int ffMinTimeResolution;\r
+ int ffDriverVersion;\r
+ int firmwareRevision;\r
+ int hardwareRevision;\r
+ bool hid;\r
+\r
+ internal:\r
+ Capabilities( const DIDEVCAPS &caps );\r
+\r
+ public:\r
+ /// <summary>\r
+ /// Gets the flags associated with the device.\r
+ /// </summary>\r
+ property DeviceFlags Flags\r
+ {\r
+ DeviceFlags get() { return flags; }\r
+ }\r
+\r
+ /// <summary>\r
+ /// Gets the device type specifier.\r
+ /// </summary>\r
+ property DeviceType Type\r
+ {\r
+ DeviceType get() { return type; }\r
+ }\r
+\r
+ /// <summary>\r
+ /// Gets the device sub-type specifier.\r
+ /// </summary>\r
+ property int Subtype\r
+ {\r
+ int get() { return subType; }\r
+ }\r
+\r
+ /// <summary>\r
+ /// Gets the number of axes available on the device.\r
+ /// </summary>\r
+ property int AxesCount\r
+ {\r
+ int get() { return axesCount; }\r
+ }\r
+\r
+ /// <summary>\r
+ /// Gets the number of buttons available on the device.\r
+ /// </summary>\r
+ property int ButtonCount\r
+ {\r
+ int get() { return buttonCount; }\r
+ }\r
+\r
+ /// <summary>\r
+ /// Gets the number of Point-Of-View controllers available on the device.\r
+ /// </summary>\r
+ property int PovCount\r
+ {\r
+ int get() { return povCount; }\r
+ }\r
+\r
+ /// <summary>\r
+ /// Gets the minimum time between playback of consecutive raw force commands, in microseconds.\r
+ /// </summary>\r
+ property int ForceFeedbackSamplePeriod\r
+ {\r
+ int get() { return ffSamplePeriod; }\r
+ }\r
+\r
+ /// <summary>\r
+ /// Gets the minimum time, in microseconds, that the device can resolve. The device\r
+ /// rounds any times to the nearest supported increment.\r
+ /// </summary>\r
+ property int ForceFeedbackMinimumTimeResolution\r
+ {\r
+ int get() { return ffMinTimeResolution; }\r
+ }\r
+\r
+ /// <summary>\r
+ /// Gets the driver version number.\r
+ /// </summary>\r
+ property int DriverVersion\r
+ {\r
+ int get() { return ffDriverVersion; }\r
+ }\r
+\r
+ /// <summary>\r
+ /// Gets the firmware revision number.\r
+ /// </summary>\r
+ property int FirmwareRevision\r
+ {\r
+ int get() { return firmwareRevision; }\r
+ }\r
+\r
+ /// <summary>\r
+ /// Gets the hardware revision number.\r
+ /// </summary>\r
+ property int HardwareRevision\r
+ {\r
+ int get() { return hardwareRevision; }\r
+ }\r
+\r
+ /// <summary>\r
+ /// Gets a value indicating whether the device is a Human Interface Device.\r
+ /// </summary>\r
+ property bool HumanInterfaceDevice\r
+ {\r
+ bool get() { return hid; }\r
+ }\r
+ };\r
+ }\r
+}
\ No newline at end of file