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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
(function() {
BouncingCssImage = Utilities.createSubclass(BouncingParticle,
function(stage)
{
BouncingParticle.call(this, stage);
this.element = document.createElement("img");
this.element.style.width = this.size.x + "px";
this.element.style.height = this.size.y + "px";
this.element.setAttribute("src", stage.imageSrc);
stage.element.appendChild(this.element);
this._move();
}, {
_move: function()
{
this.element.style.transform = "translate(" + this.position.x + "px," + this.position.y + "px) " + this.rotater.rotateZ();
},
animate: function(timeDelta)
{
BouncingParticle.prototype.animate.call(this, timeDelta);
this._move();
}
});
BouncingCssImagesStage = Utilities.createSubclass(BouncingParticlesStage,
function()
{
BouncingParticlesStage.call(this);
}, {
initialize: function(benchmark, options)
{
BouncingParticlesStage.prototype.initialize.call(this, benchmark, options);
this.imageSrc = options["imageSrc"] || "../resources/yin-yang.svg";
},
createParticle: function()
{
return new BouncingCssImage(this);
},
particleWillBeRemoved: function(particle)
{
particle.element.remove();
}
});
BouncingCssImagesBenchmark = Utilities.createSubclass(Benchmark,
function(options)
{
Benchmark.call(this, new BouncingCssImagesStage(), options);
}
);
window.benchmarkClass = BouncingCssImagesBenchmark;
})();
|