Issue 24 : Layers

!! NOT STABLE !!
Initial implementation. No UI update yet.
Check js/model/Piskel.js and js/model/Layer.js for an overview of the new
API.

Piskels can be saved on the existing service.

Previous piskels cannot be loaded. This should be fixed soon.
This commit is contained in:
jdescottes
2013-09-22 21:02:43 +02:00
parent 4f6863eb8a
commit 6528c7724b
24 changed files with 572 additions and 230 deletions

View File

@@ -1,7 +1,7 @@
(function () {
var ns = $.namespace("pskl.controller.settings");
ns.GifExportController = function (framesheet) {
this.framesheet = framesheet;
ns.GifExportController = function (piskelController) {
this.piskelController = piskelController;
};
ns.GifExportController.prototype.init = function () {
@@ -61,7 +61,7 @@
};
ns.GifExportController.prototype.createRadioForDpi_ = function (dpi, template) {
var label = dpi[0]*this.framesheet.getWidth() + "x" + dpi[0]*this.framesheet.getHeight();
var label = dpi[0]*this.piskelController.getWidth() + "x" + dpi[0]*this.piskelController.getHeight();
var value = dpi[0];
var radioHTML = pskl.utils.Template.replace(template, {value : value, label : label});
var radio = pskl.utils.Template.createFromHTML(radioHTML);
@@ -86,12 +86,12 @@
var gif = new window.GIF({
workers: 2,
quality: 10,
width: this.framesheet.getWidth()*dpi,
height: this.framesheet.getHeight()*dpi
width: this.piskelController.getWidth()*dpi,
height: this.piskelController.getHeight()*dpi
});
for (var i = 0; i < this.framesheet.frames.length; i++) {
var frame = this.framesheet.frames[i];
for (var i = 0; i < this.piskelController.getFrameCount(); i++) {
var frame = this.piskelController.getFrameAt(i);
var renderer = new pskl.rendering.CanvasRenderer(frame, dpi);
gif.addFrame(renderer.render(), {
delay: 1000 / fps