module Compass::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/sass_extensions/functions/colors.rb, line 4
def adjust_lightness(color, amount)
  assert_type color, :Color
  assert_type amount, :Number
  color.with(:lightness => Compass::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/sass_extensions/functions/colors.rb, line 20
def adjust_saturation(color, amount)
  assert_type color, :Color
  assert_type amount, :Number
  color.with(:saturation => Compass::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/sass_extensions/functions/colors.rb, line 37
def ie_hex_str(color)
  assert_type color, :Color
  alpha = (color.alpha * 255).round
  alphastr = alpha.to_s(16).rjust(2, '0')
  Sass::Script::String.new("##{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/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/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