76f5fb8147fafd8812882199ea320a368a521f53
[platform/framework/web/crosswalk.git] / src / ash / wm / gestures / overview_gesture_handler.h
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
3 // found in the LICENSE file.
4
5 #ifndef ASH_WM_GESTURES_OVERVIEW_GESTURE_HANDLER_H_
6 #define ASH_WM_GESTURES_OVERVIEW_GESTURE_HANDLER_H_
7
8 #include "base/basictypes.h"
9
10 namespace aura {
11 class Window;
12 }
13
14 namespace ui {
15 class GestureEvent;
16 class ScrollEvent;
17 }
18
19 namespace ash {
20
21 // This handles a 3-finger swipe down gesture from the top of the screen to
22 // enter overview mode.
23 class OverviewGestureHandler {
24  public:
25   OverviewGestureHandler();
26   virtual ~OverviewGestureHandler();
27
28   // Processes a scroll event and may start overview. Returns true if the event
29   // has been handled and should not be processed further, false otherwise.
30   bool ProcessScrollEvent(const ui::ScrollEvent& event);
31
32   // Processes a gesture event and may start overview. Returns true if the event
33   // has been handled and should not be processed any farther, false otherwise.
34   bool ProcessGestureEvent(const ui::GestureEvent& event);
35
36  private:
37   // True if the current/last gesture began in the top bezel.
38   bool in_top_bezel_gesture_;
39
40   // The total distance scrolled with three fingers.
41   float scroll_x_;
42   float scroll_y_;
43
44   DISALLOW_COPY_AND_ASSIGN(OverviewGestureHandler);
45 };
46
47 }  // namespace ash
48
49 #endif  // ASH_WM_GESTURES_OVERVIEW_GESTURE_HANDLER_H_