MyGUI  3.2.1
MyGUI_ControllerPosition.h
Go to the documentation of this file.
1 /*
2  * This source file is part of MyGUI. For the latest info, see http://mygui.info/
3  * Distributed under the MIT License
4  * (See accompanying file COPYING.MIT or copy at http://opensource.org/licenses/MIT)
5  */
6 
7 #ifndef __MYGUI_CONTROLLER_POSITION_H__
8 #define __MYGUI_CONTROLLER_POSITION_H__
9 
10 #include "MyGUI_Prerequest.h"
11 #include "MyGUI_Delegate.h"
12 #include "MyGUI_Types.h"
13 #include "MyGUI_WidgetDefines.h"
14 #include "MyGUI_ControllerItem.h"
15 
16 namespace MyGUI
17 {
18 
21  public ControllerItem
22  {
24 
25  public:
26  typedef delegates::CDelegate4<const IntCoord&, const IntCoord&, IntCoord&, float> FrameAction;
27 
29  virtual ~ControllerPosition();
30 
31  void setCoord(const IntCoord& _value);
32 
33  void setSize(const IntSize& _value);
34 
35  void setPosition(const IntPoint& _value);
36 
37  void setFunction(const std::string& _value);
38 
42  void setTime(float _value);
43 
47  void setAction(FrameAction::IDelegate* _value);
48 
49  virtual void setProperty(const std::string& _key, const std::string& _value);
50 
51  private:
52  bool addTime(Widget* _widget, float _time);
53  void prepareItem(Widget* _widget);
54 
55  IntCoord mStartCoord;
56  IntCoord mDestCoord;
57  float mTime;
58  float mElapsedTime;
59 
60  // controller changing position
61  bool mCalcPosition;
62  // controller changing size
63  bool mCalcSize;
64 
72  FrameAction eventFrameAction;
73  };
74 
75 } // namespace MyGUI
76 
77 #endif // __MYGUI_CONTROLLER_POSITION_H__