ReactOS 0.4.15-dev-7834-g00c4b3d
joy.c File Reference
#include "joy.h"
Include dependency graph for joy.c:

Go to the source code of this file.

Macros

#define NUM_APPLETS   (1)
 

Functions

LONG CALLBACK SystemApplet (HWND hwnd, UINT uMsg, LPARAM lParam1, LPARAM lParam2)
 
VOID AddColumns (HWND hList)
 
INT_PTR CALLBACK AdvancedPageProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
 
INT_PTR CALLBACK CustomPageProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
 
INT_PTR CALLBACK AddPageProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
 
INT_PTR CALLBACK MainPageProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
 
LONG CALLBACK CPlApplet (HWND hwndCPl, UINT uMsg, LPARAM lParam1, LPARAM lParam2)
 
BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD dwReason, LPVOID lpvReserved)
 

Variables

HINSTANCE hApplet = 0
 
APPLET Applets [NUM_APPLETS]
 

Macro Definition Documentation

◆ NUM_APPLETS

#define NUM_APPLETS   (1)

Definition at line 32 of file joy.c.

Function Documentation

◆ AddColumns()

VOID AddColumns ( HWND  hList)

Definition at line 45 of file joy.c.

46{
48 RECT rect;
49 int Size;
50 TCHAR szBuf[256];
51
53 Size = rect.right - rect.left - 250;
54
55 LoadString(hApplet, IDS_STATUS, szBuf, sizeof(szBuf) / sizeof(TCHAR));
56
57 ZeroMemory(&dummy, sizeof(LV_COLUMN));
59 dummy.iSubItem = 0;
60 dummy.pszText = (LPTSTR)szBuf;
61 dummy.cx = Size;
63
65
66 LoadString(hApplet, IDS_CONTROLLER, szBuf, sizeof(szBuf) / sizeof(TCHAR));
67
68 ZeroMemory(&dummy, sizeof(LV_COLUMN));
70 dummy.iSubItem = 0;
71 dummy.pszText = (LPTSTR)szBuf;
72 dummy.cx = rect.right - rect.left - Size;
74}
#define IDS_STATUS
Definition: resource.h:22
#define IDS_CONTROLLER
Definition: resource.h:15
HINSTANCE hApplet
Definition: joy.c:35
HWND hList
Definition: livecd.c:10
#define ListView_InsertColumn(hwnd, iCol, pcol)
Definition: commctrl.h:2636
#define LVCF_WIDTH
Definition: commctrl.h:2587
#define LVCF_SUBITEM
Definition: commctrl.h:2589
#define LVCF_TEXT
Definition: commctrl.h:2588
#define LV_COLUMN
Definition: commctrl.h:2547
& rect
Definition: startmenu.cpp:1413
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4533
#define ZeroMemory
Definition: winbase.h:1712
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
#define LoadString
Definition: winuser.h:5819
char TCHAR
Definition: xmlstorage.h:189
CHAR * LPTSTR
Definition: xmlstorage.h:192

◆ AddPageProc()

INT_PTR CALLBACK AddPageProc ( HWND  hwndDlg,
UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam 
)

Definition at line 191 of file joy.c.

192{
194
195 switch (uMsg)
196 {
197 case WM_INITDIALOG:
198 break;
199
200 case WM_COMMAND:
201 switch (LOWORD(wParam))
202 {
206 hwndDlg,
208 break;
209
210 case IDOK:
211 EndDialog(hwndDlg,LOWORD(wParam));
212 break;
213
214 case IDCANCEL:
215 EndDialog(hwndDlg,LOWORD(wParam));
216 break;
217 }
218 break;
219
220 case WM_NOTIFY:
221 break;
222
223 case WM_SYSCOMMAND:
224 switch (LOWORD(wParam))
225 {
226 case SC_CONTEXTHELP:
227 // Not implemented yet
228 break;
229 }
230 break;
231 }
232 return 0;
233}
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
#define IDD_CUSTOM
Definition: resource.h:9
#define IDC_CUSTOM_BUTTON
Definition: resource.h:26
INT_PTR CALLBACK CustomPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: joy.c:123
#define UNREFERENCED_PARAMETER(P)
Definition: ntbasedef.h:317
#define LOWORD(l)
Definition: pedump.c:82
#define WM_NOTIFY
Definition: richedit.h:61
#define WM_SYSCOMMAND
Definition: winuser.h:1741
#define IDCANCEL
Definition: winuser.h:831
#define SC_CONTEXTHELP
Definition: winuser.h:2604
#define WM_COMMAND
Definition: winuser.h:1740
#define WM_INITDIALOG
Definition: winuser.h:1739
#define IDOK
Definition: winuser.h:830
#define MAKEINTRESOURCE
Definition: winuser.h:591
#define DialogBox
Definition: winuser.h:5761
BOOL WINAPI EndDialog(_In_ HWND, _In_ INT_PTR)

