33 lines
983 B
Plaintext
33 lines
983 B
Plaintext
import createNS from './helpers/svg_elements';
|
|
|
|
const filtersFactory = (function () {
|
|
var ob = {};
|
|
ob.createFilter = createFilter;
|
|
ob.createAlphaToLuminanceFilter = createAlphaToLuminanceFilter;
|
|
|
|
function createFilter(filId, skipCoordinates) {
|
|
var fil = createNS('filter');
|
|
fil.setAttribute('id', filId);
|
|
if (skipCoordinates !== true) {
|
|
fil.setAttribute('filterUnits', 'objectBoundingBox');
|
|
fil.setAttribute('x', '0%');
|
|
fil.setAttribute('y', '0%');
|
|
fil.setAttribute('width', '100%');
|
|
fil.setAttribute('height', '100%');
|
|
}
|
|
return fil;
|
|
}
|
|
|
|
function createAlphaToLuminanceFilter() {
|
|
var feColorMatrix = createNS('feColorMatrix');
|
|
feColorMatrix.setAttribute('type', 'matrix');
|
|
feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');
|
|
feColorMatrix.setAttribute('values', '0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1');
|
|
return feColorMatrix;
|
|
}
|
|
|
|
return ob;
|
|
}());
|
|
|
|
export default filtersFactory;
|