aboutsummaryrefslogtreecommitdiff
path: root/lib/screens/gradients.js
blob: 5e63d5ba9e567c1aec5ca690a20cba8263749883 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
'use strict';

// Draws moving gradient boxes.
const Gradients = function (modulation, width, height, renderer) {
  let response = '';

  for (let i = 0; i < height; i++) {
    for (let j = 0; j < width; j++) {
      let red = ((modulation + i) * 255 / height) % 255;
      let blue = ((modulation + j) * 255 / width) % 255;
      let 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;
};

module.exports = Gradients;