MCPcopy Create free account
hub / github.com/breck7/scroll / Blur2

Function Blur2

external/.d3.js:120–149  ·  view source on GitHub ↗
(blur)

Source from the content-addressed store, hash-verified

118const blurImage = Blur2(blurfImage);
119
120function Blur2(blur) {
121 return function(data, rx, ry = rx) {
122 if (!((rx = +rx) >= 0)) throw new RangeError("invalid rx");
123 if (!((ry = +ry) >= 0)) throw new RangeError("invalid ry");
124 let {data: values, width, height} = data;
125 if (!((width = Math.floor(width)) >= 0)) throw new RangeError("invalid width");
126 if (!((height = Math.floor(height !== undefined ? height : values.length / width)) >= 0)) throw new RangeError("invalid height");
127 if (!width || !height || (!rx && !ry)) return data;
128 const blurx = rx && blur(rx);
129 const blury = ry && blur(ry);
130 const temp = values.slice();
131 if (blurx && blury) {
132 blurh(blurx, temp, values, width, height);
133 blurh(blurx, values, temp, width, height);
134 blurh(blurx, temp, values, width, height);
135 blurv(blury, values, temp, width, height);
136 blurv(blury, temp, values, width, height);
137 blurv(blury, values, temp, width, height);
138 } else if (blurx) {
139 blurh(blurx, values, temp, width, height);
140 blurh(blurx, temp, values, width, height);
141 blurh(blurx, values, temp, width, height);
142 } else if (blury) {
143 blurv(blury, values, temp, width, height);
144 blurv(blury, temp, values, width, height);
145 blurv(blury, values, temp, width, height);
146 }
147 return data;
148 };
149}
150
151function blurh(blur, T, S, w, h) {
152 for (let y = 0, n = w * h; y < n;) {

Callers 1

.d3.jsFile · 0.85

Calls 4

blurFunction · 0.85
blurhFunction · 0.85
blurvFunction · 0.85
sliceMethod · 0.80

Tested by

no test coverage detected