Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(459)

Side by Side Diff: chrome/test/data/third_party/spaceport/js/sprites/renderers/canvasDrawImageFullClearAlign.js

Issue 10154006: Add test data for spaceport benchmark. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 define([ 'util/ensureCallback', 'sprites/canvas' ], function (ensureCallback, ca nvas) {
2 function RenderContext(sourceData, frameData) {
3 this.sourceData = sourceData;
4 this.frameData = frameData;
5
6 this.canvas = canvas();
7
8 this.context = this.canvas.getContext('2d');
9 this.context.globalCompositeOperation = 'source-over';
10 }
11
12 RenderContext.prototype.load = function load(callback) {
13 callback = ensureCallback(callback);
14
15 // Anything not simply translated is disallowed
16 var isValid = this.frameData.every(function (frame) {
17 return frame.every(function (transform) {
18 return transform.matrix[0] === 1
19 && transform.matrix[1] === 0
20 && transform.matrix[3] === 0
21 && transform.matrix[4] === 1;
22 });
23 });
24
25 if (!isValid) {
26 callback(new Error("Not supported"));
27 return;
28 }
29
30 document.body.appendChild(this.canvas);
31
32 callback(null);
33 };
34
35 RenderContext.prototype.unload = function unload() {
36 if (this.canvas.parentNode) {
37 this.canvas.parentNode.removeChild(this.canvas);
38 }
39 };
40
41 RenderContext.prototype.clear = function clear() {
42 this.canvas.width = this.canvas.width;
43 };
44
45 RenderContext.prototype.renderFrame = function renderFrame(frameIndex) {
46 var context = this.context;
47 var sourceData = this.sourceData;
48
49 var transforms = this.frameData[frameIndex];
50 var count = transforms.length;
51 var i;
52
53 // Reset view and transforms
54 context.canvas.width = context.canvas.width;
55
56 for (i = 0; i < count; ++i) {
57 var transform = transforms[i];
58 context.setTransform(1, 0, 0, 1, Math.floor(transform.x), Math.floor (transform.y));
59 sourceData.drawToCanvas(context, 0, 0, frameIndex);
60 }
61 };
62
63 return function (element, frameData) {
64 return new RenderContext(element, frameData);
65 };
66 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698