127 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			127 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
// Windows 7
 | 
						|
#define WINVER 0x0601
 | 
						|
#ifdef _WIN32_WINNT
 | 
						|
#undef _WIN32_WINNT
 | 
						|
#endif
 | 
						|
#define _WIN32_WINNT 0x0601
 | 
						|
 | 
						|
#define NOATOM
 | 
						|
//#define NOCLIPBOARD
 | 
						|
#define NOCOLOR
 | 
						|
#define NOCOMM
 | 
						|
//#define NOCTLMGR
 | 
						|
#define NODEFERWINDOWPOS
 | 
						|
#define NODRAWTEXT
 | 
						|
//#define NOGDI
 | 
						|
#define NOGDICAPMASKS
 | 
						|
#define NOHELP
 | 
						|
#define NOICONS
 | 
						|
#define NOKANJI
 | 
						|
#define NOKEYSTATES
 | 
						|
//#define NOMB
 | 
						|
#define NOMCX
 | 
						|
#define NOMEMMGR
 | 
						|
#define NOMENUS
 | 
						|
#define NOMETAFILE
 | 
						|
#define NOMINMAX
 | 
						|
//#define NOMSG
 | 
						|
//#define NONLS
 | 
						|
#define NOOPENFILE
 | 
						|
#define NOPROFILER
 | 
						|
#define NORASTEROPS
 | 
						|
#define NOSCROLL
 | 
						|
#define NOSERVICE
 | 
						|
//#define NOSHOWWINDOW
 | 
						|
#define NOSOUND
 | 
						|
//#define NOSYSCOMMANDS
 | 
						|
#define NOSYSMETRICS
 | 
						|
#define NOTEXTMETRIC
 | 
						|
//#define NOUSER
 | 
						|
//#define NOVIRTUALKEYCODES
 | 
						|
#define NOWH
 | 
						|
//#define NOWINMESSAGES
 | 
						|
//#define NOWINOFFSETS
 | 
						|
//#define NOWINSTYLES
 | 
						|
#define WIN32_LEAN_AND_MEAN
 | 
						|
 | 
						|
#include <Windows.h>
 | 
						|
#include <Windowsx.h>
 | 
						|
 | 
						|
// Some types for features exclusive to later versions of Windows are copied in here.
 | 
						|
// Use with care, make sure not to break backwards-compatibility when using them.
 | 
						|
 | 
						|
typedef DWORD POINTER_INPUT_TYPE;
 | 
						|
 | 
						|
typedef UINT32 POINTER_FLAGS;
 | 
						|
 | 
						|
typedef enum tagPOINTER_BUTTON_CHANGE_TYPE {
 | 
						|
	POINTER_CHANGE_NONE,
 | 
						|
	POINTER_CHANGE_FIRSTBUTTON_DOWN,
 | 
						|
	POINTER_CHANGE_FIRSTBUTTON_UP,
 | 
						|
	POINTER_CHANGE_SECONDBUTTON_DOWN,
 | 
						|
	POINTER_CHANGE_SECONDBUTTON_UP,
 | 
						|
	POINTER_CHANGE_THIRDBUTTON_DOWN,
 | 
						|
	POINTER_CHANGE_THIRDBUTTON_UP,
 | 
						|
	POINTER_CHANGE_FOURTHBUTTON_DOWN,
 | 
						|
	POINTER_CHANGE_FOURTHBUTTON_UP,
 | 
						|
	POINTER_CHANGE_FIFTHBUTTON_DOWN,
 | 
						|
	POINTER_CHANGE_FIFTHBUTTON_UP,
 | 
						|
} POINTER_BUTTON_CHANGE_TYPE;
 | 
						|
 | 
						|
typedef struct tagPOINTER_INFO {
 | 
						|
	POINTER_INPUT_TYPE pointerType;
 | 
						|
	UINT32 pointerId;
 | 
						|
	UINT32 frameId;
 | 
						|
	POINTER_FLAGS pointerFlags;
 | 
						|
	HANDLE sourceDevice;
 | 
						|
	HWND hwndTarget;
 | 
						|
	POINT ptPixelLocation;
 | 
						|
	POINT ptHimetricLocation;
 | 
						|
	POINT ptPixelLocationRaw;
 | 
						|
	POINT ptHimetricLocationRaw;
 | 
						|
	DWORD dwTime;
 | 
						|
	UINT32 historyCount;
 | 
						|
	INT32 InputData;
 | 
						|
	DWORD dwKeyStates;
 | 
						|
	UINT64 PerformanceCount;
 | 
						|
	POINTER_BUTTON_CHANGE_TYPE ButtonChangeType;
 | 
						|
} POINTER_INFO;
 | 
						|
 | 
						|
typedef UINT32 PEN_FLAGS;
 | 
						|
 | 
						|
typedef UINT32 PEN_MASK;
 | 
						|
 | 
						|
typedef struct tagPOINTER_PEN_INFO {
 | 
						|
	POINTER_INFO pointerInfo;
 | 
						|
	PEN_FLAGS penFlags;
 | 
						|
	PEN_MASK penMask;
 | 
						|
	UINT32 pressure;
 | 
						|
	UINT32 rotation;
 | 
						|
	INT32 tiltX;
 | 
						|
	INT32 tiltY;
 | 
						|
} POINTER_PEN_INFO;
 | 
						|
 | 
						|
#define WM_POINTERUPDATE 0x0245
 | 
						|
#define WM_POINTERDOWN 0x0246
 | 
						|
#define WM_POINTERUP 0x0247
 | 
						|
 | 
						|
#define GET_POINTERID_WPARAM(wParam) (LOWORD(wParam))
 | 
						|
 | 
						|
enum tagPOINTER_INPUT_TYPE {
 | 
						|
	PT_POINTER = 1,  // Generic pointer
 | 
						|
	PT_TOUCH = 2,    // Touch
 | 
						|
	PT_PEN = 3,      // Pen
 | 
						|
	PT_MOUSE = 4,    // Mouse
 | 
						|
	PT_TOUCHPAD = 5, // Touchpad
 | 
						|
};
 | 
						|
 | 
						|
#include <stdio.h>
 | 
						|
 | 
						|
#include "Windows.c.h"
 | 
						|
#include "base.c.h"
 | 
						|
#include "display.c.h"
 | 
						|
#include "http.c.h"
 | 
						|
#include "mouse.c.h"
 | 
						|
#include "system.c.h"
 | 
						|
#include "window.c.h"
 |