/** * R3.D3.Composer.RenderTarget * @param apiComponent * @constructor */ R3.D3.Composer.RenderTarget = function( apiComponent ) { __RUNTIME_COMPONENT__; R3.D3.API.Composer.RenderTarget.call( this, apiComponent, apiComponent.renderTarget ); if (this.renderTarget instanceof R3.D3.API.RenderTarget) { this.renderTarget = R3.Component.ConstructFromObject(this.renderTarget); } var linkedComponents = { renderTarget : R3.D3.RenderTarget }; R3.D3.Composer.call( this, linkedComponents ); }; R3.D3.Composer.RenderTarget.prototype = Object.create(R3.D3.Composer.prototype); R3.D3.Composer.RenderTarget.prototype.constructor = R3.D3.Composer.RenderTarget; /** * Creates a Composer instance * @returns {*} */ R3.D3.Composer.RenderTarget.prototype.createInstance = function() { if (R3.Utils.UndefinedOrNull(this.renderTarget)) { throw new Error('Need at least a renderTarget to create this composer object instance') } this.width = this.renderTarget.width; this.height = this.renderTarget.height; /** * Right - now we should have the right size of the composer - we can continue */ this.instance = this.graphics.Composer( null, this.renderTarget, this.passes, { width : this.width, height : this.height } ); __CREATE_INSTANCE__; }; /** * Updates Composer instance */ R3.D3.Composer.RenderTarget.prototype.updateInstance = function(property) { if (property === 'rendererTarget') { console.warn('TODO: renderTarget update'); return; } R3.D3.Composer.prototype.updateInstance.call(this, property); }; /** * Returns true if this composer is ready * @returns {boolean} */ R3.D3.Composer.RenderTarget.prototype.ready = function() { if (R3.Utils.UndefinedOrNull(this.instance)) { return false; } if (R3.Utils.UndefinedOrNull(this.renderTarget)) { return false; } return R3.D3.Composer.prototype.ready.call(this); };