First public contribution.
1 // Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
14 // wins\specific\multitouchwindowsheader.h
18 * This header file includes some Windows API declarations
20 #ifndef MULTITOUCHWINDOWSHEADER_H
21 #define MULTITOUCHWINDOWSHEADER_H
23 #pragma warning(disable:4201) // ignore the anonymous struct warning in this file
24 #define _ANONYMOUS_UNION
25 #define _ANONYMOUS_STRUCT
28 #define WM_MOUSEWHEEL 0x020A
30 #define RID_INPUT 0x10000003
31 #define RID_HEADER 0x10000005
32 #define RIDEV_REMOVE 0x00000001
33 #define RIDEV_PAGEONLY 0x00000020
34 #define RIDEV_NOLEGACY 0x00000030
35 #define MOUSE_MOVE_ABSOLUTE 0x00000001
36 #define RI_MOUSE_LEFT_BUTTON_DOWN 0x0001
37 #define RI_MOUSE_LEFT_BUTTON_UP 0x0002
38 #define RI_MOUSE_RIGHT_BUTTON_DOWN 0x0004
39 #define RI_MOUSE_RIGHT_BUTTON_UP 0x0008
40 #define RI_MOUSE_WHEEL 0x0400
41 #define RIM_TYPEMOUSE 0x00000000
43 DECLARE_HANDLE(HRAWINPUT);
44 typedef struct tagRAWINPUTHEADER {
49 } RAWINPUTHEADER,*PRAWINPUTHEADER;
51 typedef struct tagRAWMOUSE {
53 _ANONYMOUS_UNION union {
55 _ANONYMOUS_STRUCT struct {
63 ULONG ulExtraInformation;
64 } RAWMOUSE,*PRAWMOUSE,*LPRAWMOUSE;
66 typedef struct tagRAWKEYBOARD {
72 ULONG ExtraInformation;
73 } RAWKEYBOARD,*PRAWKEYBOARD,*LPRAWKEYBOARD;
75 typedef struct tagRAWHID {
79 } RAWHID,*PRAWHID,*LPRAWHID;
81 typedef struct tagRAWINPUT {
82 RAWINPUTHEADER header;
88 } RAWINPUT,*PRAWINPUT,*LPRAWINPUT;
90 typedef struct tagRAWINPUTDEVICE {
95 } RAWINPUTDEVICE,*PRAWINPUTDEVICE,*LPRAWINPUTDEVICE;
97 typedef const RAWINPUTDEVICE *PCRAWINPUTDEVICE;
99 typedef struct tagRAWINPUTDEVICELIST {
102 } RAWINPUTDEVICELIST,*PRAWINPUTDEVICELIST;
104 typedef WINUSERAPI BOOL (WINAPI *TYPEOF_RegisterRawInputDevices)(PCRAWINPUTDEVICE,UINT,UINT);
105 typedef WINUSERAPI UINT (WINAPI *TYPEOF_GetRawInputData)(HRAWINPUT,UINT,LPVOID,PUINT,UINT);
106 typedef WINUSERAPI UINT (WINAPI *TYPEOF_GetRawInputDeviceList)(PRAWINPUTDEVICELIST,PUINT,UINT);