Chromium Code Reviews| Index: content/browser/renderer_host/input/gesture_event_packet.h |
| diff --git a/content/browser/renderer_host/input/gesture_event_packet.h b/content/browser/renderer_host/input/gesture_event_packet.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..8135db0228de1ad7b3619bb142d28f8a06414a8c |
| --- /dev/null |
| +++ b/content/browser/renderer_host/input/gesture_event_packet.h |
| @@ -0,0 +1,49 @@ |
| +// Copyright 2013 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef CONTENT_BROWSER_RENDERER_HOST_INPUT_GESTURE_EVENT_PACKET_H_ |
| +#define CONTENT_BROWSER_RENDERER_HOST_INPUT_GESTURE_EVENT_PACKET_H_ |
| + |
| +#include "content/common/content_export.h" |
| +#include "third_party/WebKit/public/web/WebInputEvent.h" |
| + |
| +namespace content { |
| + |
| +// Acts as a transport container for gestures created by a particular event, be |
| +// that synthetic or otherwise. |
| +class CONTENT_EXPORT GestureEventPacket { |
| + public: |
| + enum GestureSource { |
| + TOUCH_BEGIN, // The start of a new gesture sequence. |
| + TOUCH, // Continuation of an existing gesture sequence. |
| + TOUCH_TIMEOUT, // Timeout from an existing gesture sequence. |
| + SYNTHETIC, // Non-touch-derived gesture sequence. |
| + GESTURE_SOURCE_DEFAULT = TOUCH |
|
aelias_OOO_until_Jul13
2014/01/24 05:35:54
I'd prefer to get rid of this and the default cons
jdduke (slow)
2014/01/24 18:17:35
Done.
|
| + }; |
| + |
| + GestureEventPacket(); |
| + explicit GestureEventPacket(GestureSource source); |
| + ~GestureEventPacket(); |
| + |
| + void Push(const blink::WebGestureEvent& gesture); |
| + |
| + const blink::WebGestureEvent& gesture(size_t i) const { return gestures_[i]; } |
| + size_t gesture_count() const { return gesture_count_; } |
| + GestureSource gesture_source() const { return gesture_source_; } |
| + |
| + // Utility methods for creating a packet from a particular event. |
| + static GestureEventPacket FromTouch(const blink::WebTouchEvent& event); |
| + static GestureEventPacket FromGesture(GestureSource source, |
| + const blink::WebGestureEvent& event); |
| + |
| +private: |
| + enum { kMaxGesturesPerTouch = 5 }; |
| + blink::WebGestureEvent gestures_[kMaxGesturesPerTouch]; |
| + size_t gesture_count_; |
| + GestureSource gesture_source_; |
| +}; |
| + |
| +} // namespace content |
| + |
| +#endif // CONTENT_BROWSER_RENDERER_HOST_INPUT_GESTURE_EVENT_PACKET_H_ |