74 lines
		
	
	
		
			No EOL
		
	
	
		
			3.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			No EOL
		
	
	
		
			3.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
(function() {
 | 
						|
var Filters = {}
 | 
						|
 | 
						|
var svg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
 | 
						|
svg.setAttribute("style", "display:block;width:0px;height:0px");
 | 
						|
var defs = document.createElementNS("http://www.w3.org/2000/svg", "defs");
 | 
						|
 | 
						|
var blurFilter = document.createElementNS("http://www.w3.org/2000/svg", "filter");
 | 
						|
blurFilter.setAttribute("id", "svgBlurFilter");
 | 
						|
var feGaussianFilter = document.createElementNS("http://www.w3.org/2000/svg", "feGaussianBlur");
 | 
						|
feGaussianFilter.setAttribute("stdDeviation", "0 0");
 | 
						|
blurFilter.appendChild(feGaussianFilter);
 | 
						|
defs.appendChild(blurFilter);
 | 
						|
Filters._svgBlurFilter = feGaussianFilter;
 | 
						|
 | 
						|
// Drop Shadow Filter
 | 
						|
var dropShadowFilter = document.createElementNS("http://www.w3.org/2000/svg", "filter");
 | 
						|
dropShadowFilter.setAttribute("id", "svgDropShadowFilter");
 | 
						|
var feGaussianFilter = document.createElementNS("http://www.w3.org/2000/svg", "feGaussianBlur");
 | 
						|
feGaussianFilter.setAttribute("in", "SourceAlpha");
 | 
						|
feGaussianFilter.setAttribute("stdDeviation", "3");
 | 
						|
dropShadowFilter.appendChild(feGaussianFilter);
 | 
						|
Filters._svgDropshadowFilterBlur = feGaussianFilter;
 | 
						|
 | 
						|
var feOffset = document.createElementNS("http://www.w3.org/2000/svg", "feOffset");
 | 
						|
feOffset.setAttribute("dx", "0");
 | 
						|
feOffset.setAttribute("dy", "0");
 | 
						|
feOffset.setAttribute("result", "offsetblur");
 | 
						|
dropShadowFilter.appendChild(feOffset);
 | 
						|
Filters._svgDropshadowFilterOffset = feOffset;
 | 
						|
 | 
						|
var feFlood = document.createElementNS("http://www.w3.org/2000/svg", "feFlood");
 | 
						|
feFlood.setAttribute("flood-color", "rgba(0,0,0,1)");
 | 
						|
dropShadowFilter.appendChild(feFlood);
 | 
						|
Filters._svgDropshadowFilterFlood = feFlood;
 | 
						|
 | 
						|
var feComposite = document.createElementNS("http://www.w3.org/2000/svg", "feComposite");
 | 
						|
feComposite.setAttribute("in2", "offsetblur");
 | 
						|
feComposite.setAttribute("operator", "in");
 | 
						|
dropShadowFilter.appendChild(feComposite);
 | 
						|
var feComposite = document.createElementNS("http://www.w3.org/2000/svg", "feComposite");
 | 
						|
feComposite.setAttribute("in2", "SourceAlpha");
 | 
						|
feComposite.setAttribute("operator", "out");
 | 
						|
feComposite.setAttribute("result", "outer");
 | 
						|
dropShadowFilter.appendChild(feComposite);
 | 
						|
 | 
						|
var feMerge = document.createElementNS("http://www.w3.org/2000/svg", "feMerge");
 | 
						|
var feMergeNode = document.createElementNS("http://www.w3.org/2000/svg", "feMergeNode");
 | 
						|
feMerge.appendChild(feMergeNode);
 | 
						|
var feMergeNode = document.createElementNS("http://www.w3.org/2000/svg", "feMergeNode");
 | 
						|
feMerge.appendChild(feMergeNode);
 | 
						|
Filters._svgDropshadowMergeNode = feMergeNode;
 | 
						|
dropShadowFilter.appendChild(feMerge);
 | 
						|
defs.appendChild(dropShadowFilter);
 | 
						|
svg.appendChild(defs);
 | 
						|
document.documentElement.appendChild(svg);
 | 
						|
 | 
						|
const blurScale = 1;
 | 
						|
const scale = (document.body.clientWidth / 1280);
 | 
						|
 | 
						|
Filters._svgDropshadowFilterBlur.setAttribute("stdDeviation",
 | 
						|
    1 * blurScale + " " +
 | 
						|
    1 * blurScale
 | 
						|
);
 | 
						|
Filters._svgDropshadowFilterOffset.setAttribute("dx",
 | 
						|
    String(Math.cos(45 * Math.PI / 180) * 1 * scale));
 | 
						|
Filters._svgDropshadowFilterOffset.setAttribute("dy",
 | 
						|
    String(Math.sin(45 * Math.PI / 180) * 1 * scale));
 | 
						|
Filters._svgDropshadowFilterFlood.setAttribute("flood-color",
 | 
						|
    'rgba(0, 0, 0, 1)');
 | 
						|
Filters._svgDropshadowMergeNode.setAttribute("in",
 | 
						|
    "SourceGraphic");
 | 
						|
 | 
						|
})(); |