msi: Improve support for advertized shortcuts.
[wine/wine-gecko.git] / dlls / joy.cpl / joy.h
blobec7af4f78792fa1ad8bef3e2862f17b277439024
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 Graphics {
54 HWND hwnd;
55 HWND buttons[TEST_MAX_BUTTONS];
56 HWND axes[TEST_MAX_AXES];
57 HWND ff_axis;
60 struct JoystickData {
61 IDirectInput8W *di;
62 struct Joystick *joysticks;
63 int num_joysticks;
64 int num_ff;
65 int cur_joystick;
66 int chosen_joystick;
67 struct Graphics graphics;
68 BOOL stop;
71 #define NUM_PROPERTY_PAGES 3
73 /* strings */
74 #define IDS_CPL_NAME 1
75 #define IDS_CPL_INFO 2
77 /* dialogs */
78 #define IDC_STATIC -1
80 #define IDD_LIST 1000
81 #define IDD_TEST 1001
82 #define IDD_FORCEFEEDBACK 1002
84 #define IDC_JOYSTICKLIST 2000
85 #define IDC_BUTTONDISABLE 2001
86 #define IDC_BUTTONENABLE 2002
87 #define IDC_DISABLEDLIST 2003
88 #define IDC_TESTSELECTCOMBO 2004
89 #define IDC_TESTGROUPXY 2005
90 #define IDC_TESTGROUPRXRY 2006
91 #define IDC_TESTGROUPZRZ 2007
92 #define IDC_TESTGROUPPOV 2008
94 #define IDC_FFSELECTCOMBO 2009
95 #define IDC_FFEFFECTLIST 2010
97 #define ICO_MAIN 100
99 /* constants */
100 #define TEST_POLL_TIME 100
102 #define TEST_BUTTON_COL_MAX 8
103 #define TEST_BUTTON_X 8
104 #define TEST_BUTTON_Y 122
105 #define TEST_NEXT_BUTTON_X 30
106 #define TEST_NEXT_BUTTON_Y 25
107 #define TEST_BUTTON_SIZE_X 20
108 #define TEST_BUTTON_SIZE_Y 18
110 #define TEST_AXIS_X 43
111 #define TEST_AXIS_Y 60
112 #define TEST_NEXT_AXIS_X 77
113 #define TEST_AXIS_SIZE_X 3
114 #define TEST_AXIS_SIZE_Y 3
115 #define TEST_AXIS_MIN -25
116 #define TEST_AXIS_MAX 25
118 #define FF_AXIS_X 248
119 #define FF_AXIS_Y 60
120 #define FF_AXIS_SIZE_X 3
121 #define FF_AXIS_SIZE_Y 3
123 #define FF_PLAY_TIME 2*DI_SECONDS
124 #define FF_PERIOD_TIME FF_PLAY_TIME/4
126 #endif