mirror of
https://github.com/piskelapp/piskel.git
synced 2023-08-10 21:12:52 +03:00
Stroke tool
Add stroke tool new icons for tools started some refactoring to help having a big redraw loop
This commit is contained in:
@ -8,12 +8,13 @@
|
||||
|
||||
ns.BaseTool = function() {};
|
||||
|
||||
ns.BaseTool.prototype.applyToolOnFrameAt = function(col, row, frame, color) {};
|
||||
ns.BaseTool.prototype.applyToolAt = function(col, row, frame, color, canvas, dpi) {};
|
||||
|
||||
ns.BaseTool.prototype.applyToolOnCanvasAt = function(col, row, canvas, color, dpi) {};
|
||||
|
||||
ns.BaseTool.prototype.releaseToolAt = function() {};
|
||||
ns.BaseTool.prototype.moveToolAt = function(col, row, frame, color, canvas, dpi) {};
|
||||
|
||||
ns.BaseTool.prototype.releaseToolAt = function(col, row, frame, color, canvas, dpi) {};
|
||||
|
||||
// TODO: Remove that when we have the centralized redraw loop
|
||||
ns.BaseTool.prototype.drawPixelInCanvas = function (col, row, canvas, color, dpi) {
|
||||
var context = canvas.getContext('2d');
|
||||
if(color == undefined || color == Constants.TRANSPARENT_COLOR) {
|
||||
@ -27,6 +28,7 @@
|
||||
}
|
||||
};
|
||||
|
||||
// TODO: Remove that when we have the centralized redraw loop
|
||||
ns.BaseTool.prototype.drawFrameInCanvas = function (frame, canvas, dpi) {
|
||||
var color;
|
||||
for(var col = 0, num_col = frame.length; col < num_col; col++) {
|
||||
@ -36,4 +38,21 @@
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// For some tools, we need a fake canvas that overlay the drawing canvas. These tools are
|
||||
// generally 'drap and release' based tools (stroke, selection, etc) and the fake canvas
|
||||
// will help to visualize the tool interaction (without modifying the canvas).
|
||||
ns.BaseTool.prototype.createCanvasOverlay = function (canvas) {
|
||||
var overlayCanvas = document.createElement("canvas");
|
||||
overlayCanvas.className = "canvas-overlay";
|
||||
overlayCanvas.setAttribute("width", canvas.width);
|
||||
overlayCanvas.setAttribute("height", canvas.height);
|
||||
|
||||
canvas.parentNode.appendChild(overlayCanvas);
|
||||
return overlayCanvas;
|
||||
};
|
||||
|
||||
ns.BaseTool.prototype.removeCanvasOverlays = function () {
|
||||
$(".canvas-overlay").remove();
|
||||
};
|
||||
})();
|
||||
|
Reference in New Issue
Block a user