A browser source overlay for winter vibes for your Live Streams or Videos
at main 902 B view raw
1import Config from "./config.js"; 2 3/** 4 * @returns {Snowflake} 5 */ 6export function createSnowflake() { 7 return { 8 x: Math.floor(Math.random() * Config.canvas.width), 9 y: -1, 10 speed: 11 Math.random() * (Config.snow.minSpeed - Config.snow.maxSpeed) + 12 Config.snow.maxSpeed, 13 size: Math.floor( 14 Math.random() * (Config.snow.minSize - Config.snow.maxSize) + 15 Config.snow.maxSize, 16 ), 17 }; 18} 19 20/** 21 * @param {Object} snowflake 22 * @param {number} snowflake.x 23 * @param {number} snowflake.y 24 * @param {number} snowflake.size 25 * @param {CanvasRenderingContext2D} ctx 26 */ 27export function drawSnowflake({ x, y, size }, ctx) { 28 ctx.beginPath(); 29 ctx.rect(x, y, size, size); 30 ctx.fillStyle = "#fff"; 31 ctx.fill(); 32} 33 34/** 35 * @param {Snowflake} snowflake 36 * @param {number} delta 37 */ 38export function moveSnowflake(snowflake, delta) { 39 snowflake.y += snowflake.speed * delta; 40}