47 mDestCoord = _destCoord;
56 mCalcPosition =
false;
63 mDestCoord.
top = _destPoint.
top;
68 void ControllerPosition::prepareItem(
Widget* _widget)
78 bool ControllerPosition::addTime(Widget* _widget,
float _time)
80 mElapsedTime += _time;
82 if (mElapsedTime < mTime)
85 eventFrameAction(mStartCoord, mDestCoord, coord, mElapsedTime / mTime);
88 if (mCalcSize) _widget->setCoord(coord);
89 else _widget->setPosition(coord.point());
91 else if (mCalcSize) _widget->setSize(coord.size());
101 eventFrameAction(mStartCoord, mDestCoord, coord, 1.0f);
104 if (mCalcSize) _widget->setCoord(coord);
105 else _widget->setPosition(coord.point());
107 else if (mCalcSize) _widget->setSize(coord.size());
121 setTime(utility::parseValue<float>(_value));
122 else if (_key ==
"Coord")
123 setCoord(utility::parseValue<IntCoord>(_value));
124 else if (_key ==
"Size")
125 setSize(utility::parseValue<IntSize>(_value));
126 else if (_key ==
"Position")
127 setPosition(utility::parseValue<IntPoint>(_value));
128 else if (_key ==
"Function")
134 if (_value ==
"Inertional")
136 else if (_value ==
"Accelerated")
138 else if (_value ==
"Slowed")
140 else if (_value ==
"Jump")
151 eventFrameAction = _value;
delegates::CMultiDelegate1< Widget * > eventUpdateAction
const IntCoord & getCoord() const
delegates::IDelegate0 * newDelegate(void(*_func)())
void setCoord(const IntCoord &_value)
void inertionalMoveFunction(const IntCoord &_startRect, const IntCoord &_destRect, IntCoord &_result, float _current_time)
types::TCoord< int > IntCoord
void setTime(float _value)
void setSize(const IntSize &_value)
void setFunction(const std::string &_value)
void setAction(FrameAction::IDelegate *_value)
delegates::CMultiDelegate1< Widget * > eventPostAction
virtual ~ControllerPosition()
virtual void setProperty(const std::string &_key, const std::string &_value)
#define MYGUI_DEBUG_ASSERT(exp, dest)
delegates::CMultiDelegate1< Widget * > eventPreAction
void setPosition(const IntPoint &_value)