mirror of
https://github.com/piskelapp/piskel.git
synced 2023-08-10 21:12:52 +03:00
Feature : Tiled preview initial commiy
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
ns.AbstractRenderer = function () {};
|
||||
|
||||
ns.AbstractRenderer.prototype.clear = Constants.ABSTRACT_FUNCTION;
|
||||
ns.AbstractRenderer.prototype.render = Constants.ABSTRACT_FUNCTION;
|
||||
|
||||
ns.AbstractRenderer.prototype.getCoordinates = Constants.ABSTRACT_FUNCTION;
|
||||
|
||||
|
||||
@@ -12,6 +12,13 @@
|
||||
return this;
|
||||
};
|
||||
|
||||
|
||||
ns.CompositeRenderer.prototype.render = function (frame) {
|
||||
this.renderers.forEach(function (renderer) {
|
||||
renderer.render(frame);
|
||||
});
|
||||
};
|
||||
|
||||
ns.CompositeRenderer.prototype.clear = function () {
|
||||
this.renderers.forEach(function (renderer) {
|
||||
renderer.clear();
|
||||
|
||||
@@ -70,6 +70,18 @@
|
||||
}
|
||||
};
|
||||
|
||||
ns.FrameRenderer.prototype.hide = function () {
|
||||
if (this.displayCanvas) {
|
||||
this.displayCanvas.style.display = 'none';
|
||||
}
|
||||
};
|
||||
|
||||
ns.FrameRenderer.prototype.show = function () {
|
||||
if (this.displayCanvas) {
|
||||
this.displayCanvas.style.display = 'block';
|
||||
}
|
||||
};
|
||||
|
||||
ns.FrameRenderer.prototype.clear = function () {
|
||||
pskl.CanvasUtils.clear(this.canvas);
|
||||
pskl.CanvasUtils.clear(this.displayCanvas);
|
||||
|
||||
55
src/js/rendering/frame/TiledFrameRenderer.js
Normal file
55
src/js/rendering/frame/TiledFrameRenderer.js
Normal file
@@ -0,0 +1,55 @@
|
||||
(function () {
|
||||
var ns = $.namespace('pskl.rendering.frame');
|
||||
|
||||
ns.TiledFrameRenderer = function (container) {
|
||||
this.displayContainer = document.createElement('div');
|
||||
container.get(0).appendChild(this.displayContainer);
|
||||
this.displayContainer.style.backgroundRepeat = 'repeat';
|
||||
this.displayContainer.classList.add('tiled-frame-renderer');
|
||||
this.container = container;
|
||||
this.updateBackgroundClass_(pskl.UserSettings.get(pskl.UserSettings.CANVAS_BACKGROUND));
|
||||
$.subscribe(Events.USER_SETTINGS_CHANGED, $.proxy(this.onUserSettingsChange_, this));
|
||||
};
|
||||
|
||||
ns.TiledFrameRenderer.prototype.render = function (frame) {
|
||||
var canvas = new pskl.utils.FrameUtils.toImage(frame);
|
||||
this.displayContainer.style.backgroundImage = 'url(' + canvas.toDataURL('image/png') + ')';
|
||||
};
|
||||
|
||||
|
||||
|
||||
ns.TiledFrameRenderer.prototype.hide = function () {
|
||||
if (this.displayContainer) {
|
||||
this.displayContainer.style.display = 'none';
|
||||
}
|
||||
};
|
||||
|
||||
ns.TiledFrameRenderer.prototype.show = function () {
|
||||
if (this.displayContainer) {
|
||||
this.displayContainer.style.display = 'block';
|
||||
}
|
||||
};
|
||||
|
||||
ns.TiledFrameRenderer.prototype.setZoom = Constants.EMPTY_FUNCTION;
|
||||
|
||||
ns.TiledFrameRenderer.prototype.setOffset = Constants.EMPTY_FUNCTION;
|
||||
|
||||
ns.TiledFrameRenderer.prototype.setDisplaySize = Constants.EMPTY_FUNCTION;
|
||||
|
||||
ns.TiledFrameRenderer.prototype.onUserSettingsChange_ = function (evt, settingName, settingValue) {
|
||||
if (settingName == pskl.UserSettings.CANVAS_BACKGROUND) {
|
||||
this.updateBackgroundClass_(settingValue);
|
||||
} else if (settingName == pskl.UserSettings.GRID_WIDTH) {
|
||||
this.setGridWidth(settingValue);
|
||||
}
|
||||
};
|
||||
|
||||
ns.TiledFrameRenderer.prototype.updateBackgroundClass_ = function (newClass) {
|
||||
var currentClass = this.container.data('current-background-class');
|
||||
if (currentClass) {
|
||||
this.container.removeClass(currentClass);
|
||||
}
|
||||
this.container.addClass(newClass);
|
||||
this.container.data('current-background-class', newClass);
|
||||
};
|
||||
})();
|
||||
Reference in New Issue
Block a user