1 #ifndef DALI_INTERNAL_BASE_WINDOW_EVENT_INTERFACE_H
2 #define DALI_INTERNAL_BASE_WINDOW_EVENT_INTERFACE_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.
22 #include <dali/integration-api/events/key-event-integ.h>
23 #include <dali/integration-api/events/point.h>
24 #include <dali/public-api/events/key-event.h>
25 #include <dali/public-api/events/wheel-event.h>
34 * @brief Abstract interface for handling DALi events received from the native window system
37 class WindowEventInterface
41 * @brief Touch Event callback
42 * @param[in] point touch point
43 * @param[in] timeStamp time stamp
45 virtual void TouchEvent(Dali::Integration::Point& point, unsigned long timeStamp) = 0;
48 * @brief Key Event callback
49 * @param[in] keyEvent key event
51 virtual void KeyEvent(Dali::Integration::KeyEvent& keyEvent) = 0;
54 * @brief Wheel Event callback
55 * @param[in] wheelEvent wheel event
57 virtual void WheelEvent(Dali::WheelEvent& wheelEvent) = 0;
60 * @brief Window damage callback
61 * @param[in] damageArea Window damage area
63 virtual void DamageEvent(Dali::Rect<int>& damageArea) = 0;
66 * @brief Window Focused
68 virtual void WindowFocusIn() = 0;
71 * @brief Window lost focus
73 virtual void WindowFocusOut() = 0;
79 WindowEventInterface()
86 virtual ~WindowEventInterface()
90 // Undefined copy constructor.
91 WindowEventInterface(const WindowEventInterface&);
93 // Undefined assignment operator.
94 WindowEventInterface& operator=(const WindowEventInterface&);
97 } // namespace Adaptor
99 } // namespace Internal
103 #endif // DALI_INTERNAL_BASE_WINDOW_EVENT_INTERFACE_H