Changeset 10799
- Timestamp:
- 11/20/09 11:54:39 (4 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
OpenSceneGraph/trunk/examples/osgmovie/osgmovie.cpp
r10193 r10799 44 44 public: 45 45 46 MovieEventHandler():_ playToggle(true),_trackMouse(false) {}46 MovieEventHandler():_trackMouse(false) {} 47 47 48 48 void setMouseTracking(bool track) { _trackMouse = track; } … … 117 117 118 118 119 bool _playToggle;120 119 bool _trackMouse; 121 120 ImageStreamList _imageStreamList; … … 212 211 ++itr) 213 212 { 214 _playToggle = !_playToggle;215 if ( _playToggle)213 osg::ImageStream::StreamStatus playToggle = (*itr)->getStatus(); 214 if (playToggle != osg::ImageStream::PLAYING) 216 215 { 217 // playing, so pause 218 std::cout<<"Play"<<std::endl; 216 std::cout<< (*itr).get() << " Play"<<std::endl; 219 217 (*itr)->play(); 220 218 } … … 222 220 { 223 221 // playing, so pause 224 std::cout<< "Pause"<<std::endl;222 std::cout<< (*itr).get() << " Pause"<<std::endl; 225 223 (*itr)->pause(); 226 224 } … … 234 232 ++itr) 235 233 { 236 std::cout<< "Restart"<<std::endl;234 std::cout<< (*itr).get() << " Restart"<<std::endl; 237 235 (*itr)->rewind(); 238 236 (*itr)->play(); … … 248 246 if ( (*itr)->getLoopingMode() == osg::ImageStream::LOOPING) 249 247 { 250 std::cout<< "Toggle Looping Off"<<std::endl;248 std::cout<< (*itr).get() << " Toggle Looping Off"<<std::endl; 251 249 (*itr)->setLoopingMode( osg::ImageStream::NO_LOOPING ); 252 250 } 253 251 else 254 252 { 255 std::cout<< "Toggle Looping On"<<std::endl;253 std::cout<< (*itr).get() << " Toggle Looping On"<<std::endl; 256 254 (*itr)->setLoopingMode( osg::ImageStream::LOOPING ); 257 255 } 256 } 257 return true; 258 } 259 else if (ea.getKey()=='+') 260 { 261 for(ImageStreamList::iterator itr=_imageStreamList.begin(); 262 itr!=_imageStreamList.end(); 263 ++itr) 264 { 265 double tm = (*itr)->getTimeMultiplier(); 266 tm += 0.1; 267 (*itr)->setTimeMultiplier(tm); 268 std::cout << (*itr).get() << " Increase speed rate "<< (*itr)->getTimeMultiplier() << std::endl; 269 } 270 return true; 271 } 272 else if (ea.getKey()=='-') 273 { 274 for(ImageStreamList::iterator itr=_imageStreamList.begin(); 275 itr!=_imageStreamList.end(); 276 ++itr) 277 { 278 double tm = (*itr)->getTimeMultiplier(); 279 tm -= 0.1; 280 (*itr)->setTimeMultiplier(tm); 281 std::cout << (*itr).get() << " Decrease speed rate "<< (*itr)->getTimeMultiplier() << std::endl; 282 } 283 return true; 284 } 285 else if (ea.getKey()=='o') 286 { 287 for(ImageStreamList::iterator itr=_imageStreamList.begin(); 288 itr!=_imageStreamList.end(); 289 ++itr) 290 { 291 std::cout<< (*itr).get() << " Frame rate "<< (*itr)->getFrameRate() <<std::endl; 258 292 } 259 293 return true; … … 273 307 usage.addKeyboardMouseBinding("r","Restart movie"); 274 308 usage.addKeyboardMouseBinding("l","Toggle looping of movie"); 309 usage.addKeyboardMouseBinding("+","Increase speed of movie"); 310 usage.addKeyboardMouseBinding("-","Decrease speed of movie"); 311 usage.addKeyboardMouseBinding("o","Display frame rate of movie"); 275 312 } 276 313
