Spaces:
Running
Running
| export function scaleTemplate(value, scale) { | |
| if (typeof value === 'number') return Math.round(value * scale); | |
| if (typeof value === 'string' && value.match(/^\d+(px)?$/)) return Math.round(parseInt(value,10) * scale); | |
| return value; | |
| } | |
| // compute overlay x,y from overlay width/height, extra positioning and video size | |
| export function computeXY(overlayW, overlayH, extra = {}, vw = 0, vh = 0) { | |
| const padX = extra.paddingX || 5; | |
| const padY = extra.paddingY || 5; | |
| const posX = extra.positionX || 'center'; | |
| const posY = extra.positionY || 'center'; | |
| let x = 0, y = 0; | |
| if (posX === 'left' || posX === 'top') x = Math.round((padX / 100) * vw); | |
| else if (posX === 'right' || posX === 'bottom') x = Math.round(vw - overlayW - (padX / 100) * vw); | |
| else x = Math.round((vw - overlayW) / 2); | |
| if (posY === 'top') y = Math.round((padY / 100) * vh); | |
| else if (posY === 'bottom') y = Math.round(vh - overlayH - (padY / 100) * vh); | |
| else y = Math.round((vh - overlayH) / 2); | |
| return { x, y }; | |
| } | |