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 SERVICES_WINDOW_MANAGER_VIEW_TARGETER_H_ | 5 #ifndef SERVICES_WINDOW_MANAGER_VIEW_TARGETER_H_ |
6 #define SERVICES_WINDOW_MANAGER_VIEW_TARGETER_H_ | 6 #define SERVICES_WINDOW_MANAGER_VIEW_TARGETER_H_ |
7 | 7 |
| 8 #include "ui/events/event.h" |
8 #include "ui/events/event_targeter.h" | 9 #include "ui/events/event_targeter.h" |
9 | 10 |
10 namespace window_manager { | 11 namespace window_manager { |
11 | 12 |
12 class ViewTarget; | 13 class ViewTarget; |
13 | 14 |
14 class ViewTargeter : public ui::EventTargeter { | 15 class ViewTargeter : public ui::EventTargeter { |
15 public: | 16 public: |
16 ViewTargeter(); | 17 ViewTargeter(); |
17 ~ViewTargeter() override; | 18 ~ViewTargeter() override; |
18 | 19 |
19 protected: | 20 protected: |
20 // ui::EventTargeter: | 21 // ui::EventTargeter: |
21 ui::EventTarget* FindTargetForEvent(ui::EventTarget* root, | 22 ui::EventTarget* FindTargetForEvent(ui::EventTarget* root, |
22 ui::Event* event) override; | 23 ui::Event* event) override; |
| 24 ui::EventTarget* FindNextBestTarget(ui::EventTarget* previous_target, |
| 25 ui::Event* event) override; |
| 26 |
23 ui::EventTarget* FindTargetForLocatedEvent(ui::EventTarget* root, | 27 ui::EventTarget* FindTargetForLocatedEvent(ui::EventTarget* root, |
24 ui::LocatedEvent* event) override; | 28 ui::LocatedEvent* event); |
| 29 bool SubtreeShouldBeExploredForEvent(ui::EventTarget* target, |
| 30 const ui::LocatedEvent& event); |
25 bool SubtreeCanAcceptEvent(ui::EventTarget* target, | 31 bool SubtreeCanAcceptEvent(ui::EventTarget* target, |
26 const ui::LocatedEvent& event) const override; | 32 const ui::LocatedEvent& event) const; |
27 bool EventLocationInsideBounds(ui::EventTarget* target, | 33 bool EventLocationInsideBounds(ui::EventTarget* target, |
28 const ui::LocatedEvent& event) const override; | 34 const ui::LocatedEvent& event) const; |
29 | 35 |
30 private: | 36 private: |
31 // Targets either the root View or the currently focused view. | 37 // Targets either the root View or the currently focused view. |
32 ViewTarget* FindTargetForKeyEvent(ViewTarget* view, const ui::KeyEvent& key); | 38 ViewTarget* FindTargetForKeyEvent(ViewTarget* view, const ui::KeyEvent& key); |
33 | 39 |
34 // Deals with cases where the |root_view| needs to change how things are | 40 // Deals with cases where the |root_view| needs to change how things are |
35 // dispatched. (For example, in the case of capture.) | 41 // dispatched. (For example, in the case of capture.) |
36 ViewTarget* FindTargetInRootView(ViewTarget* root_view, | 42 ViewTarget* FindTargetInRootView(ViewTarget* root_view, |
37 const ui::LocatedEvent& event); | 43 const ui::LocatedEvent& event); |
38 | 44 |
39 DISALLOW_COPY_AND_ASSIGN(ViewTargeter); | 45 DISALLOW_COPY_AND_ASSIGN(ViewTargeter); |
40 }; | 46 }; |
41 | 47 |
42 } // namespace window_manager | 48 } // namespace window_manager |
43 | 49 |
44 #endif // SERVICES_WINDOW_MANAGER_VIEW_TARGETER_H_ | 50 #endif // SERVICES_WINDOW_MANAGER_VIEW_TARGETER_H_ |
OLD | NEW |