1 #ifndef __DALI_WHEEL_EVENT_H__
2 #define __DALI_WHEEL_EVENT_H__
5 * Copyright (c) 2015 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/public-api/common/dali-common.h>
23 #include <dali/public-api/math/vector2.h>
29 * @addtogroup dali_core_events
34 * @brief The wheel event structure is used to store a wheel rolling, it facilitates
35 * processing of the wheel rolling and passing to other libraries like Toolkit.
37 * There is a key modifier which relates to keys like alt, shift and control functions are
38 * supplied to check if they have been pressed when the wheel is being rolled.
40 * We support a mouse device and there may be another custom device that support the wheel event. The device type is specified as \e type.
41 * The mouse wheel event can be sent to the specific actor but the custom wheel event will be sent to the stage.
44 struct DALI_IMPORT_API WheelEvent
49 * @brief Enumeration for specifying the type of the wheel event.
54 MOUSE_WHEEL, ///< Mouse wheel event @SINCE_1_0.0
55 CUSTOM_WHEEL ///< Custom wheel event @SINCE_1_0.0
59 * @brief Default constructor.
68 * @param[in] type The type of the wheel event
69 * @param[in] direction The direction of wheel rolling (0 = default vertical wheel, 1 = horizontal wheel)
70 * @param[in] modifiers Modifier keys pressed during the event (such as shift, alt and control)
71 * @param[in] point The co-ordinates of the cursor relative to the top-left of the screen
72 * @param[in] z The offset of rolling (positive value means roll down or clockwise, and negative value means roll up or counter-clockwise)
73 * @param[in] timeStamp The time the wheel is being rolled
75 WheelEvent( Type type, int direction, unsigned int modifiers, Vector2 point, int z, unsigned int timeStamp );
84 * @brief Checks to see if Shift key modifier has been supplied.
87 * @return True if shift modifier
89 bool IsShiftModifier() const;
92 * @brief Checks to see if Ctrl (control) key modifier has been supplied.
95 * @return True if ctrl modifier
97 bool IsCtrlModifier() const;
100 * @brief Checks to see if Alt key modifier has been supplied.
103 * @return True if alt modifier
105 bool IsAltModifier() const;
110 * @brief Type of the event.
117 * @brief The direction in which the wheel is being rolled.
119 * 0 means the default vertical wheel, and 1 means horizontal wheel.
124 * @brief Modifier keys pressed during the event (such as shift, alt and control).
126 unsigned int modifiers;
129 * @brief The co-ordinates of the cursor relative to the top-left of the screen
130 * when the wheel is being rolled.
135 * @brief The offset of the wheel rolling, where positive value means rolling down or clockwise
136 * and negative value means rolling up or counter-clockwise.
141 * @brief The time when the wheel is being rolled.
143 unsigned int timeStamp;
152 #endif // __DALI_WHEEL_EVENT_H__