diff --git a/css/_main-menu.scss b/css/_main-menu.scss index ea7181f..04697d0 100644 --- a/css/_main-menu.scss +++ b/css/_main-menu.scss @@ -125,7 +125,8 @@ li#editor-info { } input[type=number] { appearance:none; - -moz-appearance: text; + -moz-appearance:textfield; + -webkit-appearance:text; width:25px; height:15px; } diff --git a/js/tools/LassoSelectionTool.js b/js/tools/LassoSelectionTool.js index fb0ac7a..f767e12 100644 --- a/js/tools/LassoSelectionTool.js +++ b/js/tools/LassoSelectionTool.js @@ -33,8 +33,7 @@ class LassoSelectionTool extends SelectionTool { onDrag(mousePos, mouseTarget) { super.onDrag(mousePos, mouseTarget); - if (Util.isChildOfByClass(mouseTarget, "editor-top-menu") || - !Util.cursorInCanvas(currFile.canvasSize, [mousePos[0]/currFile.zoom, mousePos[1]/currFile.zoom])) + if (!Util.cursorInCanvas(currFile.canvasSize, [mousePos[0]/currFile.zoom, mousePos[1]/currFile.zoom])) return; if (this.currentPixels[this.currentPixels.length - 1] != mousePos) @@ -47,8 +46,7 @@ class LassoSelectionTool extends SelectionTool { super.onEnd(mousePos, mouseTarget); new HistoryState().EditCanvas(); - if (Util.isChildOfByClass(mouseTarget, "editor-top-menu") || - !Util.cursorInCanvas(currFile.canvasSize, [mousePos[0]/currFile.zoom, mousePos[1]/currFile.zoom])) + if (Util.isChildOfByClass(mouseTarget, "editor-top-menu")) return; this.currentPixels.push([this.startMousePos[0] / currFile.zoom, this.startMousePos[1] / currFile.zoom]); diff --git a/js/tools/MoveSelectionTool.js b/js/tools/MoveSelectionTool.js index 32f0bad..51e4813 100644 --- a/js/tools/MoveSelectionTool.js +++ b/js/tools/MoveSelectionTool.js @@ -75,9 +75,6 @@ class MoveSelectionTool extends DrawingTool { onDrag(mousePos) { super.onDrag(mousePos); - - if (!this.selectionTool.cursorInSelectedArea(mousePos)) - return; this.selectionTool.moveOffset = [Math.floor(mousePos[0] / currFile.zoom - currFile.canvasSize[0] / 2 - (this.selectionTool.boundingBoxCenter[0] - currFile.canvasSize[0]/2)), @@ -98,8 +95,7 @@ class MoveSelectionTool extends DrawingTool { super.onEnd(mousePos, mouseTarget); if (!this.selectionTool.cursorInSelectedArea(mousePos) && - !Util.isChildOfByClass(mouseTarget, "editor-top-menu") && - Util.cursorInCanvas(currFile.canvasSize, [mousePos[0]/currFile.zoom, mousePos[1]/currFile.zoom])) { + !Util.isChildOfByClass(mouseTarget, "editor-top-menu")) { this.endSelection(); // Switch to selection tool this.switchFunc(this.selectionTool); diff --git a/js/tools/RectangularSelectionTool.js b/js/tools/RectangularSelectionTool.js index 7f0040f..f7bee0b 100644 --- a/js/tools/RectangularSelectionTool.js +++ b/js/tools/RectangularSelectionTool.js @@ -58,8 +58,7 @@ class RectangularSelectionTool extends SelectionTool { onEnd(mousePos, mouseTarget) { super.onEnd(mousePos, mouseTarget); - if (Util.isChildOfByClass(mouseTarget, "editor-top-menu") || - !Util.cursorInCanvas(currFile.canvasSize, [mousePos[0]/currFile.zoom, mousePos[1]/currFile.zoom])) + if (Util.isChildOfByClass(mouseTarget, "editor-top-menu")) return; new HistoryState().EditCanvas(); @@ -80,10 +79,12 @@ class RectangularSelectionTool extends SelectionTool { this.startMousePos[1] = tmp; } - this.boundingBox.minX = this.startMousePos[0] - 1; - this.boundingBox.maxX = this.endMousePos[0] + 1; - this.boundingBox.minY = this.startMousePos[1] - 1; - this.boundingBox.maxY = this.endMousePos[1] + 1; + if (Util.cursorInCanvas(currFile.canvasSize, [mousePos[0]/currFile.zoom, mousePos[1]/currFile.zoom])) { + this.boundingBox.minX = this.startMousePos[0] - 1; + this.boundingBox.maxX = this.endMousePos[0] + 1; + this.boundingBox.minY = this.startMousePos[1] - 1; + this.boundingBox.maxY = this.endMousePos[1] + 1; + } // Switch to the move tool so that the user can move the selection this.switchFunc(this.moveTool); diff --git a/js/tools/SelectionTool.js b/js/tools/SelectionTool.js index ebbda6f..35a7799 100644 --- a/js/tools/SelectionTool.js +++ b/js/tools/SelectionTool.js @@ -51,7 +51,6 @@ class SelectionTool extends Tool { onDrag(mousePos) { super.onDrag(mousePos); - console.log("drag"); let mouseX = mousePos[0] / currFile.zoom; let mouseY = mousePos[1] / currFile.zoom; @@ -66,22 +65,25 @@ class SelectionTool extends Tool { this.reconstruct.top = true; - this.updateBoundingBox(Math.min(Math.max(mouseX, 0), currFile.canvasSize[0]-1), - Math.min(Math.max(mouseY, 0), currFile.canvasSize[1]-1)); + if (Util.cursorInCanvas(currFile.canvasSize, [mousePos[0]/currFile.zoom, mousePos[1]/currFile.zoom])) { + this.updateBoundingBox(Math.min(Math.max(mouseX, 0), currFile.canvasSize[0]-1), + Math.min(Math.max(mouseY, 0), currFile.canvasSize[1]-1)); + } } onEnd(mousePos, mouseTarget) { super.onEnd(mousePos); - if (mouseTarget == undefined || Util.isChildOfByClass(mouseTarget, "editor-top-menu") || - !Util.cursorInCanvas(currFile.canvasSize, [mousePos[0]/currFile.zoom, mousePos[1]/currFile.zoom])) + if (mouseTarget == undefined || Util.isChildOfByClass(mouseTarget, "editor-top-menu")) return; let mouseX = mousePos[0] / currFile.zoom; let mouseY = mousePos[1] / currFile.zoom; - this.updateBoundingBox(Math.min(Math.max(mouseX, 0), currFile.canvasSize[0]-1), - Math.min(Math.max(mouseY, 0), currFile.canvasSize[1]-1)); + if (Util.cursorInCanvas(currFile.canvasSize, [mousePos[0]/currFile.zoom, mousePos[1]/currFile.zoom])) { + this.updateBoundingBox(Math.min(Math.max(mouseX, 0), currFile.canvasSize[0]-1), + Math.min(Math.max(mouseY, 0), currFile.canvasSize[1]-1)); + } this.boundingBoxCenter = [this.boundingBox.minX + (this.boundingBox.maxX - this.boundingBox.minX) / 2, this.boundingBox.minY + (this.boundingBox.maxY - this.boundingBox.minY) / 2];