pixel-editor/js/tools/ResizableTool.js
Nicola 62130ae90d Polished previous bug fix
Now it's possible to use all non-resizable tool and even copy a locked layer to paste it on an unlocked one.
2021-12-12 22:50:21 +01:00

32 lines
988 B
JavaScript

class ResizableTool extends DrawingTool {
startResizePos = undefined;
currSize = 1;
prevSize = 1;
constructor(name, options, switchFunc) {
super(name, options, switchFunc);
}
onRightStart(mousePos, mouseEvent) {
this.startResizePos = mousePos;
}
onRightDrag(mousePos, mouseEvent) {
//get new brush size based on x distance from original clicking location
let distanceFromClick = mousePos[0]/currFile.zoom - this.startResizePos[0]/currFile.zoom;
let brushSizeChange = Math.round(distanceFromClick/10);
let newBrushSize = this.currSize + brushSizeChange;
//set the brush to the new size as long as its bigger than 1 and less than 128
this.currSize = Math.min(Math.max(1,newBrushSize), 128);
//fix offset so the cursor stays centered
this.updateCursor();
this.onHover(this.startResizePos, mouseEvent);
}
onRightEnd(mousePos, mouseEvent) {
}
}