♻️ switching to typescript

This commit is contained in:
2019-12-06 20:33:06 +01:00
parent 08e1cb221f
commit 38d8357ecc
40 changed files with 1048 additions and 764 deletions

View File

@@ -0,0 +1,40 @@
import Canvas2d from './Canvas2d';
import {createCanvas, mediaSize, paintToCanvas} from '../canvas';
import {
BooleanVar
} from '../io/AbstractIOSet';
const inputs = {
horizontal: {
type: 'Boolean',
default: false,
} as BooleanVar,
vertical: {
type: 'Boolean',
default: false,
} as BooleanVar,
}
const outputs = {};
export default class Flip extends Canvas2d<typeof inputs, typeof outputs> {
constructor() {
super('Flip', inputs, outputs, {});
this._update();
}
async render({image, horizontal, vertical}, canvas, ctx) {
if (!image) return;
const horizontalModifier = horizontal ? -1 : 1;
const verticalModifier = vertical ? -1 : 1;
const {width, height} = mediaSize(image);
canvas.width = width;
canvas.height = height;
ctx.save();
ctx.scale(horizontalModifier, verticalModifier);
ctx.drawImage(image, 0, 0, width * horizontalModifier, height * verticalModifier);
ctx.restore();
return canvas;
}
}