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_ 50