Improved pan gesture prediction
[platform/core/uifw/dali-core.git] / dali / integration-api / input-options.h
1 #ifndef __DALI_INTEGRATION_INPUT_OPTIONS_H__
2 #define __DALI_INTEGRATION_INPUT_OPTIONS_H__
3
4 /*
5  * Copyright (c) 2014 Samsung Electronics Co., Ltd.
6  *
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
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
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.
18  *
19  */
20
21 // EXTERNAL INCLUDES
22
23 // INTERNAL INCLUDES
24 #include <dali/public-api/common/dali-common.h>
25
26 namespace Dali
27 {
28
29 namespace Integration
30 {
31
32 /**
33  * @brief Called by adaptor to set the pan gesture prediction mode from
34  * an environment variable
35  *
36  * @pre Should be called after Core creation.
37  * @param mode The pan gesture prediction mode.
38  */
39 DALI_IMPORT_API void SetPanGesturePredictionMode( int mode );
40
41 /**
42  * @brief Called by adaptor to set the prediction amount of the pan gesture
43  * from an environment variable
44  *
45  * @param[in] amount The prediction amount in milliseconds
46  */
47 DALI_IMPORT_API void SetPanGesturePredictionAmount(unsigned int amount);
48
49 /**
50  * @brief Sets the upper bound of the prediction amount for clamping
51  * from an environment variable
52  *
53  * @param[in] amount The prediction amount in milliseconds
54  */
55 DALI_IMPORT_API void SetPanGestureMaximumPredictionAmount( unsigned int amount );
56
57 /**
58  * @brief Sets the lower bound of the prediction amount for clamping
59  * from an environment variable
60  *
61  * @param[in] amount The prediction amount in milliseconds
62  */
63 DALI_IMPORT_API void SetPanGestureMinimumPredictionAmount( unsigned int amount );
64
65 /**
66  * @brief Sets the prediction amount to adjust when the pan velocity is changed
67  * from an environment variable. If the pan velocity is accelerating, the prediction
68  * amount will be increased by the specified amount until it reaches the upper bound.
69  * If the pan velocity is decelerating, the prediction amount will be decreased by
70  * the specified amount until it reaches the lower bound.
71  *
72  * @param[in] amount The prediction amount in milliseconds
73  */
74 DALI_IMPORT_API void SetPanGesturePredictionAmountAdjustment( unsigned int amount );
75
76 /**
77  * @brief Called to set how pan gestures smooth input
78  *
79  * @param[in] mode The smoothing mode to use
80  */
81 DALI_IMPORT_API void SetPanGestureSmoothingMode( int mode );
82
83 /**
84  * @brief Sets the smoothing amount of the pan gesture
85  *
86  * @param[in] amount The smoothing amount [0.0f,1.0f] - 0.0f would be no smoothing, 1.0f maximum smoothing
87  */
88 DALI_IMPORT_API void SetPanGestureSmoothingAmount( float amount );
89
90 } // namespace Integration
91
92 } // namespace Dali
93
94 #endif // __DALI_INTEGRATION_INPUT_OPTIONS_H__