OSDN Git Service

作業部屋#50802 画面キャプチャができなくなっていた問題を暫定対応(F12キー固定で対応中)
[dtxmaniaxg-verk/dtxmaniaxg-verk-git.git] / SlimDXc_Jun2010(VC++2008) / source / directinput / MouseState.h
1 /*
2 * Copyright (c) 2007-2010 SlimDX Group
3
4 * Permission is hereby granted, free of charge, to any person obtaining a copy
5 * of this software and associated documentation files (the "Software"), to deal
6 * in the Software without restriction, including without limitation the rights
7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 * copies of the Software, and to permit persons to whom the Software is
9 * furnished to do so, subject to the following conditions:
10
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
13
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 * THE SOFTWARE.
21 */
22 #pragma once
23
24 #include "Enums.h"
25
26 namespace SlimDX
27 {
28         namespace DirectInput
29         {
30                 /// <summary>
31                 /// Describes the state of a mouse device.
32                 /// </summary>
33                 /// <unmanaged>DIMOUSESTATE2</unmanaged>
34                 public ref class MouseState
35                 {
36                 internal:
37                         array<bool>^ pressedButtons;
38                         array<bool>^ releasedButtons;
39
40                 public:
41                         MouseState();
42                         
43                         MouseState( int x, int y, int z );
44                         
45                         /// <summary>
46                         /// \83^\83C\83\80\83X\83^\83\93\83v\81B
47                         /// </summary>
48                         property unsigned int TimeStamp;
49
50                         /// <summary>
51                         /// Gets the X axis of the mouse.
52                         /// </summary>
53                         property int X;
54
55                         /// <summary>
56                         /// Gets the Y axis of the mouse.
57                         /// </summary>
58                         property int Y;
59
60                         /// <summary>
61                         /// Gets the Z axis of the mouse.
62                         /// </summary>
63                         property int Z;
64
65                         /// <summary>
66                         /// Gets the state of the mouse buttons.
67                         /// </summary>
68                         array<bool>^ GetButtons()
69                         {
70                                 return pressedButtons;
71                         }
72
73                         bool IsPressed(int button) { return pressedButtons[button]; }
74
75                         bool IsReleased(int button) { return releasedButtons[button]; }
76
77                 internal:
78                         MouseState( const DIMOUSESTATE2 &state );
79                         void AssignState( const DIMOUSESTATE2 &state );
80                 };
81         }
82 }