// ========================================================================== // Project: SproutCore - JavaScript Application Framework // Copyright: ©2006-2011 Strobe Inc. and contributors. // ©2008-2011 Apple Inc. All rights reserved. // License: Licensed under MIT license (see license.js) // ========================================================================== /** These functions are deprecated use SC.Color instead. @deprecated @see SC.Color */ SC.mixin ( /** @scope SC */ { /** Returns hex color from hsv value */ convertHsvToHex: function (h, s, v) { // @if (debug) SC.Logger.warn("SC.convertHsvToHex is deprecated. Please use SC.Color.hsvToRgb instead."); // @endif var rgb = SC.Color.hsvToRgb(h, s, v); return SC.Color.create({ r: rgb[0], g: rgb[1], b: rgb[2] }).toHex(); }, /** Returns hsv color from hex value */ convertHexToHsv: function (hex) { // @if (debug) SC.Logger.warn("SC.convertHexToHsv is deprecated. Please use SC.Color.rgbToHsv instead."); // @endif var color = SC.Color.from(hex); return color && SC.Color.rgbToHsv(color.r, color.g, color.b); }, /** regular expression for parsing color: rgb, hex */ PARSE_COLOR_RGBRE: /^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i, PARSE_COLOR_HEXRE: /^\#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/, // return an array of r,g,b colour expandColor: function(color) { // @if (debug) SC.Logger.warn("SC.expandColor is deprecated. Please use SC.Color.from instead."); // @endif var hexColor, red, green, blue; hexColor = this.parseColor(color); if (hexColor) { red = parseInt(hexColor.slice(1, 3), 16); green = parseInt(hexColor.slice(3, 5), 16); blue = parseInt(hexColor.slice(5, 7), 16); return [red,green,blue]; } }, // parse rgb color or 3-digit hex color to return a properly formatted 6-digit hex colour spec, or false parseColor: function(string) { // @if (debug) SC.Logger.warn("SC.expandColor is deprecated. Please use SC.Color.from instead."); // @endif var i=0, color = '#', match, part; if(match = this.PARSE_COLOR_RGBRE.exec(string)) { for (i=1; i<=3; i++) { part = Math.max(0, Math.min(255, parseInt(match[i],0))); color += this.toColorPart(part); } return color; } if (match = this.PARSE_COLOR_HEXRE.exec(string)) { if(match[1].length == 3) { for (i=0; i<3; i++) { color += match[1].charAt(i) + match[1].charAt(i); } return color; } return '#' + match[1]; } return false; }, // convert one r,g,b number to a 2 digit hex string toColorPart: function(number) { if (number > 255) number = 255; var digits = number.toString(16); if (number < 16) return '0' + digits; return digits; } });