|
|
@ -205,6 +205,45 @@ |
|
|
|
return hexColour; |
|
|
|
return hexColour; |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_hue2rgb: function (m1, m2, h) { |
|
|
|
|
|
|
|
h = (h < 0) ? h + 1 : ((h > 1) ? h - 1 : h); |
|
|
|
|
|
|
|
if (h * 6 < 1) return m1 + (m2 - m1) * h * 6; |
|
|
|
|
|
|
|
if (h * 2 < 1) return m2; |
|
|
|
|
|
|
|
if (h * 3 < 2) return m1 + (m2 - m1) * (0.66666 - h) * 6; |
|
|
|
|
|
|
|
return m1; |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hsl2rgb: function (hsl) { |
|
|
|
|
|
|
|
var m1, m2, r, g, b; |
|
|
|
|
|
|
|
var h = hsl[0], s = hsl[1], l = hsl[2]; |
|
|
|
|
|
|
|
m2 = (l <= 0.5) ? l * (s + 1) : l + s - l * s; |
|
|
|
|
|
|
|
m1 = l * 2 - m2; |
|
|
|
|
|
|
|
return [this._hue2rgb(m1, m2, h + 0.33333), |
|
|
|
|
|
|
|
this._hue2rgb(m1, m2, h), |
|
|
|
|
|
|
|
this._hue2rgb(m1, m2, h - 0.33333)]; |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
rgb2hsl: function (rgb) { |
|
|
|
|
|
|
|
var min, max, delta, h, s, l; |
|
|
|
|
|
|
|
var r = rgb[0], g = rgb[1], b = rgb[2]; |
|
|
|
|
|
|
|
min = Math.min(r, Math.min(g, b)); |
|
|
|
|
|
|
|
max = Math.max(r, Math.max(g, b)); |
|
|
|
|
|
|
|
delta = max - min; |
|
|
|
|
|
|
|
l = (min + max) / 2; |
|
|
|
|
|
|
|
s = 0; |
|
|
|
|
|
|
|
if (l > 0 && l < 1) { |
|
|
|
|
|
|
|
s = delta / (l < 0.5 ? (2 * l) : (2 - 2 * l)); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
h = 0; |
|
|
|
|
|
|
|
if (delta > 0) { |
|
|
|
|
|
|
|
if (max == r && max != g) h += (g - b) / delta; |
|
|
|
|
|
|
|
if (max == g && max != b) h += (2 + (b - r) / delta); |
|
|
|
|
|
|
|
if (max == b && max != r) h += (4 + (r - g) / delta); |
|
|
|
|
|
|
|
h /= 6; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return [h, s, l]; |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
rgb2json: function (rgbColour) { |
|
|
|
rgb2json: function (rgbColour) { |
|
|
|
if (!rgbColour) { |
|
|
|
if (!rgbColour) { |
|
|
|
return {}; |
|
|
|
return {}; |
|
|
@ -346,7 +385,8 @@ |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
isInnerLeftSpaceEnough: function (combo, popup, extraWidth) { |
|
|
|
isInnerLeftSpaceEnough: function (combo, popup, extraWidth) { |
|
|
|
var viewBounds = popup.element.bounds(),windowBounds = BI.Widget._renderEngine.createElement("body").bounds(); |
|
|
|
var viewBounds = popup.element.bounds(), |
|
|
|
|
|
|
|
windowBounds = BI.Widget._renderEngine.createElement("body").bounds(); |
|
|
|
return BI.DOM.getInnerLeftPosition(combo, popup, extraWidth).left + viewBounds.width <= windowBounds.width; |
|
|
|
return BI.DOM.getInnerLeftPosition(combo, popup, extraWidth).left + viewBounds.width <= windowBounds.width; |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|