def layout(legend_info_array, vertical = false)
if vertical
longest = 0
legend_info_array.each {|elem|
cur_length = relative(50) * elem[:title].length
longest = longest < cur_length ? cur_length : longest
}
y_positions = []
(0..legend_info_array.length - 1).each {|y|
y_positions << y * @line_height
}
[longest, y_positions]
else
legend_info_array.inject([0, []]) do |enum, elem|
enum[0] += (relative(50) * 2) if enum.first != 0
enum[1] << enum.first
enum[0] += relative(50)
enum[0] += (relative(50) * elem[:title].length)
[enum.first, enum.last]
end
end
end