Add AppDefaults app selection to control panel
[wine/gsoc-2012-control.git] / dlls / joy.cpl / joy.h
blobe40a71bc17fa66eb3bdb8944e0d86738f50c28e4
1 /*
2 * Joystick testing control panel applet resources and definitions
4 * Copyright 2012 Lucas Fialho Zawacki
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
22 #ifndef __WINE_JOYSTICKCPL__
23 #define __WINE_JOYSTICKCPL__
25 #include <winuser.h>
26 #include <windef.h>
27 #include <commctrl.h>
28 #include <dinput.h>
30 extern HMODULE hcpl;
32 struct Effect {
33 IDirectInputEffect *effect;
34 DIEFFECT params;
35 DIEFFECTINFOW info;
38 struct Joystick {
39 IDirectInputDevice8W *device;
40 DIDEVICEINSTANCEW instance;
41 int num_buttons;
42 int num_axes;
43 BOOL forcefeedback;
44 int num_effects;
45 int cur_effect;
46 int chosen_effect;
47 struct Effect *effects;
50 #define TEST_MAX_BUTTONS 32
51 #define TEST_MAX_AXES 4
53 struct JoystickData {
54 IDirectInput8W *di;
55 struct Joystick *joysticks;
56 int num_joysticks;
57 int num_ff;
58 int cur_joystick;
59 int chosen_joystick;
60 HWND buttons[TEST_MAX_BUTTONS];
61 HWND axes[TEST_MAX_AXES];
62 HWND ff_axis;
63 BOOL stop;
66 #define NUM_PROPERTY_PAGES 3
68 /* strings */
69 #define IDS_CPL_NAME 1
70 #define IDS_CPL_INFO 2
72 /* dialogs */
73 #define IDC_STATIC -1
75 #define IDD_LIST 1000
76 #define IDD_TEST 1001
77 #define IDD_FORCEFEEDBACK 1002
79 #define IDC_JOYSTICKLIST 2000
80 #define IDC_BUTTONDISABLE 2001
81 #define IDC_BUTTONENABLE 2002
82 #define IDC_DISABLEDLIST 2003
83 #define IDC_TESTSELECTCOMBO 2004
84 #define IDC_TESTGROUPXY 2005
85 #define IDC_TESTGROUPRXRY 2006
86 #define IDC_TESTGROUPZRZ 2007
87 #define IDC_TESTGROUPPOV 2008
89 #define IDC_JOYSTICKBUTTON 3000
90 #define IDC_JOYSTICKAXES 4000
92 #define IDC_FFSELECTCOMBO 2009
93 #define IDC_FFEFFECTLIST 2010
94 #define IDC_FFAXIS 2011
96 /* constants */
97 #define TEST_POLL_TIME 100
99 #define TEST_BUTTON_COL_MAX 8
100 #define TEST_BUTTON_X 15
101 #define TEST_BUTTON_Y 200
102 #define TEST_NEXT_BUTTON_X 45
103 #define TEST_NEXT_BUTTON_Y 40
104 #define TEST_BUTTON_SIZE_X 30
105 #define TEST_BUTTON_SIZE_Y 25
107 #define TEST_AXIS_X 65
108 #define TEST_AXIS_Y 98
109 #define TEST_NEXT_AXIS_X 115
110 #define TEST_AXIS_SIZE_X 5
111 #define TEST_AXIS_SIZE_Y 5
112 #define TEST_AXIS_MIN -40
113 #define TEST_AXIS_MAX 40
115 #define FF_AXIS_X 373
116 #define FF_AXIS_Y 98
117 #define FF_AXIS_SIZE_X 5
118 #define FF_AXIS_SIZE_Y 5
120 #define FF_PLAY_TIME 2*DI_SECONDS
121 #define FF_PERIOD_TIME FF_PLAY_TIME/4
123 #endif