OLD | NEW |
---|---|
(Empty) | |
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 UI_EVENTS_PLATFORM_PLATFORM_EVENT_DISPATCHER_H_ | |
6 #define UI_EVENTS_PLATFORM_PLATFORM_EVENT_DISPATCHER_H_ | |
7 | |
8 #include "base/basictypes.h" | |
9 #include "ui/events/events_export.h" | |
10 #include "ui/events/platform/platform_event_types.h" | |
11 | |
12 namespace ui { | |
13 | |
14 // See documentation for |PlatformEventDispatcher::DispatchEvent()| for | |
15 // explanation of the meaning of the flags. | |
16 enum PostDispatchAction { | |
17 POST_DISPATCH_NONE = 0x0, | |
18 POST_DISPATCH_QUIT_LOOP = 0x1, | |
19 POST_DISPATCH_PERFORM_DEFAULT = 0x2, | |
20 POST_DISPATCH_STOP_PROPAGATION = 0x4, | |
21 }; | |
22 | |
23 // PlatformEventDispatcher receives events from a PlatformEventSource and | |
24 // dispatches them. | |
25 class EVENTS_EXPORT PlatformEventDispatcher { | |
26 public: | |
27 virtual ~PlatformEventDispatcher() {} | |
sky
2014/03/25 15:51:15
protected?
sadrul
2014/03/25 18:33:15
Done.
| |
28 | |
29 // Returns whether this dispatcher wants to dispatch |event|. | |
30 virtual bool CanDispatchEvent(const PlatformEvent& event) = 0; | |
31 | |
32 // Dispatches |event|. If this is not the default dispatcher, then the | |
33 // dispatcher can request that the default dispatcher gets a chance to | |
34 // dispatch the event by setting POST_DISPATCH_PERFORM_DEFAULT to the return | |
35 // value. If a nested message-loop is active, then the dispatcher can signal | |
36 // that the nested message-loop should be terminated by setting | |
37 // POST_DISPATCH_QUIT_LOOP flag on the return value. If the dispatcher has | |
38 // processed the event, and no other dispatcher should be allowed to dispatch | |
39 // the event, then the dispatcher should set POST_DISPATCH_STOP_PROPAGATION | |
40 // flag on the return value. | |
41 virtual uint32_t DispatchEvent(const PlatformEvent& event) = 0; | |
42 }; | |
43 | |
44 } // namespace ui | |
45 | |
46 #endif // UI_EVENTS_PLATFORM_PLATFORM_EVENT_DISPATCHER_H_ | |
OLD | NEW |