Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / ash / wm / gestures / shelf_gesture_handler.h
blobbbcef2874670fd2e5eeb391ea51c9c900a25f5aa
1 // Copyright (c) 2012 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.
5 #ifndef ASH_WM_GESTURES_SHELF_GESTURE_HANDLER_H_
6 #define ASH_WM_GESTURES_SHELF_GESTURE_HANDLER_H_
8 #include "base/basictypes.h"
9 #include "base/memory/scoped_ptr.h"
11 namespace aura {
12 class Window;
13 } // namespace aura
15 namespace ui {
16 class GestureEvent;
17 } // namespace ui
19 namespace ash {
21 // This manages gestures on the shelf (e.g. launcher, status tray) that affects
22 // the shelf visibility.
23 class ShelfGestureHandler {
24 public:
25 ShelfGestureHandler();
26 virtual ~ShelfGestureHandler();
28 // Processes a gesture event and updates the status of the shelf when
29 // appropriate. Returns true of the gesture has been handled and it should not
30 // be processed any farther, false otherwise.
31 // The caller must provide the |event_target_window| because the caller has
32 // knowledge of the type of the |event.target()| whether it's a |views::View|
33 // or an |aura::Window|.
34 bool ProcessGestureEvent(const ui::GestureEvent& event,
35 const aura::Window* event_target_window);
37 private:
38 bool drag_in_progress_;
40 DISALLOW_COPY_AND_ASSIGN(ShelfGestureHandler);
43 } // namespace ash
45 #endif // ASH_WM_GESTURES_SHELF_GESTURE_HANDLER_H_