// 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 ASH_SHELF_SHELF_BEZEL_EVENT_FILTER_H_ #define ASH_SHELF_SHELF_BEZEL_EVENT_FILTER_H_ #include "ash/wm/gestures/shelf_gesture_handler.h" #include "ui/events/event_handler.h" #include "ui/gfx/geometry/rect.h" namespace ash { class ShelfLayoutManager; // Detects and forwards touch gestures that occur on a bezel sensor to the // shelf. class ShelfBezelEventFilter : public ui::EventHandler { public: explicit ShelfBezelEventFilter(ShelfLayoutManager* shelf); ~ShelfBezelEventFilter() override; // Overridden from ui::EventHandler: void OnGestureEvent(ui::GestureEvent* event) override; private: bool IsShelfOnBezel(const gfx::Rect& screen, const gfx::Point& point) const; ShelfLayoutManager* shelf_; // non-owned bool in_touch_drag_; ShelfGestureHandler gesture_handler_; DISALLOW_COPY_AND_ASSIGN(ShelfBezelEventFilter); }; } // namespace ash #endif // ASH_SHELF_SHELF_BEZEL_EVENT_FILTER_H_