'use strict'; /** * Draws moving gradient boxes * * @function GradientsScreen * @implements IScreen */ module.exports = function (modulation, width, height, renderer) { let response = ''; for (let i = 0; i < height; ++i) { for (let j = 0; j < width; ++j) { const red = ((modulation + i) * 255 / height) % 255; const blue = ((modulation + j) * 255 / width) % 255; const green = ((modulation + i * j) * 255 / (width * height)) % 255; response = response + renderer(red, blue, green); response = response + ' '; } if (i < height - 1) { response = response + '\n'; } } return response; };