| 
									
										
										
										
											2008-08-05 17:30:47 -04:00
										 |  |  | ! Small library for cross-platform continuous functions of real time | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | USING: kernel shuffle system locals | 
					
						
							|  |  |  | prettyprint math io namespaces threads calendar ;
 | 
					
						
							| 
									
										
										
										
											2008-08-10 19:22:32 -04:00
										 |  |  | IN: animations | 
					
						
							| 
									
										
										
										
											2008-08-05 17:30:47 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | SYMBOL: last-loop | 
					
						
							| 
									
										
										
										
											2008-08-10 19:22:32 -04:00
										 |  |  | SYMBOL: sleep-period | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-08-05 17:30:47 -04:00
										 |  |  | : reset-progress ( -- ) millis last-loop set ;
 | 
					
						
							| 
									
										
										
										
											2008-08-12 00:28:22 -04:00
										 |  |  | ! : my-progress ( -- progress ) millis  | 
					
						
							| 
									
										
										
										
											2009-03-23 18:12:41 -04:00
										 |  |  | : progress ( -- time ) millis last-loop get - reset-progress ;
 | 
					
						
							| 
									
										
										
										
											2008-08-12 00:28:22 -04:00
										 |  |  | : progress-peek ( -- progress ) millis last-loop get - ;
 | 
					
						
							| 
									
										
										
										
											2008-09-01 21:09:51 -04:00
										 |  |  | : set-end ( duration -- end-time ) duration>milliseconds millis + ;
 | 
					
						
							| 
									
										
										
										
											2008-08-10 19:22:32 -04:00
										 |  |  | : loop ( quot end -- ) dup millis > [ [ dup call ] dip loop ] [ 2drop ] if ; inline
 | 
					
						
							|  |  |  | : animate ( quot duration -- ) reset-progress set-end loop ; inline
 | 
					
						
							| 
									
										
										
										
											2009-05-25 17:38:33 -04:00
										 |  |  | : sample ( revs quot -- avg ) reset-progress dupd times progress swap / ; inline
 |