/* * Joystick testing control panel applet resources and definitions * * Copyright 2012 Lucas Fialho Zawacki * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * */ #ifndef __WINE_JOYSTICKCPL__ #define __WINE_JOYSTICKCPL__ #include <winuser.h> #include <windef.h> #include <commctrl.h> #include <dinput.h> extern HMODULE hcpl; struct Effect { IDirectInputEffect *effect; DIEFFECT params; DIEFFECTINFOW info; }; struct Joystick { IDirectInputDevice8W *device; DIDEVICEINSTANCEW instance; int num_buttons; int num_axes; BOOL forcefeedback; int num_effects; int cur_effect; int chosen_effect; struct Effect *effects; }; #define TEST_MAX_BUTTONS 32 #define TEST_MAX_AXES 4 struct Graphics { HWND hwnd; HWND buttons[TEST_MAX_BUTTONS]; HWND axes[TEST_MAX_AXES]; HWND ff_axis; }; struct JoystickData { IDirectInput8W *di; struct Joystick *joysticks; int num_joysticks; int num_ff; int cur_joystick; int chosen_joystick; struct Graphics graphics; BOOL stop; }; #define NUM_PROPERTY_PAGES 3 /* strings */ #define IDS_CPL_NAME 1 #define IDS_CPL_INFO 2 /* dialogs */ #define IDC_STATIC -1 #define IDD_LIST 1000 #define IDD_TEST 1001 #define IDD_FORCEFEEDBACK 1002 #define IDC_JOYSTICKLIST 2000 #define IDC_BUTTONDISABLE 2001 #define IDC_BUTTONENABLE 2002 #define IDC_DISABLEDLIST 2003 #define IDC_TESTSELECTCOMBO 2004 #define IDC_TESTGROUPXY 2005 #define IDC_TESTGROUPRXRY 2006 #define IDC_TESTGROUPZRZ 2007 #define IDC_TESTGROUPPOV 2008 #define IDC_FFSELECTCOMBO 2009 #define IDC_FFEFFECTLIST 2010 #define ICO_MAIN 100 /* constants */ #define TEST_POLL_TIME 100 #define TEST_BUTTON_COL_MAX 8 #define TEST_BUTTON_X 8 #define TEST_BUTTON_Y 122 #define TEST_NEXT_BUTTON_X 30 #define TEST_NEXT_BUTTON_Y 25 #define TEST_BUTTON_SIZE_X 20 #define TEST_BUTTON_SIZE_Y 18 #define TEST_AXIS_X 43 #define TEST_AXIS_Y 60 #define TEST_NEXT_AXIS_X 77 #define TEST_AXIS_SIZE_X 3 #define TEST_AXIS_SIZE_Y 3 #define TEST_AXIS_MIN -25 #define TEST_AXIS_MAX 25 #define FF_AXIS_X 248 #define FF_AXIS_Y 60 #define FF_AXIS_SIZE_X 3 #define FF_AXIS_SIZE_Y 3 #define FF_PLAY_TIME 2*DI_SECONDS #define FF_PERIOD_TIME FF_PLAY_TIME/4 #endif