2 Physics Effects Copyright(C) 2010 Sony Computer Entertainment Inc.
\r
5 Physics Effects is open software; you can redistribute it and/or
\r
6 modify it under the terms of the BSD License.
\r
8 Physics Effects is distributed in the hope that it will be useful,
\r
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
\r
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
\r
11 See the BSD License for more details.
\r
13 A copy of the BSD License is distributed with
\r
14 Physics Effects under the filename: physics_effects_license.txt
\r
18 #include "ctrl_func.h"
\r
20 int keyState[2][BTN_NUM] = {0};
\r
34 keyState[keySw][BTN_SCENE_RESET] = GetAsyncKeyState(VK_F1);
\r
35 keyState[keySw][BTN_SCENE_NEXT] = GetAsyncKeyState(VK_F2);
\r
36 keyState[keySw][BTN_SIMULATION] = GetAsyncKeyState(VK_F3);
\r
37 keyState[keySw][BTN_STEP] = GetAsyncKeyState(VK_F4);
\r
38 keyState[keySw][BTN_UP] = GetAsyncKeyState(VK_UP);
\r
39 keyState[keySw][BTN_DOWN] = GetAsyncKeyState(VK_DOWN);
\r
40 keyState[keySw][BTN_LEFT] = GetAsyncKeyState(VK_LEFT);
\r
41 keyState[keySw][BTN_RIGHT] = GetAsyncKeyState(VK_RIGHT);
\r
42 keyState[keySw][BTN_ZOOM_IN] = GetAsyncKeyState(VK_INSERT);
\r
43 keyState[keySw][BTN_ZOOM_OUT] = GetAsyncKeyState(VK_DELETE);
\r
44 keyState[keySw][BTN_PICK] = GetAsyncKeyState(VK_LBUTTON);
\r
48 ButtonStatus ctrl_button_pressed(ButtonID btnId)
\r
50 if(keyState[1-keySw][btnId] && !keyState[keySw][btnId]) {
\r
51 return BTN_STAT_DOWN;
\r
53 else if(keyState[1-keySw][btnId] && keyState[keySw][btnId]) {
\r
54 return BTN_STAT_KEEP;
\r
56 else if(!keyState[1-keySw][btnId] && keyState[keySw][btnId]) {
\r
60 return BTN_STAT_NONE;
\r
63 void ctrl_set_screen_size(int w,int h)
\r
67 void ctrl_get_cursor_position(int &cursorX,int &cursorY)
\r
69 HWND hWnd = ::GetActiveWindow();
\r
73 ::GetCursorPos(&pnt);
\r
74 ::ScreenToClient(hWnd,&pnt);
\r
75 ::GetClientRect(hWnd,&rect);
\r
76 cursorX = pnt.x - (rect.right - rect.left) / 2;
\r
77 cursorY = (rect.bottom-rect.top) / 2 - pnt.y;
\r