Guiliani  Version 2.6 revision 7293 (documentation build 12)
GUIEasing.h
1/*
2* Copyright (C) TES Electronic Solutions GmbH,
3* All Rights Reserved.
4* Contact: info@guiliani.de
5*
6* This file is part of the Guiliani HMI framework
7* for the development of graphical user interfaces on embedded systems.
8*/
9
10#if !defined GUIEASING__H_
11#define GUIEASING__H_
12
13#include "eC_Types.h"
14
46{
47public:
50 {
51 EASE_NONE,
52
53 EASE_LINEAR,
54
55 EASE_IN_SINE,
56 EASE_OUT_SINE,
57 EASE_IN_OUT_SINE,
58 EASE_OUT_IN_SINE,
59
60 EASE_IN_QUAD,
61 EASE_OUT_QUAD,
62 EASE_IN_OUT_QUAD,
63 EASE_OUT_IN_QUAD,
64
65 EASE_IN_CUBIC,
66 EASE_OUT_CUBIC,
67 EASE_IN_OUT_CUBIC,
68 EASE_OUT_IN_CUBIC,
69
70 EASE_IN_QUART,
71 EASE_OUT_QUART,
72 EASE_IN_OUT_QUART,
73 EASE_OUT_IN_QUART,
74
75 EASE_IN_EXPO,
76 EASE_OUT_EXPO,
77 EASE_IN_OUT_EXPO,
78 EASE_OUT_IN_EXPO,
79
80 EASE_IN_QUINT,
81 EASE_OUT_QUINT,
82 EASE_IN_OUT_QUINT,
83 EASE_OUT_IN_QUINT,
84
85 EASE_IN_CIRC,
86 EASE_OUT_CIRC,
87 EASE_IN_OUT_CIRC,
88 EASE_OUT_IN_CIRC,
89
90 EASE_IN_ELASTIC,
91 EASE_OUT_ELASTIC,
92 EASE_IN_OUT_ELASTIC,
93 EASE_OUT_IN_ELASTIC,
94
95 EASE_IN_BACK,
96 EASE_OUT_BACK,
97 EASE_IN_OUT_BACK,
98 EASE_OUT_IN_BACK,
99
100 EASE_IN_BOUNCE,
101 EASE_OUT_BOUNCE,
102 EASE_IN_OUT_BOUNCE,
103 EASE_OUT_IN_BOUNCE,
104 EASE_NUM_OF
105 };
106
109
111 virtual ~CGUIEasing(){}
112
126 virtual eC_Value operator()(EasingType_t eEasingType, eC_Value vTime, eC_Value vBegin, eC_Value vChange, eC_Value vDuration);
127
141 virtual eC_Value Ease(EasingType_t eEasingType, eC_Value vTime, eC_Value vBegin, eC_Value vChange, eC_Value vDuration);
142
143private:
155 eC_Value EasingLinear(const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
156
157 eC_Value EaseInSine (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
158 eC_Value EaseOutSine (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
159 eC_Value EaseInOutSine (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
160 eC_Value EaseOutInSine (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
161
162 eC_Value EaseInQuad (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
163 eC_Value EaseOutQuad (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
164 eC_Value EaseInOutQuad (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
165 eC_Value EaseOutInQuad (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
166
167 eC_Value EaseInCubic (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
168 eC_Value EaseOutCubic (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
169 eC_Value EaseInOutCubic (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
170 eC_Value EaseOutInCubic (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
171
172 eC_Value EaseInQuart (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
173 eC_Value EaseOutQuart (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
174 eC_Value EaseInOutQuart (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
175 eC_Value EaseOutInQuart (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
176
177 eC_Value EaseInExpo (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
178 eC_Value EaseOutExpo (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
179 eC_Value EaseInOutExpo (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
180 eC_Value EaseOutInExpo (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
181
182 eC_Value EaseInQuint (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
183 eC_Value EaseOutQuint (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
184 eC_Value EaseInOutQuint (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
185 eC_Value EaseOutInQuint (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
186
187 eC_Value EaseInCircular (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
188 eC_Value EaseOutCircular (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
189 eC_Value EaseInOutCircular (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
190 eC_Value EaseOutInCircular (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
191
192 eC_Value EaseInElastic (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
193 eC_Value EaseOutElastic (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
194 eC_Value EaseInOutElastic (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
195 eC_Value EaseOutInElastic (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
196
197 eC_Value EaseInBack (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
198 eC_Value EaseOutBack (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
199 eC_Value EaseInOutBack (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
200 eC_Value EaseOutInBack (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
201
202 eC_Value EaseInBounce (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
203 eC_Value EaseOutBounce (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
204 eC_Value EaseInOutBounce (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
205 eC_Value EaseOutInBounce (const eC_Value vTime, const eC_Value vBegin, const eC_Value vChange, const eC_Value vDuration);
206};
207
208#endif
A CGUIEasing can be used for Guiliani animations.
Definition: GUIEasing.h:46
virtual ~CGUIEasing()
Destructor.
Definition: GUIEasing.h:111
CGUIEasing()
Constructor.
Definition: GUIEasing.h:108
virtual eC_Value Ease(EasingType_t eEasingType, eC_Value vTime, eC_Value vBegin, eC_Value vChange, eC_Value vDuration)
EasingType_t
The differnet easing types.
Definition: GUIEasing.h:50
virtual eC_Value operator()(EasingType_t eEasingType, eC_Value vTime, eC_Value vBegin, eC_Value vChange, eC_Value vDuration)