Referenced by MainPageProc().

◆ AdvancedPageProc()

INT_PTR CALLBACK AdvancedPageProc ( HWND  hwndDlg,
UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam 
)

Definition at line 77 of file joy.c.

78{
80
81 switch (uMsg)
82 {
83 case WM_INITDIALOG:
84 {
85 WCHAR szBuf[256];
86 HWND hComboHwnd = GetDlgItem(hwndDlg,IDC_PREFERRED_DEV_COMBO);
87
88 LoadStringW(hApplet, IDS_NONE, szBuf, _countof(szBuf));
89 SendMessageW(hComboHwnd, CB_ADDSTRING, 0, (LPARAM)szBuf);
90 SendMessageW(hComboHwnd, CB_SETCURSEL, 0, (LPARAM)NULL);
91 break;
92 }
93
94 case WM_COMMAND:
95 switch (LOWORD(wParam))
96 {
97 case IDOK:
98 EndDialog(hwndDlg,LOWORD(wParam));
99 break;
100
101 case IDCANCEL:
102 EndDialog(hwndDlg,LOWORD(wParam));
103 break;
104 }
105 break;
106
107 case WM_NOTIFY:
108 break;
109
110 case WM_SYSCOMMAND:
111 switch (LOWORD(wParam))
112 {
113 case SC_CONTEXTHELP:
114 // Not implemented yet
115 break;
116 }
117 break;
118 }
119 return 0;
120}
#define IDS_NONE
Definition: resource.h:133
#define NULL
Definition: types.h:112
#define IDC_PREFERRED_DEV_COMBO
Definition: resource.h:40
#define _countof(array)
Definition: sndvol32.h:68
LONG_PTR LPARAM
Definition: windef.h:208
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
#define CB_SETCURSEL
Definition: winuser.h:1961
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
#define CB_ADDSTRING
Definition: winuser.h:1936
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by MainPageProc().

◆ CPlApplet()

LONG CALLBACK CPlApplet ( HWND  hwndCPl,
UINT  uMsg,
LPARAM  lParam1,
LPARAM  lParam2 
)

Definition at line 320 of file joy.c.

321{
322 CPLINFO *CPlInfo;
323 UINT i = (UINT)lParam1;
324 UNREFERENCED_PARAMETER(hwndCPl);
325
326 switch (uMsg)
327 {
328 case CPL_INIT:
329 return TRUE;
330
331 case CPL_GETCOUNT:
332 return NUM_APPLETS;
333
334 case CPL_INQUIRE:
335 if (i < NUM_APPLETS)
336 {
337 CPlInfo = (CPLINFO*)lParam2;
338 CPlInfo->lData = 0;
339 CPlInfo->idIcon = Applets[i].idIcon;
340 CPlInfo->idName = Applets[i].idName;
341 CPlInfo->idInfo = Applets[i].idDescription;
342 }
343 else
344 {
345 return TRUE;
346 }
347 break;
348
349 case CPL_DBLCLK:
350 if (i < NUM_APPLETS)
351 Applets[i].AppletProc(hwndCPl, uMsg, lParam1, lParam2);
352 else
353 return TRUE;
354 break;
355 }
356
357 return FALSE;
358}
#define CPL_INQUIRE
Definition: cpl.h:14
#define CPL_DBLCLK
Definition: cpl.h:16
#define CPL_INIT
Definition: cpl.h:12
#define CPL_GETCOUNT
Definition: cpl.h:13
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define NUM_APPLETS
Definition: joy.c:32
APPLET Applets[NUM_APPLETS]
Definition: joy.c:39
unsigned int UINT
Definition: ndis.h:50
int idDescription
Definition: hotplug.h:37
int idName
Definition: hotplug.h:36
int idIcon
Definition: hotplug.h:35
APPLET_PROC AppletProc
Definition: hotplug.h:38
Definition: cpl.h:24
LONG_PTR lData
Definition: cpl.h:28
int idName
Definition: cpl.h:26
int idInfo
Definition: cpl.h:27
int idIcon
Definition: cpl.h:25

