module Compass::Core::SassExtensions::Functions::Colors
Public Instance Methods
adjust_lightness(color, amount)
click to toggle source
a genericized version of lighten/darken so that negative values can be used.
# File lib/compass/core/sass_extensions/functions/colors.rb, line 4 def adjust_lightness(color, amount) assert_type color, :Color assert_type amount, :Number color.with(:lightness => Sass::Util.restrict(color.lightness + amount.value, 0..100)) end
adjust_saturation(color, amount)
click to toggle source
a genericized version of saturation/desaturate so that negative values can be used.
# File lib/compass/core/sass_extensions/functions/colors.rb, line 20 def adjust_saturation(color, amount) assert_type color, :Color assert_type amount, :Number color.with(:saturation => Sass::Util.restrict(color.saturation + amount.value, 0..100)) end
ie_hex_str(color)
click to toggle source
returns an IE hex string for a color with an alpha channel suitable for passing to IE filters.
# File lib/compass/core/sass_extensions/functions/colors.rb, line 51 def ie_hex_str(color) assert_type color, :Color alpha = (color.alpha * 255).round alphastr = alpha.to_s(16).rjust(2, '0') identifier("##{alphastr}#{color.send(:hex_str)[1..-1]}".upcase) end
scale_lightness(color, amount)
click to toggle source
Scales a color's lightness by some percentage. If the amount is negative, the color is scaled darker, if positive, it is scaled lighter. This will never return a pure light or dark color unless the amount is 100%.
# File lib/compass/core/sass_extensions/functions/colors.rb, line 13 def scale_lightness(color, amount) assert_type color, :Color assert_type amount, :Number color.with(:lightness => scale_color_value(color.lightness, amount.value)) end
scale_saturation(color, amount)
click to toggle source
Scales a color's saturation by some percentage. If the amount is negative, the color is desaturated, if positive, it is saturated. This will never return a pure saturated or desaturated color unless the amount is 100%.
# File lib/compass/core/sass_extensions/functions/colors.rb, line 29 def scale_saturation(color, amount) assert_type color, :Color assert_type amount, :Number color.with(:saturation => scale_color_value(color.saturation, amount.value)) end
shade(color, percentage)
click to toggle source
# File lib/compass/core/sass_extensions/functions/colors.rb, line 35 def shade(color, percentage) assert_type color, :Color assert_type percentage, :Number black = rgb_color(0, 0, 0) mix(black, color, percentage) end
tint(color, percentage)
click to toggle source
# File lib/compass/core/sass_extensions/functions/colors.rb, line 42 def tint(color, percentage) assert_type color, :Color assert_type percentage, :Number white = rgb_color(255, 255, 255) mix(white, color, percentage) end
Private Instance Methods
scale_color_value(value, amount)
click to toggle source
# File lib/compass/core/sass_extensions/functions/colors.rb, line 59 def scale_color_value(value, amount) if amount > 0 value += (100 - value) * (amount / 100.0) elsif amount < 0 value += value * amount / 100.0 end value end