2
* Copyright © 2012 Canonical Ltd.
4
* This program is free software: you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License version 3 as
6
* published by the Free Software Foundation.
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
13
* You should have received a copy of the GNU General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
16
* Authored by: Robert Carr <robert.carr@canonical.com>
18
#ifndef MIR_EVENT_FILTER_DISPATCHER_POLICY_H_
19
#define MIR_EVENT_FILTER_DISPATCHER_POLICY_H_
21
#include "dummy_input_dispatcher_policy.h"
22
#include "mir/input/event_filter.h"
32
class EventFilterDispatcherPolicy : public DummyInputDispatcherPolicy
35
EventFilterDispatcherPolicy(std::shared_ptr<EventFilter> const& event_filter);
36
virtual ~EventFilterDispatcherPolicy() {}
38
virtual bool filterInputEvent(const droidinput::InputEvent* input_event,
39
uint32_t policy_flags);
40
virtual void interceptKeyBeforeQueueing(const droidinput::KeyEvent* key_event,
41
uint32_t& policy_flags);
43
EventFilterDispatcherPolicy(const EventFilterDispatcherPolicy&) = delete;
44
EventFilterDispatcherPolicy& operator=(const EventFilterDispatcherPolicy&) = delete;
46
std::shared_ptr<EventFilter> event_filter;
53
#endif // MIR_DUMMY_INPUT_DISPATCHER_POLICY_H_