Refactored old canvas pattern.

This commit is contained in:
Harrison Deng 2022-04-16 05:43:20 -05:00
parent f5d97b560c
commit 1ffb0b159a

View File

@ -1,10 +1,16 @@
"use strict"; import Visualizer from "../visualization/Visualizer.js";
function bindHorizontalBar(canvasElement, visualizerCore) { /**
* Accepts a canvas and uses the entire canvas to draw a horizontal visualizer.
*
* @param {HTMLCanvasElement} canvasElement the canvas element to use to draw this horizontal visualizer.
* @param {Visualizer} visualizer the visualizer in which the data to display is obtained.
*/
export function horizontalVisualizer(canvasElement, visualizer) {
let _width = canvasElement.width; let _width = canvasElement.width;
let _height = canvasElement.height; let _height = canvasElement.height;
let _canvasCtx = canvasElement.getContext("2d"); let _canvasCtx = canvasElement.getContext("2d");
let _visualizerCore = visualizerCore; let _visualizer = visualizer;
let update = function (delta, bins) { let update = function (delta, bins) {
_canvasCtx.clearRect(0, 0, _width, _height); // clear canvas. _canvasCtx.clearRect(0, 0, _width, _height); // clear canvas.
let barWidth = Math.floor(_width / bins.length) - 1; // -1 for 1 pixel gap between bars. let barWidth = Math.floor(_width / bins.length) - 1; // -1 for 1 pixel gap between bars.
@ -17,5 +23,5 @@ function bindHorizontalBar(canvasElement, visualizerCore) {
barIndex += 1; barIndex += 1;
}); });
}; };
_visualizerCore.addUpdateListener(update); _visualizer.addUpdateListener(update);
} }