/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
enum POINTER_FEEDBACK_MODE {
POINTER_FEEDBACK_DEFAULT =
1, // The injected pointer input feedback may get suppressed by the // end-user settings in the Pen and Touch control panel.
POINTER_FEEDBACK_INDIRECT =
2, // The injected pointer input feedback overrides the end-user settings // in the Pen and Touch control panel.
POINTER_FEEDBACK_NONE = 3, // No touch visualizations.
};
struct POINTER_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;
};
using TOUCH_FLAGS = UINT32; using TOUCH_MASK = UINT32;
struct POINTER_TOUCH_INFO {
POINTER_INFO pointerInfo;
TOUCH_FLAGS touchFlags;
TOUCH_MASK touchMask;
RECT rcContact;
RECT rcContactRaw;
UINT32 orientation;
UINT32 pressure;
};
# define PEN_FLAG_NONE 0x00000000 // Default # define PEN_FLAG_BARREL 0x00000001 // The barrel button is pressed # define PEN_FLAG_INVERTED 0x00000002 // The pen is inverted # define PEN_FLAG_ERASER 0x00000004 // The eraser button is pressed
# define PEN_MASK_NONE \
0x00000000 // Default - none of the optional fields are valid # define PEN_MASK_PRESSURE 0x00000001 // The pressure field is valid # define PEN_MASK_ROTATION 0x00000002 // The rotation field is valid # define PEN_MASK_TILT_X 0x00000004 // The tiltX field is valid # define PEN_MASK_TILT_Y 0x00000008 // The tiltY field is valid
using PEN_FLAGS = UINT32; using PEN_MASK = UINT32;
# define TOUCH_MASK_NONE \
0x00000000 // Default - none of the optional fields are valid # define TOUCH_MASK_CONTACTAREA 0x00000001 // The rcContact field is valid # define TOUCH_MASK_ORIENTATION 0x00000002 // The orientation field is valid # define TOUCH_MASK_PRESSURE 0x00000004 // The pressure field is valid
# define POINTER_FLAG_NONE 0x00000000 // Default # define POINTER_FLAG_NEW 0x00000001 // New pointer # define POINTER_FLAG_INRANGE 0x00000002 // Pointer has not departed # define POINTER_FLAG_INCONTACT 0x00000004 // Pointer is in contact # define POINTER_FLAG_FIRSTBUTTON 0x00000010 // Primary action # define POINTER_FLAG_SECONDBUTTON 0x00000020 // Secondary action # define POINTER_FLAG_THIRDBUTTON 0x00000040 // Third button # define POINTER_FLAG_FOURTHBUTTON 0x00000080 // Fourth button # define POINTER_FLAG_FIFTHBUTTON 0x00000100 // Fifth button # define POINTER_FLAG_PRIMARY 0x00002000 // Pointer is primary # define POINTER_FLAG_CONFIDENCE \
0x00004000 // Pointer is considered unlikely to be accidental # define POINTER_FLAG_CANCELED \
0x00008000 // Pointer is departing in an abnormal manner # define POINTER_FLAG_DOWN \
0x00010000 // Pointer transitioned to down state (made contact) # define POINTER_FLAG_UPDATE 0x00020000 // Pointer update # define POINTER_FLAG_UP \
0x00040000 // Pointer transitioned from down state (broke contact) # define POINTER_FLAG_WHEEL 0x00080000 // Vertical wheel # define POINTER_FLAG_HWHEEL 0x00100000 // Horizontal wheel # define POINTER_FLAG_CAPTURECHANGED 0x00200000 // Lost capture
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.