◆ CustomPageProc()

INT_PTR CALLBACK CustomPageProc ( HWND  hwndDlg,
UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam 
)

Definition at line 123 of file joy.c.

124{
126
127 switch (uMsg)
128 {
129 case WM_INITDIALOG:
130 {
131 WCHAR szBuf[2];
132 HWND hComboHwnd;
133 szBuf[1] = UNICODE_NULL;
134
136
137 hComboHwnd = GetDlgItem(hwndDlg, IDC_AXES_COMBO);
138 szBuf[0] = L'2';
139 SendMessageW(hComboHwnd, CB_ADDSTRING, 0, (LPARAM)szBuf);
140 szBuf[0] = L'3';
141 SendMessageW(hComboHwnd, CB_ADDSTRING, 0, (LPARAM)szBuf);
142 szBuf[0] = L'4';
143 SendMessageW(hComboHwnd, CB_ADDSTRING, 0, (LPARAM)szBuf);
144 SendMessageW(hComboHwnd, CB_SETCURSEL, 0, 0);
145
146 hComboHwnd = GetDlgItem(hwndDlg, IDC_BUTTONS_COMBO);
147 szBuf[0] = L'0';
148 SendMessageW(hComboHwnd, CB_ADDSTRING, 0, (LPARAM)szBuf);
149 szBuf[0] = L'1';
150 SendMessageW(hComboHwnd, CB_ADDSTRING, 0, (LPARAM)szBuf);
151 szBuf[0] = L'2';
152 SendMessageW(hComboHwnd, CB_ADDSTRING, 0, (LPARAM)szBuf);
153 szBuf[0] = L'3';
154 SendMessageW(hComboHwnd, CB_ADDSTRING, 0, (LPARAM)szBuf);
155 szBuf[0] = L'4';
156 SendMessageW(hComboHwnd, CB_ADDSTRING, 0, (LPARAM)szBuf);
157 SendMessageW(hComboHwnd, CB_SETCURSEL, 4, 0);
158
159 break;
160 }
161
162 case WM_COMMAND:
163 switch (LOWORD(wParam))
164 {
165 case IDOK:
166 EndDialog(hwndDlg,LOWORD(wParam));
167 break;
168
169 case IDCANCEL:
170 EndDialog(hwndDlg,LOWORD(wParam));
171 break;
172 }
173 break;
174
175 case WM_NOTIFY:
176 break;
177
178 case WM_SYSCOMMAND:
179 switch (LOWORD(wParam))
180 {
181 case SC_CONTEXTHELP:
182 // Not implemented yet
183 break;
184 }
185 break;
186 }
187 return 0;
188}
#define IDC_BUTTONS_COMBO
Definition: resource.h:37
#define IDC_AXES_COMBO
Definition: resource.h:34
#define IDC_JOYSTICK_RADIO
Definition: resource.h:30
#define UNICODE_NULL
#define L(x)
Definition: ntvdm.h:50
BOOL WINAPI CheckDlgButton(_In_ HWND, _In_ int, _In_ UINT)
#define BST_CHECKED
Definition: winuser.h:197

Referenced by AddPageProc().

◆ DllMain()

BOOL WINAPI DllMain ( HINSTANCE  hinstDLL,
DWORD  dwReason,
LPVOID  lpvReserved 
)

Definition at line 361 of file joy.c.

362{
364
365 switch (dwReason)
366 {
370 hApplet = hinstDLL;
371 break;
372 }
373
374 return TRUE;
375}
DWORD dwReason
Definition: misc.cpp:154
#define DLL_PROCESS_ATTACH
Definition: compat.h:131
#define DLL_THREAD_ATTACH
Definition: compat.h:132
HRESULT WINAPI CoInitialize(LPVOID lpReserved)
Definition: compobj.c:1964
static IN DWORD IN LPVOID lpvReserved

◆ MainPageProc()

INT_PTR CALLBACK MainPageProc ( HWND  hwndDlg,
UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam 
)

Definition at line 237 of file joy.c.

