OSDN Git Service

fix build system ofmoflib1 and saisei1
[moflib/moflib.git] / moflib-1.0 / src / mof / DeviceInputReceiver.cpp
1 #include "mof/private/DirectInput.hpp"
2 #include "mof/private/DeviceInputReceiver.hpp"
3 #include "mof/InputDevice.hpp"
4 #include "mof/ConsoleIO.hpp"
5 #include "mof/InputEventCondition.hpp"
6
7
8 mof::DeviceInputReceiver::DeviceInputReceiver()
9 : mof::InputReceiver(){
10         m_pKeyStates = new bool[mof::DeviceInputReceiver::END];
11         for(int i = 0 ; i < mof::DeviceInputReceiver::END ; i++)m_pKeyStates[i] = false;
12 }
13
14 mof::DeviceInputReceiver::~DeviceInputReceiver(){
15         delete[] m_pKeyStates;
16         
17 }
18
19 bool mof::DeviceInputReceiver::testKeyState(mof::InputReceiver::Key key){
20
21         return m_pKeyStates[key];
22         
23 }
24
25 void mof::DeviceInputReceiver::update(){
26         mof::InputDevice::update();
27 }
28
29
30 void mof::DeviceInputReceiver::notifyInputEvent(mof::InputEvent& inputEvent){
31         mof::DeviceInputReceiver::Key key;
32
33     
34         switch(inputEvent.dwOfs){
35                 case DIK_UP :
36                         key = mof::DeviceInputReceiver::UP;
37                         break;
38                 case DIK_DOWN :
39                         key = mof::DeviceInputReceiver::DOWN;
40                         break;
41                 case DIK_LEFT :
42                         key = mof::DeviceInputReceiver::LEFT;
43                         break;
44                 case DIK_RIGHT :
45                         key = mof::DeviceInputReceiver::RIGHT;
46                         break;
47         case DIK_A :
48                         key = mof::DeviceInputReceiver::A;
49                         break;
50         case DIK_B :
51                         key = mof::DeviceInputReceiver::B;
52                         break;
53         case DIK_C :
54                         key = mof::DeviceInputReceiver::C;
55                         break;
56         case DIK_D :
57                         key = mof::DeviceInputReceiver::D;
58                         break;
59         case DIK_E :
60                         key = mof::DeviceInputReceiver::E;
61                         break;
62         case DIK_F :
63                         key = mof::DeviceInputReceiver::F;
64                         break;
65         case DIK_G :
66                         key = mof::DeviceInputReceiver::G;
67                         break;
68         case DIK_H :
69                         key = mof::DeviceInputReceiver::H;
70                         break;
71         case DIK_I :
72                         key = mof::DeviceInputReceiver::I;
73                         break;
74         case DIK_J :
75                         key = mof::DeviceInputReceiver::J;
76                         break;
77         case DIK_K :
78                         key = mof::DeviceInputReceiver::K;
79                         break;
80         case DIK_L :
81                         key = mof::DeviceInputReceiver::L;
82                         break;
83         case DIK_M :
84                         key = mof::DeviceInputReceiver::M;
85                         break;
86         case DIK_N :
87                         key = mof::DeviceInputReceiver::N;
88                         break;
89         case DIK_O :
90                         key = mof::DeviceInputReceiver::O;
91                         break;
92         case DIK_P :
93                         key = mof::DeviceInputReceiver::P;
94                         break;
95         case DIK_Q :
96                         key = mof::DeviceInputReceiver::Q;
97                         break;
98         case DIK_R :
99                         key = mof::DeviceInputReceiver::R;
100                         break;
101         case DIK_S :
102                         key = mof::DeviceInputReceiver::S;
103                         break;
104         case DIK_T :
105                         key = mof::DeviceInputReceiver::T;
106                         break;
107         case DIK_U :
108                         key = mof::DeviceInputReceiver::U;
109                         break;
110         case DIK_V :
111                         key = mof::DeviceInputReceiver::V;
112                         break;
113         case DIK_W :
114                         key = mof::DeviceInputReceiver::W;
115                         break;
116         case DIK_X :
117                         key = mof::DeviceInputReceiver::X;
118                         break;
119         case DIK_Y :
120                         key = mof::DeviceInputReceiver::Y;
121                         break;
122         case DIK_Z :
123                         key = mof::DeviceInputReceiver::Z;
124                         break;
125                 case DIK_ESCAPE :
126                         key = mof::DeviceInputReceiver::ESCAPE;
127                         break;
128                 default : 
129             return;
130         }
131         m_pKeyStates[key] = (inputEvent.dwData & 0x80) != 0;
132         m_pKeyStates[mof::DeviceInputReceiver::ANY] = (inputEvent.dwData & 0x80) != 0;
133         
134 }