| 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
|
| + };
|
| +
|
| + 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_
|
|
|