summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/ui/lib/AnimatedView.js
blob: 3c50b0a05bb10eb19d10fbdb8cded0c06f205bac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
var AnimatedView = View.extend({

  _animating: false,
  last_t: 0,
  
  startAnimating: function(){
    if (this._animating) return
    this._animating = true
    this._animate()
  },

	stopAnimating: function(){
	  this._animating = false
	},

	_animate: function(t){
	  if (! this._animating) return

    requestAnimationFrame(this._animate.bind(this))
    
    var dt = t - this.last_t
    this.last_t = t

    if (! t) return
    
    this.animate(t, dt)
	},
	
	animate: function(t, dt){},

})