1 #ifndef DALI_INTERNAL_KEY_EVENT_PROCESSOR_H
2 #define DALI_INTERNAL_KEY_EVENT_PROCESSOR_H
5 * Copyright (c) 2021 Samsung Electronics Co., Ltd.
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
36 * KeyEventProcessor receives the filtered key events from the Dali Event processor.
38 * When a key event is received the KeyEventProcessor queues the event in the scene events queue.
39 * Any actor can be set by the actor api to be the focus of key events. The actor is then sent the key event.
40 * If no actor is set for focus then the key event is discarded.
42 class KeyEventProcessor
46 * Create a Key event processor.
47 * @param[in] scene The scene the event processor belongs to.
49 KeyEventProcessor(Scene& scene);
52 * Non-virtual destructor; KeyEventProcessor is not a base class
57 * This function is called by the event processor whenever a key event occurs.
58 * @param[in] event The key event that has occurred.
60 void ProcessKeyEvent(const Integration::KeyEvent& event);
64 KeyEventProcessor(const KeyEventProcessor&);
67 KeyEventProcessor& operator=(const KeyEventProcessor& rhs);
70 Scene& mScene; ///< Used to deliver key events
73 } // namespace Internal
77 #endif // DALI_INTERNAL_KEY_EVENT_PROCESSOR_H