1 /*global one*/
  2 one.include('js:one/color.js');
  3 
  4 one.include('js:one/color-parse.js');
  5 one.include('js:one/color/RGB.js');
  6 
  7 /**
  8  * @constructor
  9  */
 10 one.color.Interpolator = function (startColor, endColor, minValue, maxValue) {
 11     startColor = one.color.parse(startColor).toRGB();
 12     endColor = one.color.parse(endColor).toRGB();
 13     if (maxValue === minValue) {
 14         return function () {
 15             return startColor;
 16         };
 17     }
 18     var deltaR = endColor.r - startColor.r,
 19         deltaG = endColor.g - startColor.g,
 20         deltaB = endColor.b - startColor.b;
 21     return function (value) {
 22         var intensity = (value - minValue) / (maxValue - minValue);
 23         return new one.color.RGB(startColor.r + deltaR * intensity, startColor.g + deltaG * intensity, startColor.b + deltaB * intensity);
 24     };
 25 };
 26