%PDF- %PDF-
Direktori : /home/jalalj2hb/www/ftm-admin/bower_components/kineticjs/src/ |
Current File : /home/jalalj2hb/www/ftm-admin/bower_components/kineticjs/src/BaseLayer.js |
(function() { Kinetic.Util.addMethods(Kinetic.BaseLayer, { ___init: function(config) { this.nodeType = 'Layer'; Kinetic.Container.call(this, config); }, createPNGStream : function() { return this.canvas._canvas.createPNGStream(); }, /** * get layer canvas * @method * @memberof Kinetic.BaseLayer.prototype */ getCanvas: function() { return this.canvas; }, /** * get layer hit canvas * @method * @memberof Kinetic.BaseLayer.prototype */ getHitCanvas: function() { return this.hitCanvas; }, /** * get layer canvas context * @method * @memberof Kinetic.BaseLayer.prototype */ getContext: function() { return this.getCanvas().getContext(); }, /** * clear scene and hit canvas contexts tied to the layer * @method * @memberof Kinetic.BaseLayer.prototype * @param {Object} [bounds] * @param {Number} [bounds.x] * @param {Number} [bounds.y] * @param {Number} [bounds.width] * @param {Number} [bounds.height] * @example * layer.clear();<br> * layer.clear(0, 0, 100, 100); */ clear: function(bounds) { this.getContext().clear(bounds); this.getHitCanvas().getContext().clear(bounds); return this; }, // extend Node.prototype.setZIndex setZIndex: function(index) { Kinetic.Node.prototype.setZIndex.call(this, index); var stage = this.getStage(); if(stage) { stage.content.removeChild(this.getCanvas()._canvas); if(index < stage.getChildren().length - 1) { stage.content.insertBefore(this.getCanvas()._canvas, stage.getChildren()[index + 1].getCanvas()._canvas); } else { stage.content.appendChild(this.getCanvas()._canvas); } } return this; }, // extend Node.prototype.moveToTop moveToTop: function() { Kinetic.Node.prototype.moveToTop.call(this); var stage = this.getStage(); if(stage) { stage.content.removeChild(this.getCanvas()._canvas); stage.content.appendChild(this.getCanvas()._canvas); } }, // extend Node.prototype.moveUp moveUp: function() { if(Kinetic.Node.prototype.moveUp.call(this)) { var stage = this.getStage(); if(stage) { stage.content.removeChild(this.getCanvas()._canvas); if(this.index < stage.getChildren().length - 1) { stage.content.insertBefore(this.getCanvas()._canvas, stage.getChildren()[this.index + 1].getCanvas()._canvas); } else { stage.content.appendChild(this.getCanvas()._canvas); } } } }, // extend Node.prototype.moveDown moveDown: function() { if(Kinetic.Node.prototype.moveDown.call(this)) { var stage = this.getStage(); if(stage) { var children = stage.getChildren(); stage.content.removeChild(this.getCanvas()._canvas); stage.content.insertBefore(this.getCanvas()._canvas, children[this.index + 1].getCanvas()._canvas); } } }, // extend Node.prototype.moveToBottom moveToBottom: function() { if(Kinetic.Node.prototype.moveToBottom.call(this)) { var stage = this.getStage(); if(stage) { var children = stage.getChildren(); stage.content.removeChild(this.getCanvas()._canvas); stage.content.insertBefore(this.getCanvas()._canvas, children[1].getCanvas()._canvas); } } }, getLayer: function() { return this; }, remove: function() { var _canvas = this.getCanvas()._canvas; Kinetic.Node.prototype.remove.call(this); if(_canvas && _canvas.parentNode && Kinetic.Util._isInDocument(_canvas)) { _canvas.parentNode.removeChild(_canvas); } return this; }, getStage: function() { return this.parent; } }); Kinetic.Util.extend(Kinetic.BaseLayer, Kinetic.Container); // add getters and setters Kinetic.Factory.addGetterSetter(Kinetic.BaseLayer, 'clearBeforeDraw', true); /** * get/set clearBeforeDraw flag which determines if the layer is cleared or not * before drawing * @name clearBeforeDraw * @method * @memberof Kinetic.BaseLayer.prototype * @param {Boolean} clearBeforeDraw * @returns {Boolean} * @example * // get clearBeforeDraw flag<br> * var clearBeforeDraw = layer.clearBeforeDraw();<br><br> * * // disable clear before draw<br> * layer.clearBeforeDraw(false);<br><br> * * // enable clear before draw<br> * layer.clearBeforeDraw(true); */ Kinetic.Collection.mapMethods(Kinetic.BaseLayer); })();