var core = require('../../core'), TiltShiftXFilter = require('./TiltShiftXFilter'), TiltShiftYFilter = require('./TiltShiftYFilter'); /** * @author Vico @vicocotea * original filter https://github.com/evanw/glfx.js/blob/master/src/filters/blur/tiltshift.js by Evan Wallace : http://madebyevan.com/ */ /** * A TiltShift Filter. Manages the pass of both a TiltShiftXFilter and TiltShiftYFilter. * * @class * @extends PIXI.AbstractFilter * @memberof PIXI.filters */ function TiltShiftFilter() { core.AbstractFilter.call(this); this.tiltShiftXFilter = new TiltShiftXFilter(); this.tiltShiftYFilter = new TiltShiftYFilter(); } TiltShiftFilter.prototype = Object.create(core.AbstractFilter.prototype); TiltShiftFilter.prototype.constructor = TiltShiftFilter; module.exports = TiltShiftFilter; TiltShiftFilter.prototype.applyFilter = function (renderer, input, output) { var renderTarget = renderer.filterManager.getRenderTarget(true); this.tiltShiftXFilter.applyFilter(renderer, input, renderTarget); this.tiltShiftYFilter.applyFilter(renderer, renderTarget, output); renderer.filterManager.returnRenderTarget(renderTarget); }; Object.defineProperties(TiltShiftFilter.prototype, { /** * The strength of the blur. * * @member {number} * @memberof PIXI.filters.TiltShiftFilter# */ blur: { get: function () { return this.tiltShiftXFilter.blur; }, set: function (value) { this.tiltShiftXFilter.blur = this.tiltShiftYFilter.blur = value; } }, /** * The strength of the gradient blur. * * @member {number} * @memberof PIXI.filters.TiltShiftFilter# */ gradientBlur: { get: function () { return this.tiltShiftXFilter.gradientBlur; }, set: function (value) { this.tiltShiftXFilter.gradientBlur = this.tiltShiftYFilter.gradientBlur = value; } }, /** * The Y value to start the effect at. * * @member {number} * @memberof PIXI.filters.TiltShiftFilter# */ start: { get: function () { return this.tiltShiftXFilter.start; }, set: function (value) { this.tiltShiftXFilter.start = this.tiltShiftYFilter.start = value; } }, /** * The Y value to end the effect at. * * @member {number} * @memberof PIXI.filters.TiltShiftFilter# */ end: { get: function () { return this.tiltShiftXFilter.end; }, set: function (value) { this.tiltShiftXFilter.end = this.tiltShiftYFilter.end = value; } } });