2021-11-01 14:01:31 +03:00
|
|
|
class PanTool extends Tool {
|
|
|
|
|
|
|
|
constructor(name, options, switchFunction) {
|
|
|
|
super(name, options);
|
|
|
|
|
|
|
|
Events.on('click', this.mainButton, switchFunction, this);
|
2022-01-30 02:09:43 +03:00
|
|
|
|
|
|
|
this.resetTutorial();
|
|
|
|
this.addTutorialTitle("Pan tool");
|
|
|
|
this.addTutorialKey("P", " to select the lasso selection tool");
|
|
|
|
this.addTutorialKey("Left drag", " to move the viewport");
|
|
|
|
this.addTutorialKey("Space + drag", " to move the viewport");
|
2022-02-25 17:49:30 +03:00
|
|
|
this.addTutorialImg("/pan-tutorial.gif");
|
2021-11-01 14:01:31 +03:00
|
|
|
}
|
|
|
|
|
2021-12-13 00:55:28 +03:00
|
|
|
onStart(mousePos, target) {
|
2021-11-01 14:01:31 +03:00
|
|
|
super.onStart(mousePos);
|
2021-12-13 00:55:28 +03:00
|
|
|
if (target.className != 'drawingCanvas')
|
|
|
|
return;
|
2022-01-13 22:40:35 +03:00
|
|
|
currFile.canvasView.style.cursor = "url(\'pan-held.png\'), auto";
|
2021-11-01 14:01:31 +03:00
|
|
|
}
|
|
|
|
|
2021-12-13 00:55:28 +03:00
|
|
|
onDrag(mousePos, target) {
|
2021-11-01 14:01:31 +03:00
|
|
|
super.onDrag(mousePos);
|
2021-12-13 00:55:28 +03:00
|
|
|
if (target.className != 'drawingCanvas')
|
|
|
|
return;
|
2021-11-01 14:01:31 +03:00
|
|
|
|
|
|
|
// Setting first layer position
|
2021-12-06 19:37:43 +03:00
|
|
|
currFile.layers[0].setCanvasOffset(currFile.layers[0].canvas.offsetLeft + (mousePos[0] - this.startMousePos[0]), currFile.layers[0].canvas.offsetTop + (mousePos[1] - this.startMousePos[1]));
|
2021-11-01 14:01:31 +03:00
|
|
|
// Copying that position to the other layers
|
2021-12-06 19:37:43 +03:00
|
|
|
for (let i=1; i<currFile.layers.length; i++) {
|
|
|
|
currFile.layers[i].copyData(currFile.layers[0]);
|
2021-11-01 14:01:31 +03:00
|
|
|
}
|
2022-02-25 22:06:44 +03:00
|
|
|
for (let i=0; i<currFile.sublayers.length; i++) {
|
|
|
|
currFile.sublayers[i].copyData(currFile.layers[0]);
|
|
|
|
}
|
2021-11-01 14:01:31 +03:00
|
|
|
}
|
|
|
|
|
2021-12-13 00:55:28 +03:00
|
|
|
onEnd(mousePos, target) {
|
2021-11-01 14:01:31 +03:00
|
|
|
super.onEnd(mousePos);
|
2021-12-13 00:55:28 +03:00
|
|
|
if (target.className != 'drawingCanvas')
|
|
|
|
return;
|
2021-11-01 14:01:31 +03:00
|
|
|
|
2022-01-13 22:40:35 +03:00
|
|
|
currFile.canvasView.style.cursor = "url(\'pan.png\'), auto";
|
2021-11-01 14:01:31 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
onSelect() {
|
|
|
|
super.onSelect();
|
2022-01-13 22:40:35 +03:00
|
|
|
currFile.canvasView.style.cursor = "url(\'pan.png\'), auto";
|
2021-11-01 14:01:31 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
onDeselect() {
|
|
|
|
super.onDeselect();
|
|
|
|
}
|
|
|
|
}
|