first commit
This commit is contained in:
44
node_modules/lottie-web/player/js/elements/svgElements/effects/SVGGaussianBlurEffect.js
generated
vendored
Normal file
44
node_modules/lottie-web/player/js/elements/svgElements/effects/SVGGaussianBlurEffect.js
generated
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
import createNS from '../../../utils/helpers/svg_elements';
|
||||
|
||||
function SVGGaussianBlurEffect(filter, filterManager, elem, id) {
|
||||
// Outset the filter region by 100% on all sides to accommodate blur expansion.
|
||||
filter.setAttribute('x', '-100%');
|
||||
filter.setAttribute('y', '-100%');
|
||||
filter.setAttribute('width', '300%');
|
||||
filter.setAttribute('height', '300%');
|
||||
|
||||
this.filterManager = filterManager;
|
||||
var feGaussianBlur = createNS('feGaussianBlur');
|
||||
feGaussianBlur.setAttribute('result', id);
|
||||
filter.appendChild(feGaussianBlur);
|
||||
this.feGaussianBlur = feGaussianBlur;
|
||||
}
|
||||
|
||||
SVGGaussianBlurEffect.prototype.renderFrame = function (forceRender) {
|
||||
if (forceRender || this.filterManager._mdf) {
|
||||
// Empirical value, matching AE's blur appearance.
|
||||
var kBlurrinessToSigma = 0.3;
|
||||
var sigma = this.filterManager.effectElements[0].p.v * kBlurrinessToSigma;
|
||||
|
||||
// Dimensions mapping:
|
||||
//
|
||||
// 1 -> horizontal & vertical
|
||||
// 2 -> horizontal only
|
||||
// 3 -> vertical only
|
||||
//
|
||||
var dimensions = this.filterManager.effectElements[1].p.v;
|
||||
var sigmaX = (dimensions == 3) ? 0 : sigma; // eslint-disable-line eqeqeq
|
||||
var sigmaY = (dimensions == 2) ? 0 : sigma; // eslint-disable-line eqeqeq
|
||||
|
||||
this.feGaussianBlur.setAttribute('stdDeviation', sigmaX + ' ' + sigmaY);
|
||||
|
||||
// Repeat edges mapping:
|
||||
//
|
||||
// 0 -> off -> duplicate
|
||||
// 1 -> on -> wrap
|
||||
var edgeMode = (this.filterManager.effectElements[2].p.v == 1) ? 'wrap' : 'duplicate'; // eslint-disable-line eqeqeq
|
||||
this.feGaussianBlur.setAttribute('edgeMode', edgeMode);
|
||||
}
|
||||
};
|
||||
|
||||
export default SVGGaussianBlurEffect;
|
Reference in New Issue
Block a user