parent
9c7591b0c5
commit
7d76317add
@ -0,0 +1,59 @@
|
||||
const clamp = (p, s, e) => {
|
||||
s = s || 0;
|
||||
e = e || p;
|
||||
return p < s ? s : (p > e ? e : p);
|
||||
};
|
||||
|
||||
const spectrum = (p) => {
|
||||
return {
|
||||
r: clamp(1.0 - (p*2), 0, 1),
|
||||
g: p < 0.5 ? p / 0.5 : (p-0.5),
|
||||
b: clamp(p, 0.5, 1),
|
||||
|
||||
toBytes: function() {
|
||||
var bytes = {
|
||||
r: floor(this.r * 255),
|
||||
g: floor(this.g * 255),
|
||||
b: floor(this.b * 255),
|
||||
|
||||
toString: function() {
|
||||
return "#"+bytes.r.toString(16)+bytes.g.toString(16)+bytes.b.toString(16);
|
||||
}
|
||||
};
|
||||
return bytes;
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
const genrgb = (r,g,b) =>{ return {r: r, g: g, b: b}; };
|
||||
|
||||
function ColouredBar(par, bars) {
|
||||
const elem = document.createElement("div");
|
||||
|
||||
var str = "";
|
||||
var pct = 0;
|
||||
|
||||
for(let i=0;i<bars.length;i++) {
|
||||
const bar = bars[i];
|
||||
pct += bar.frag;
|
||||
str +=","+ bar.colour+" "+(pct*100)+"%"+ ((i<bars.length-1)? ", "+(pct*100)+"%":"");
|
||||
}
|
||||
|
||||
elem.setAttribute("class", "filebar");
|
||||
|
||||
if(bars.length<1)
|
||||
elem.style.background = "grey";
|
||||
else
|
||||
elem.style.background = 'linear-gradient(90deg '+str+')';
|
||||
|
||||
this.frags = bars;
|
||||
this.element = elem;
|
||||
this.parent = par;
|
||||
par.appendChild(elem);
|
||||
}
|
||||
|
||||
var BAR = ColouredBar.prototype;
|
||||
|
||||
BAR.remove = function() {
|
||||
this.element.remove();
|
||||
};
|
Loading…
Reference in new issue