, time_(0)\r
, tweener_(get_tweener(tween)){}\r
\r
+ const T& source() const\r
+ {\r
+ return source_;\r
+ }\r
+ \r
+ const T& dest() const\r
+ {\r
+ return dest_;\r
+ }\r
+\r
T fetch()\r
{\r
return time_ == duration_ ? dest_ : tween(static_cast<double>(time_), source_, dest_, static_cast<double>(duration_), tweener_);\r
{\r
BOOST_FOREACH(auto& transform, transforms)\r
{\r
- auto src = transforms_[std::get<0>(transform)].fetch();\r
- auto dst = std::get<1>(transform)(src);\r
+ auto& tween = transforms_[std::get<0>(transform)];\r
+ auto src = tween.fetch();\r
+ auto dst = std::get<1>(transform)(tween.dest());\r
transforms_[std::get<0>(transform)] = tweened_transform<frame_transform>(src, dst, std::get<2>(transform), std::get<3>(transform));\r
}\r
}, high_priority);\r