]> git.r.bdr.sh - rbdr/tomato-sauce/blame - lib/screens/gradients.js
Use variable for interval
[rbdr/tomato-sauce] / lib / screens / gradients.js
CommitLineData
c7b4bd19
BB
1'use strict';
2
fd38d409
RBR
3/**
4 * Draws moving gradient boxes
5 *
6 * @function GradientsScreen
7 * @implements IScreen
8 */
9module.exports = function (modulation, width, height, renderer) {
10
c7b4bd19
BB
11 let response = '';
12
fd38d409
RBR
13 for (let i = 0; i < height; ++i) {
14 for (let j = 0; j < width; ++j) {
15 const red = ((modulation + i) * 255 / height) % 255;
16 const blue = ((modulation + j) * 255 / width) % 255;
17 const green = ((modulation + i * j) * 255 / (width * height)) % 255;
c7b4bd19
BB
18
19 response = response + renderer(red, blue, green);
20 response = response + ' ';
21 }
22
23 if (i < height - 1) {
24 response = response + '\n';
25 }
26 }
27
28 return response;
29};