|
|
|
@ -3,19 +3,24 @@ |
|
|
|
|
function RenderGradient(stops, max) { |
|
|
|
|
let result = {}; |
|
|
|
|
|
|
|
|
|
for(let value in stops) { |
|
|
|
|
for(let value in stops) |
|
|
|
|
result[value / max] = stops[value]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return result; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function GenerateCSSGradient(stops, max) { |
|
|
|
|
/** |
|
|
|
|
* Generates a CSS gradient, given the output of RenderGradient(). |
|
|
|
|
* @param {[string, string]} stops The stops specification to create a css linear-gradient from. Should be the output of RenderGradient(). |
|
|
|
|
* @returns {string} The rendered CSS linear-gradient. |
|
|
|
|
*/ |
|
|
|
|
function GenerateCSSGradient(stops) { |
|
|
|
|
let stops_processed = []; |
|
|
|
|
for(let value in stops) { |
|
|
|
|
stops_processed = `${stops[value]} ${(value/max).toFixed(3)}%` |
|
|
|
|
let valueNumber = parseFloat(value); |
|
|
|
|
stops_processed.push(`${stops[value]} ${(valueNumber*100).toFixed(3).replace(/\.?[0]+$/, "")}%`); |
|
|
|
|
} |
|
|
|
|
return `linear-gradient(to bottom, ${stops_processed.join(", ")})`; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
export { RenderGradient }; |
|
|
|
|
export { RenderGradient, GenerateCSSGradient }; |
|
|
|
|