code: function parse(value) {
          var matches;
  
          if (typeof value == 'object') {
            if ("r" in value) {
              r = value.r;
              g = value.g;
              b = value.b;
            } else if ("v" in value) {
              hsvToRgb(value.h, value.s, value.v);
            }
          } else {
            if ((matches = /rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)[^\)]*\)/gi.exec(value))) {
              r = parseInt(matches[1], 10);
              g = parseInt(matches[2], 10);
              b = parseInt(matches[3], 10);
            } else if ((matches = /#([0-F]{2})([0-F]{2})([0-F]{2})/gi.exec(value))) {
              r = parseInt(matches[1], 16);
              g = parseInt(matches[2], 16);
              b = parseInt(matches[3], 16);
            } else if ((matches = /#([0-F])([0-F])([0-F])/gi.exec(value))) {
              r = parseInt(matches[1] + matches[1], 16);
              g = parseInt(matches[2] + matches[2], 16);
              b = parseInt(matches[3] + matches[3], 16);
            }
          }
  
          r = r < 0 ? 0 : (r > 255 ? 255 : r);
          g = g < 0 ? 0 : (g > 255 ? 255 : g);
          b = b < 0 ? 0 : (b > 255 ? 255 : b);
  
          return self;
        }
docs: Parses the specified value and populates the color instance.
  
  Supported format examples:
  * rbg(255,0,0)
  * #ff0000
  * #fff
  * {r: 255, g: 0, b: 0}
  * {h: 360, s: 100, v: 100}
  
  @method parse
  @param {Object/String} value Color value to parse.
  @return {tinymce.util.Color} Current color instance.