blob: 5c74bf1b1d189597cfea791247ad94fb4be0a9de [file] [log] [blame]
Sui Chenb65280f2020-06-30 18:14:03 -07001// This file is required by the index.html file and will
2// be executed in the renderer process for that window.
3// No Node.js APIs are available in this process because
4// `nodeIntegration` is turned off. Use `preload.js` to
5// selectively enable features needed in the rendering
6// process.
7
8class Renderer {
9 constructor() {
10 let c1 = document.getElementById('my_canvas_ipmi');
11 let c2 = document.getElementById('my_canvas_dbus');
12 let c3 = document.getElementById('my_canvas_boost_asio_handler');
13 this.canvas1 = c1;
14 this.canvas2 = c2;
15 this.canvas3 = c3;
16 this.width1 = c1.width; this.height1 = c1.height;
17 this.width2 = c2.width; this.height2 = c2.height;
18 this.width3 = c3.width; this.height3 = c3.height;
19 this.ctx1 = this.canvas1.getContext('2d');
20 this.ctx2 = this.canvas2.getContext('2d');
21 this.ctx3 = this.canvas3.getContext('2d');
22 this.frame_count = 0;
23 this.addBindings();
24 this.addListeners();
25 this.update();
26 this.run();
27 }
28
29 addBindings() {
30 this.update = this.update.bind(this);
31 this.run = this.run.bind(this);
32 }
33
34 addListeners() {
35 window.addEventListener('resize', this.update);
36 }
37
38 update() {
39 console.log('update, ' + window.innerWidth + ' x ' + window.innerHeight);
40 if (false) {
41 this.width1 = window.innerWidth;
42 this.height1 = window.innerHeight;
43 this.canvas1.width = this.width1;
44 this.canvas1.height = this.height1;
45 }
46 }
47
48 run() {
49 draw_timeline(this.ctx1);
50 draw_timeline_dbus(this.ctx2);
51 draw_timeline_boost_asio_handler(this.ctx3);
52 window.requestAnimationFrame(this.run);
53 }
54}
55
56g_renderer = new Renderer();