Browse Source

move to src/ structure

master
HxxxxxS 1 year ago
parent
commit
8b0e7d90ff
  1. 0
      src/index.html
  2. 7
      src/script.js
  3. 0
      src/styles.css
  4. 42
      src/utils/EventEmitter.js
  5. 0
      src/utils/helpers.js

0
index.html → src/index.html

7
script.js → src/script.js

@ -9,7 +9,7 @@ const canvas = document.getElementById("videoCanvas")
const ctx = canvas.getContext("2d") const ctx = canvas.getContext("2d")
let videosToLoad = 2 let videosToLoad = 2
const maxVideosToLoad = 9 const maxVideosToLoad = 4
const videos = [] const videos = []
let videosLoaded = 0 let videosLoaded = 0
@ -159,6 +159,11 @@ function drawVideos() {
ctx.globalCompositeOperation = "source-over" ctx.globalCompositeOperation = "source-over"
}) })
// Get pixel data
// let imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
// Todo calculate effects based on imageDate
// If showText is true, draw debug text // If showText is true, draw debug text
if (showText) { if (showText) {
drawDebugText() drawDebugText()

0
styles.css → src/styles.css

42
src/utils/EventEmitter.js

@ -0,0 +1,42 @@
// EventEmitter.js
class EventEmitter {
constructor(debug = false) {
this.events = {};
this.debug = debug;
}
on(event, listener) {
if (!this.events[event]) this.events[event] = [];
this.events[event].push(listener);
}
once(event, listener) {
const wrapper = (...args) => {
listener(...args);
this.off(event, wrapper);
};
this.on(event, wrapper);
}
off(event, listener) {
if (this.events[event]) {
this.events[event] = this.events[event].filter(l => l !== listener);
}
}
emit(event, data) {
if (this.debug) console.log(`Event emitted: ${event}`, data);
(this.events[event] || []).forEach(listener => listener(data));
(this.events['*'] || []).forEach(listener => listener(event, data));
}
listeners(event) {
return this.events[event] || [];
}
clear() {
this.events = {};
}
}
export default EventEmitter;

0
src/utils/helpers.js

Loading…
Cancel
Save