-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBorderCanvasModule.js
More file actions
executable file
·42 lines (33 loc) · 1.48 KB
/
BorderCanvasModule.js
File metadata and controls
executable file
·42 lines (33 loc) · 1.48 KB
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
var CanvasModule = function(canvas_width, canvas_height, grid_width, grid_height) {
// Create the element
// ------------------
// Create the tag with absolute positioning :
var canvas_tag = `<canvas width="${canvas_width}" height="${canvas_height}" class="world-grid"/>`
var parent_div_tag = '<div style="height:' + canvas_height + 'px; width:' + canvas_width + 'px; \
display: inline-block;" class="world-grid-parent"></div>'
// Append it to body:
var canvas = $(canvas_tag)[0];
var interaction_canvas = $(canvas_tag)[0];
var parent = $(parent_div_tag)[0];
//$("body").append(canvas);
$("#elements").append(parent);
parent.append(canvas);
parent.append(interaction_canvas);
// Create the context for the agents and interactions and the drawing controller:
var context = canvas.getContext("2d");
// Create an interaction handler using the
var interactionHandler = new InteractionHandler(canvas_width, canvas_height, grid_width, grid_height, interaction_canvas.getContext("2d"));
var canvasDraw = new GridVisualization(canvas_width, canvas_height, grid_width, grid_height, context, interactionHandler);
this.render = function(data) {
canvasDraw.resetCanvas();
canvasDraw.drawSpheres(data["spheres"]);
for (var layer in data["cells"])
canvasDraw.drawLayer(data["cells"][layer]);
canvasDraw.drawGridLines("#eee");
canvasDraw.drawBorder(data["border"]);
canvasDraw.drawSphereNames(data["spheres"]);
};
this.reset = function() {
canvasDraw.resetCanvas();
};
};