238{
239 static HICON s_hIcon = NULL, s_hIconSm = NULL;
241
242 switch (uMsg)
243 {
244 case WM_INITDIALOG:
251 SendMessageW(hwndDlg, WM_SETICON, ICON_BIG, (LPARAM)s_hIcon);
252 SendMessageW(hwndDlg, WM_SETICON, ICON_SMALL, (LPARAM)s_hIconSm);
253 break;
254
255 case WM_COMMAND:
256 switch (LOWORD(wParam))
257 {
258 case IDC_ADD_BUTTON:
261 hwndDlg,
263 break;
264
268 hwndDlg,
270 break;
271
272 case IDOK:
273 case IDCANCEL:
274 DestroyIcon(s_hIcon);
275 DestroyIcon(s_hIconSm);
276 EndDialog(hwndDlg,LOWORD(wParam));
277 break;
278 }
279 break;
280
281 case WM_NOTIFY:
282 break;
283
284 case WM_SYSCOMMAND:
285 switch (LOWORD(wParam))
286 {
287 case SC_CLOSE:
288 DestroyIcon(s_hIcon);
289 DestroyIcon(s_hIconSm);
290 EndDialog(hwndDlg,LOWORD(wParam));
291 break;
292
293 case SC_CONTEXTHELP:
294 // Not implemented yet
295 break;
296 }
297 break;
298 }
299 return 0;
300}
#define IDD_ADVANCED
Definition: resource.h:10
void AddColumns(void)
Definition: column.c:48
#define IDI_CPLSYSTEM
Definition: resource.h:4
#define IDD_ADD
Definition: resource.h:17
#define IDC_ADD_BUTTON
Definition: resource.h:23
#define IDC_CONTROLLER_LIST
Definition: resource.h:20
#define IDC_ADVANCED_BUTTON
Definition: resource.h:24
INT_PTR CALLBACK AddPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: joy.c:191
INT_PTR CALLBACK AdvancedPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: joy.c:77
static HICON
Definition: imagelist.c:84
#define ICON_BIG
Definition: tnclass.cpp:51
#define ICON_SMALL
Definition: tnclass.cpp:48
#define IMAGE_ICON
Definition: winuser.h:212
HANDLE WINAPI LoadImageW(_In_opt_ HINSTANCE hInst, _In_ LPCWSTR name, _In_ UINT type, _In_ int cx, _In_ int cy, _In_ UINT fuLoad)
Definition: cursoricon.c:2203
#define SM_CYSMICON
Definition: winuser.h:1013
#define SM_CXSMICON
Definition: winuser.h:1012
#define SC_CLOSE
Definition: winuser.h:2592
#define MAKEINTRESOURCEW(i)
Definition: winuser.h:582
HICON WINAPI LoadIconW(_In_opt_ HINSTANCE hInstance, _In_ LPCWSTR lpIconName)
Definition: cursoricon.c:2075
int WINAPI GetSystemMetrics(_In_ int)
BOOL WINAPI DestroyIcon(_In_ HICON)
Definition: cursoricon.c:2053

Referenced by SystemApplet().

◆ SystemApplet()

LONG CALLBACK SystemApplet ( HWND  hwnd,
UINT  uMsg,
LPARAM  lParam1,
LPARAM  lParam2 
)

Definition at line 304 of file joy.c.

305{
307 UNREFERENCED_PARAMETER(lParam1);
308 UNREFERENCED_PARAMETER(lParam2);
309
312 hwnd,
314
315 return (LONG)TRUE;
316}
#define IDD_PROPPAGEMAIN
Definition: resource.h:7
INT_PTR CALLBACK MainPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: joy.c:237
long LONG
Definition: pedump.c:60
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023

Variable Documentation

◆ Applets

APPLET Applets[NUM_APPLETS]
Initial value:
=
{
}
#define IDS_CPLSYSTEMNAME
Definition: resource.h:23
#define IDS_CPLSYSTEMDESCRIPTION
Definition: resource.h:24
LONG CALLBACK SystemApplet(HWND hwnd, UINT uMsg, LPARAM lParam1, LPARAM lParam2)
Definition: joy.c:304

Definition at line 39 of file joy.c.

Referenced by CPlApplet().

◆ hApplet

HINSTANCE hApplet = 0

Definition at line 35 of file joy.c.

Referenced by AddColumns(), AddPageProc(), AdvancedPageProc(), DllMain(), MainPageProc(), and SystemApplet().