00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef __MYGUI_ACTION_CONTROLLER_H__
00024 #define __MYGUI_ACTION_CONTROLLER_H__
00025
00026 #include "MyGUI_Prerequest.h"
00027 #include "MyGUI_Types.h"
00028 #include <math.h>
00029
00030 namespace MyGUI
00031 {
00032
00033 namespace action
00034 {
00035
00037 void MYGUI_EXPORT actionWidgetHide(Widget* _widget);
00038
00040 void MYGUI_EXPORT actionWidgetShow(Widget* _widget);
00041
00043 void MYGUI_EXPORT actionWidgetDestroy(Widget* _widget);
00044
00046 void MYGUI_EXPORT linearMoveFunction(const IntCoord& _startRect, const IntCoord& _destRect, IntCoord& _result, float _k);
00047
00053 template <int N>
00054 inline void acceleratedMoveFunction(const IntCoord& _startRect, const IntCoord& _destRect, IntCoord& _result, float _current_time)
00055 {
00056 float k = (float)pow (_current_time, N/10.f );
00057 linearMoveFunction(_startRect, _destRect, _result, k);
00058 }
00059
00061 template <int N>
00062 inline void jumpMoveFunction(const IntCoord& _startRect, const IntCoord& _destRect, IntCoord& _result, float _current_time)
00063 {
00064 float k = pow (_current_time, 2) * (-2 - N/10.f) + _current_time * (3 + N/10.f);
00065 linearMoveFunction(_startRect, _destRect, _result, k);
00066 }
00067
00069 void MYGUI_EXPORT inertionalMoveFunction(const IntCoord& _startRect, const IntCoord& _destRect, IntCoord& _result, float _current_time);
00070
00071 }
00072
00073 }
00074
00075 #endif // __MYGUI_ACTION_CONTROLLER_H__