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"
|