UnifiedDesktop: mouse warp support
[chromium-blink-merge.git] / ash / display / mouse_warp_controller.h
blobc07cbee334a1b81d9fbe844b900e852ddf5acaca
1 // Copyright 2015 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_DISPLAY_MOUSE_WARP_CONTROLLER_H
6 #define ASH_DISPLAY_MOUSE_WARP_CONTROLLER_H
8 #include "ash/ash_export.h"
9 #include "base/macros.h"
11 namespace ui {
12 class MouseEvent;
15 namespace ash {
17 // MouseWarpController implements the mouse warp behavior for
18 // different display modes and platforms.
19 class ASH_EXPORT MouseWarpController {
20 public:
21 virtual ~MouseWarpController() {}
23 // An implementaion may warp the mouse cursor to another display
24 // when necessary. Returns true if the mouse cursor has been
25 // moved to another display, or false otherwise.
26 virtual bool WarpMouseCursor(ui::MouseEvent* event) = 0;
28 // Enables/Disables mouse warping.
29 virtual void SetEnabled(bool enable) = 0;
32 } // namespace ash
34 #endif // ASH_DISPLAY_MOUSE_WARP_CONTROLLER_H