UNPKG

tav-media

Version:

Cross platform media editing framework

19 lines (18 loc) 767 B
import { WebMask as NativeWebMask } from '../core/web-mask'; import { getCanvas2D, releaseCanvas2D } from './canvas'; export class WebMask extends NativeWebMask { static create(width, height) { const webMask = new WebMask(getCanvas2D(), width, height); return webMask; } update(GL) { var _a; const gl = (_a = GL.currentContext) === null || _a === void 0 ? void 0 : _a.GLctx; const ctx = this.canvas.getContext('2d'); const imgData = ctx.getImageData(0, 0, this.canvas.width, this.canvas.height); gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, imgData.width, imgData.height, 0, gl.RGBA, gl.UNSIGNED_BYTE, new Uint8Array(imgData.data)); } onDestroy() { releaseCanvas2D(this.canvas); } }