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

Side by Side Diff: chrome/test/data/third_party/spaceport/js/sprites/renderers/canvasDrawImagePartialClear.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.previousTransforms = null;
7 this.previousFrameIndex = null;
8
9 this.canvas = canvas();
10
11 this.context = this.canvas.getContext('2d');
12 this.context.globalCompositeOperation = 'source-over';
13 }
14
15 RenderContext.prototype.load = function load(callback) {
16 callback = ensureCallback(callback);
17
18 document.body.appendChild(this.canvas);
19
20 callback(null);
21 };
22
23 RenderContext.prototype.unload = function unload() {
24 if (this.canvas.parentNode) {
25 this.canvas.parentNode.removeChild(this.canvas);
26 }
27 };
28
29 RenderContext.prototype.clear = function clear() {
30 this.canvas.width = this.canvas.width;
31 this.previousTransforms = null;
32 };
33
34 RenderContext.prototype.renderFrame = function renderFrame(frameIndex) {
35 var context = this.context;
36 var sourceData = this.sourceData;
37
38 var transforms = this.frameData[frameIndex];
39 var count = transforms.length;
40 var i;
41
42 var previousTransforms = this.previousTransforms;
43 if (previousTransforms) {
44 // We clear with an extra 1px border to clear smoothed edges
45 var frameInfo = sourceData.getFrameInfo(this.previousFrameIndex);
46 var width = frameInfo.width + 2;
47 var height = frameInfo.height + 2;
48 for (i = 0; i < count; ++i) {
49 var m = previousTransforms[i].matrix;
50 context.setTransform(m[0], m[1], m[3], m[4], m[2], m[5]);
51 context.clearRect(-1, -1, width, height);
52 }
53 }
54
55 for (i = 0; i < count; ++i) {
56 var m = transforms[i].matrix;
57 context.setTransform(m[0], m[1], m[3], m[4], m[2], m[5]);
58 sourceData.drawToCanvas(context, 0, 0, frameIndex);
59 }
60
61 this.previousTransforms = transforms;
62 this.previousFrameIndex = frameIndex;
63 };
64
65 return function (element, frameData) {
66 return new RenderContext(element, frameData);
67 };
68 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698