OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CONTENT_COMMON_INPUT_TOUCH_ACTION_H_ | 5 #ifndef CONTENT_COMMON_INPUT_TOUCH_ACTION_H_ |
6 #define CONTENT_COMMON_INPUT_TOUCH_ACTION_H_ | 6 #define CONTENT_COMMON_INPUT_TOUCH_ACTION_H_ |
7 | 7 |
8 namespace content { | 8 namespace content { |
9 | 9 |
10 // The current touch action specifies what accelerated browser operations | 10 // The current touch action specifies what accelerated browser operations |
11 // (panning and zooming) are currently permitted via touch input. | 11 // (panning and zooming) are currently permitted via touch input. |
12 // See http://www.w3.org/TR/pointerevents/#the-touch-action-css-property. | 12 // See http://www.w3.org/TR/pointerevents/#the-touch-action-css-property. |
13 enum TouchAction { | 13 enum TouchAction { |
14 // All actions are pemitted (the default). | 14 // No scrolling or zooming allowed. |
15 TOUCH_ACTION_AUTO = 0, | 15 TOUCH_ACTION_NONE = 0, |
16 | 16 |
17 // No scrolling or zooming allowed. | 17 TOUCH_ACTION_PAN_LEFT = 1 << 0, |
18 TOUCH_ACTION_NONE = 1 << 0, | |
19 | 18 |
20 TOUCH_ACTION_PAN_LEFT = 1 << 1, | 19 TOUCH_ACTION_PAN_RIGHT = 1 << 1, |
21 | |
22 TOUCH_ACTION_PAN_RIGHT = 1 << 2, | |
23 | 20 |
24 TOUCH_ACTION_PAN_X = TOUCH_ACTION_PAN_LEFT | TOUCH_ACTION_PAN_RIGHT, | 21 TOUCH_ACTION_PAN_X = TOUCH_ACTION_PAN_LEFT | TOUCH_ACTION_PAN_RIGHT, |
25 | 22 |
26 TOUCH_ACTION_PAN_UP = 1 << 3, | 23 TOUCH_ACTION_PAN_UP = 1 << 2, |
27 | 24 |
28 TOUCH_ACTION_PAN_DOWN = 1 << 4, | 25 TOUCH_ACTION_PAN_DOWN = 1 << 3, |
29 | 26 |
30 TOUCH_ACTION_PAN_Y = TOUCH_ACTION_PAN_UP | TOUCH_ACTION_PAN_DOWN, | 27 TOUCH_ACTION_PAN_Y = TOUCH_ACTION_PAN_UP | TOUCH_ACTION_PAN_DOWN, |
31 | 28 |
32 TOUCH_ACTION_PAN_X_Y = TOUCH_ACTION_PAN_X | TOUCH_ACTION_PAN_Y, | 29 TOUCH_ACTION_PAN = TOUCH_ACTION_PAN_X | TOUCH_ACTION_PAN_Y, |
33 | 30 |
34 TOUCH_ACTION_PINCH_ZOOM = 1 << 5, | 31 TOUCH_ACTION_PINCH_ZOOM = 1 << 4, |
35 | 32 |
36 TOUCH_ACTION_MANIPULATION = TOUCH_ACTION_PAN_X_Y | TOUCH_ACTION_PINCH_ZOOM, | 33 TOUCH_ACTION_MANIPULATION = TOUCH_ACTION_PAN | TOUCH_ACTION_PINCH_ZOOM, |
| 34 |
| 35 TOUCH_ACTION_DOUBLE_TAP_ZOOM = 1 << 5, |
| 36 |
| 37 // All actions are permitted (the default). |
| 38 TOUCH_ACTION_AUTO = TOUCH_ACTION_MANIPULATION | TOUCH_ACTION_DOUBLE_TAP_ZOOM, |
37 | 39 |
38 TOUCH_ACTION_MAX = (1 << 6) - 1 | 40 TOUCH_ACTION_MAX = (1 << 6) - 1 |
39 }; | 41 }; |
40 | 42 |
| 43 inline TouchAction operator| (TouchAction a, TouchAction b) |
| 44 { |
| 45 return static_cast<TouchAction>(int(a) | int(b)); |
| 46 } |
| 47 inline TouchAction& operator|= (TouchAction& a, TouchAction b) |
| 48 { |
| 49 return a = a | b; |
| 50 } |
| 51 inline TouchAction operator& (TouchAction a, TouchAction b) |
| 52 { |
| 53 return static_cast<TouchAction>(int(a) & int(b)); |
| 54 } |
| 55 inline TouchAction& operator&= (TouchAction& a, TouchAction b) |
| 56 { |
| 57 return a = a & b; |
| 58 } |
| 59 |
41 } // namespace content | 60 } // namespace content |
42 | 61 |
43 #endif // CONTENT_COMMON_INPUT_TOUCH_ACTION_H_ | 62 #endif // CONTENT_COMMON_INPUT_TOUCH_ACTION_H_ |
OLD | NEW |