diff options
-rw-r--r-- | widget/windows/nsWinGesture.h | 155 |
1 files changed, 2 insertions, 153 deletions
diff --git a/widget/windows/nsWinGesture.h b/widget/windows/nsWinGesture.h index f5561166a..fdd1588b6 100644 --- a/widget/windows/nsWinGesture.h +++ b/widget/windows/nsWinGesture.h @@ -17,155 +17,6 @@ #include "mozilla/EventForwards.h" #include "mozilla/TouchEvents.h" -// Desktop builds target apis for 502. Win8 Metro builds target 602. -#if WINVER < 0x0601 - -DECLARE_HANDLE(HGESTUREINFO); - -/* - * Gesture flags - GESTUREINFO.dwFlags - */ -#define GF_BEGIN 0x00000001 -#define GF_INERTIA 0x00000002 -#define GF_END 0x00000004 - -/* - * Gesture configuration structure - * - Used in SetGestureConfig and GetGestureConfig - * - Note that any setting not included in either GESTURECONFIG.dwWant or - * GESTURECONFIG.dwBlock will use the parent window's preferences or - * system defaults. - */ -typedef struct tagGESTURECONFIG { - DWORD dwID; // gesture ID - DWORD dwWant; // settings related to gesture ID that are to be turned on - DWORD dwBlock; // settings related to gesture ID that are to be turned off -} GESTURECONFIG, *PGESTURECONFIG; - -/* - * Gesture information structure - * - Pass the HGESTUREINFO received in the WM_GESTURE message lParam into the - * GetGestureInfo function to retrieve this information. - * - If cbExtraArgs is non-zero, pass the HGESTUREINFO received in the WM_GESTURE - * message lParam into the GetGestureExtraArgs function to retrieve extended - * argument information. - */ -typedef struct tagGESTUREINFO { - UINT cbSize; // size, in bytes, of this structure (including variable length Args field) - DWORD dwFlags; // see GF_* flags - DWORD dwID; // gesture ID, see GID_* defines - HWND hwndTarget; // handle to window targeted by this gesture - POINTS ptsLocation; // current location of this gesture - DWORD dwInstanceID; // internally used - DWORD dwSequenceID; // internally used - ULONGLONG ullArguments; // arguments for gestures whose arguments fit in 8 BYTES - UINT cbExtraArgs; // size, in bytes, of extra arguments, if any, that accompany this gesture -} GESTUREINFO, *PGESTUREINFO; -typedef GESTUREINFO const * PCGESTUREINFO; - -/* - * Gesture notification structure - * - The WM_GESTURENOTIFY message lParam contains a pointer to this structure. - * - The WM_GESTURENOTIFY message notifies a window that gesture recognition is - * in progress and a gesture will be generated if one is recognized under the - * current gesture settings. - */ -typedef struct tagGESTURENOTIFYSTRUCT { - UINT cbSize; // size, in bytes, of this structure - DWORD dwFlags; // unused - HWND hwndTarget; // handle to window targeted by the gesture - POINTS ptsLocation; // starting location - DWORD dwInstanceID; // internally used -} GESTURENOTIFYSTRUCT, *PGESTURENOTIFYSTRUCT; - - -/* - * Gesture argument helpers - * - Angle should be a double in the range of -2pi to +2pi - * - Argument should be an unsigned 16-bit value - */ -#define GID_ROTATE_ANGLE_TO_ARGUMENT(_arg_) ((USHORT)((((_arg_) + 2.0 * 3.14159265) / (4.0 * 3.14159265)) * 65535.0)) -#define GID_ROTATE_ANGLE_FROM_ARGUMENT(_arg_) ((((double)(_arg_) / 65535.0) * 4.0 * 3.14159265) - 2.0 * 3.14159265) - -/* - * Gesture configuration flags - */ -#define GC_ALLGESTURES 0x00000001 - -#define GC_ZOOM 0x00000001 - -#define GC_PAN 0x00000001 -#define GC_PAN_WITH_SINGLE_FINGER_VERTICALLY 0x00000002 -#define GC_PAN_WITH_SINGLE_FINGER_HORIZONTALLY 0x00000004 -#define GC_PAN_WITH_GUTTER 0x00000008 -#define GC_PAN_WITH_INERTIA 0x00000010 - -#define GC_ROTATE 0x00000001 - -#define GC_TWOFINGERTAP 0x00000001 - -#define GC_PRESSANDTAP 0x00000001 - -/* - * Gesture IDs - */ -#define GID_BEGIN 1 -#define GID_END 2 -#define GID_ZOOM 3 -#define GID_PAN 4 -#define GID_ROTATE 5 -#define GID_TWOFINGERTAP 6 -#define GID_PRESSANDTAP 7 - -// Maximum number of gestures that can be included -// in a single call to SetGestureConfig / GetGestureConfig -#define GESTURECONFIGMAXCOUNT 256 - -// If specified, GetGestureConfig returns consolidated configuration -// for the specified window and it's parent window chain -#define GCF_INCLUDE_ANCESTORS 0x00000001 - -// Window events we need to respond to or receive -#define WM_GESTURE 0x0119 -#define WM_GESTURENOTIFY 0x011A - -typedef struct _TOUCHINPUT { - LONG x; - LONG y; - HANDLE hSource; - DWORD dwID; - DWORD dwFlags; - DWORD dwMask; - DWORD dwTime; - ULONG_PTR dwExtraInfo; - DWORD cxContact; - DWORD cyContact; -} TOUCHINPUT, *PTOUCHINPUT; - -typedef HANDLE HTOUCHINPUT; - -#define WM_TOUCH 0x0240 - -#define TOUCHEVENTF_MOVE 0x0001 -#define TOUCHEVENTF_DOWN 0x0002 -#define TOUCHEVENTF_UP 0x0004 -#define TOUCHEVENTF_INRANGE 0x0008 -#define TOUCHEVENTF_PRIMARY 0x0010 -#define TOUCHEVENTF_NOCOALESCE 0x0020 -#define TOUCHEVENTF_PEN 0x0040 -#define TOUCHEVENTF_PALM 0x0080 - -#define TOUCHINPUTMASKF_TIMEFROMSYSTEM 0x0001 -#define TOUCHINPUTMASKF_EXTRAINFO 0x0002 -#define TOUCHINPUTMASKF_CONTACTAREA 0x0004 - -#define TOUCH_COORD_TO_PIXEL(C) (C/100) - -#define TWF_FINETOUCH 0x0001 -#define TWF_WANTPALM 0x0002 - -#endif // WINVER < 0x0602 - // WM_TABLET_QUERYSYSTEMGESTURESTATUS return values #define TABLET_ROTATE_GESTURE_ENABLE 0x02000000 @@ -205,7 +56,7 @@ public: bool GetTouchInputInfo(HTOUCHINPUT hTouchInput, uint32_t cInputs, PTOUCHINPUT pInputs); bool CloseTouchInputHandle(HTOUCHINPUT hTouchInput); bool IsAvailable(); - + // Simple gesture process bool ProcessGestureMessage(HWND hWnd, WPARAM wParam, LPARAM lParam, mozilla::WidgetSimpleGestureEvent& evt); @@ -216,7 +67,7 @@ public: void UpdatePanFeedbackX(HWND hWnd, int32_t scrollOverflow, bool& endFeedback); void UpdatePanFeedbackY(HWND hWnd, int32_t scrollOverflow, bool& endFeedback); void PanFeedbackFinalize(HWND hWnd, bool endFeedback); - + public: // Helpers bool GetGestureInfo(HGESTUREINFO hGestureInfo, PGESTUREINFO pGestureInfo); @@ -284,5 +135,3 @@ private: }; #endif /* WinGesture_h__ */ - - |