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.
43 struct DALI_IMPORT_API WheelEvent
48 * @brief Specifies the type of the wheel event.
52 MOUSE_WHEEL, ///< Mouse wheel event
53 CUSTOM_WHEEL ///< Custom wheel event
57 * @brief Default constructor.
64 * @param[in] type The type of the wheel event
65 * @param[in] direction The direction of wheel rolling (0 = default vertical wheel, 1 = horizontal wheel)
66 * @param[in] modifiers modifier keys pressed during the event (such as shift, alt and control)
67 * @param[in] point The co-ordinates of the cursor relative to the top-left of the screen.
68 * @param[in] z The offset of rolling (positive value means roll down or clockwise, and negative value means roll up or counter-clockwise)
69 * @param[in] timeStamp The time the wheel is being rolled.
71 WheelEvent( Type type, int direction, unsigned int modifiers, Vector2 point, int z, unsigned int timeStamp );
79 * @brief Check to see if Shift key modifier has been supplied.
81 * @return bool true if shift modifier
83 bool IsShiftModifier() const;
86 * @brief Check to see if Ctrl (control) key modifier has been supplied.
88 * @return bool true if ctrl modifier
90 bool IsCtrlModifier() const;
93 * @brief Check to see if Alt key modifier has been supplied.
95 * @return bool true if alt modifier
97 bool IsAltModifier() const;
102 * @brief Type of the event
109 * @brief The direction in which the wheel is being rolled.
111 * 0 means the default vertical wheel, and 1 means horizontal wheel
116 * @brief Modifier keys pressed during the event (such as shift, alt and control).
118 unsigned int modifiers;
121 * @brief The co-ordinates of the cursor relative to the top-left of the screen
122 * when the wheel is being rolled.
127 * @brief The offset of the wheel rolling, where positive value means rolling down or clockwise
128 * and negative value means rolling up or counter-clockwise.
133 * @brief The time when the wheel is being rolled.
135 unsigned int timeStamp;
144 #endif // __DALI_WHEEL_EVENT_H__