A browser source overlay for winter vibes for your Live Streams or Videos
1import Config from "./config"; 2import { drawSprite } from "./sprites"; 3 4/** 5 * @returns {Plow} 6 */ 7export function createPlow() { 8 return { 9 x: Config.plow.direction === "left" ? Config.canvas.width : -88, 10 y: Config.canvas.height - 56, 11 speed: Config.plow.speed, 12 direction: Config.plow.direction, 13 height: 56, 14 width: 88, 15 }; 16} 17 18/** 19 * @param {Plow} plow 20 * @param {number} delta 21 */ 22export function movePlow(plow, delta) { 23 if (plow.direction === "left") { 24 plow.x -= plow.speed * delta; 25 } else { 26 plow.x += plow.speed * delta; 27 } 28} 29 30/** 31 * @param {Plow} plow 32 * @param {CanvasRenderingContext2D} ctx 33 */ 34export function drawPlow(plow, ctx) { 35 drawSprite(ctx, 0, 0, 44, 28, plow.x, plow.y, plow.width, plow.height); 36} 37 38/** @param {Plow} plow */ 39export function plowDone(plow) { 40 return plow.direction === "left" 41 ? plow.x + plow.width < 0 42 : plow.x > Config.canvas.width; 43}