OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef UI_WM_CORE_ACCELERATOR_DELEGATE_H_ | 5 #ifndef UI_WM_CORE_ACCELERATOR_DELEGATE_H_ |
6 #define UI_WM_CORE_ACCELERATOR_DELEGATE_H_ | 6 #define UI_WM_CORE_ACCELERATOR_DELEGATE_H_ |
7 | 7 |
8 namespace ui { | 8 namespace ui { |
9 class Accelerator; | 9 class Accelerator; |
10 class KeyEvent; | 10 class KeyEvent; |
11 } | 11 } |
12 | 12 |
13 namespace wm { | 13 namespace wm { |
14 | 14 |
15 class AcceleratorDelegate { | 15 class AcceleratorDelegate { |
16 public: | 16 public: |
17 virtual ~AcceleratorDelegate() {} | 17 virtual ~AcceleratorDelegate() {} |
18 | 18 |
19 // Type of keys that triggers accelerators. | 19 // Type of keys that triggers accelerators. |
20 enum KeyType { | 20 enum KeyType { |
21 KEY_TYPE_SYSTEM, | 21 KEY_TYPE_SYSTEM, |
22 KEY_TYPE_OTHER, | 22 KEY_TYPE_OTHER, |
23 }; | 23 }; |
24 | 24 |
25 // TODO(oshima): Move the repeat detection to AcceleratorFilter. | |
26 virtual void PreProcessAccelerator(const ui::Accelerator& accelerator) = 0; | |
27 | |
28 // Return true if the |accelerator| has been processed. | 25 // Return true if the |accelerator| has been processed. |
29 virtual bool ProcessAccelerator(const ui::KeyEvent& event, | 26 virtual bool ProcessAccelerator(const ui::KeyEvent& event, |
30 const ui::Accelerator& accelerator, | 27 const ui::Accelerator& accelerator, |
31 KeyType key_type) = 0; | 28 KeyType key_type) = 0; |
32 }; | 29 }; |
33 | 30 |
34 } // namespace wm | 31 } // namespace wm |
35 | 32 |
36 #endif // UI_WM_CORE_ACCELERATOR_DELEGATE_H_ | 33 #endif // UI_WM_CORE_ACCELERATOR_DELEGATE_H_ |
OLD | NEW |