blob: cb46fa35b875dbe1bbab1ca2acad657761c5d15f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef BASE_MESSAGE_LOOP_MESSAGE_PUMP_OBSERVER_H
#define BASE_MESSAGE_LOOP_MESSAGE_PUMP_OBSERVER_H
#include "base/base_export.h"
#include "base/event_types.h"
namespace base {
enum EventStatus {
EVENT_CONTINUE, // The event should be dispatched as normal.
#if defined(USE_X11)
EVENT_HANDLED // The event should not be processed any farther.
#endif
};
// A MessagePumpObserver is an object that receives global
// notifications from the UI MessageLoop with MessagePumpWin or
// MessagePumpAuraX11.
//
// NOTE: An Observer implementation should be extremely fast!
//
// For use with MessagePumpAuraX11, please see message_pump_glib.h for more
// info about how this is invoked in this environment.
class BASE_EXPORT MessagePumpObserver {
public:
// This method is called before processing a NativeEvent. If the
// method returns EVENT_HANDLED, it indicates the event has already
// been handled, so the event is not processed any farther. If the
// method returns EVENT_CONTINUE, the event dispatching proceeds as
// normal.
virtual EventStatus WillProcessEvent(const NativeEvent& event) = 0;
// This method is called after processing a message. This method
// will not be called if WillProcessEvent returns EVENT_HANDLED.
virtual void DidProcessEvent(const NativeEvent& event) = 0;
protected:
virtual ~MessagePumpObserver() {}
};
} // namespace base
#endif // BASE_MESSAGE_LOOP_MESSAGE_PUMP_OBSERVER_H
|