Added clone tool + icon

This commit is contained in:
jdescottes
2014-11-23 16:27:12 +01:00
parent ce1a5c4918
commit 61ee1d9b32
10 changed files with 86 additions and 3 deletions

View File

@ -8,8 +8,9 @@
};
this.tools = [
toDescriptor('flip', 'F', new pskl.tools.transform.Flip()),
toDescriptor('rotate', 'V', new pskl.tools.transform.Rotate())
toDescriptor('flip', '', new pskl.tools.transform.Flip()),
toDescriptor('rotate', '', new pskl.tools.transform.Rotate()),
toDescriptor('clone', '', new pskl.tools.transform.Clone())
];
this.toolIconRenderer = new pskl.tools.IconMarkupRenderer();

View File

@ -5,6 +5,7 @@
ns.IconMarkupRenderer.prototype.render = function (tool, shortcut, tooltipPosition) {
tooltipPosition = tooltipPosition || 'right';
shortcut = shortcut ? '(' + shortcut + ')' : '';
var tpl = pskl.utils.Template.get('drawingTool-item-template');
return pskl.utils.Template.replace(tpl, {
cssclass : ['tool-icon', tool.toolId].join(' '),

View File

@ -0,0 +1,25 @@
(function () {
var ns = $.namespace('pskl.tools.transform');
ns.Clone = function () {
this.toolId = "tool-clone";
this.helpText = "Clone current layer to all frames";
this.tooltipDescriptors = [];
};
pskl.utils.inherit(ns.Clone, ns.Transform);
ns.Clone.prototype.apply = function (evt) {
var ref = pskl.app.piskelController.getCurrentFrame();
var layer = pskl.app.piskelController.getCurrentLayer();
layer.getFrames().forEach(function (frame) {
if (frame !== ref) {
frame.setPixels(ref.getPixels());
}
});
$.publish(Events.PISKEL_RESET);
$.publish(Events.PISKEL_SAVE_STATE, {
type : pskl.service.HistoryService.SNAPSHOT
});
};
})();