Home | History | Annotate | Download | only in wm
      1 // Copyright 2014 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_CURSOR_MANAGER_CHROMEOS_H_
      6 #define ASH_WM_CURSOR_MANAGER_CHROMEOS_H_
      7 
      8 #include "ash/ash_export.h"
      9 #include "base/basictypes.h"
     10 #include "base/compiler_specific.h"
     11 #include "base/memory/scoped_ptr.h"
     12 #include "ui/wm/core/cursor_manager.h"
     13 #include "ui/wm/core/native_cursor_manager_delegate.h"
     14 
     15 namespace ui {
     16 class KeyEvent;
     17 }
     18 
     19 namespace wm {
     20 class NativeCursorManager;
     21 }
     22 
     23 namespace ash {
     24 
     25 // This class overrides the cursor hiding behaviour on ChromeOS. The cursor is
     26 // hidden on certain key events only if the accessibility keyboard is not
     27 // enabled.
     28 class ASH_EXPORT CursorManager : public ::wm::CursorManager {
     29  public:
     30   explicit CursorManager(
     31       scoped_ptr< ::wm::NativeCursorManager> delegate);
     32   virtual ~CursorManager();
     33 
     34   // aura::client::CursorClient:
     35   virtual bool ShouldHideCursorOnKeyEvent(
     36       const ui::KeyEvent& event) const OVERRIDE;
     37  private:
     38   DISALLOW_COPY_AND_ASSIGN(CursorManager);
     39 };
     40 
     41 }  // namespace ash
     42 
     43 #endif  // ASH_WM_CURSOR_MANAGER_CHROMEOS_H_
     44