cli/lib/compass/sass_extensions/sprites/layout/smart.rb
module Compass
module SassExtensions
module Sprites
module Layout
class Smart < SpriteLayout
def layout!
calculate_positions!
end
private # ===========================================================================================>
def calculate_positions!
fitter = ::Compass::SassExtensions::Sprites::RowFitter.new(@images)
current_y = 0
fitter.fit!.each do |row|
current_x = 0
row.images.each_with_index do |image, index|
image.left = current_x
image.top = current_y
current_x += image.width
end
current_y += row.height
end
@width = fitter.width
@height = fitter.height
end
end
end
end
end
end