def draw_vertical_legend
return if @hide_mini_legend
@legend_labels = @data.collect {|item| item[Gruff::Base::DATA_LABEL_INDEX] }
legend_square_width = 40.0
legend_square_margin = 10.0
@legend_left_margin = 100.0
legend_top_margin = 40.0
@d.font = @font if @font
@d.pointsize = @legend_font_size
current_x_offset = @legend_left_margin
current_y_offset = @original_rows + legend_top_margin
debug { @d.line 0.0, current_y_offset, @raw_columns, current_y_offset }
@legend_labels.each_with_index do |legend_label, index|
@d.fill = @font_color
@d.font = @font if @font
@d.pointsize = scale_fontsize(@legend_font_size)
@d.stroke = 'transparent'
@d.font_weight = Magick::NormalWeight
@d.gravity = Magick::WestGravity
@d = @d.annotate_scaled( @base_image,
@raw_columns, 1.0,
current_x_offset + (legend_square_width * 1.7), current_y_offset,
truncate_legend_label(legend_label), @scale)
@d = @d.stroke 'transparent'
@d = @d.fill @data[index][Gruff::Base::DATA_COLOR_INDEX]
@d = @d.rectangle(current_x_offset,
current_y_offset - legend_square_width / 2.0,
current_x_offset + legend_square_width,
current_y_offset + legend_square_width / 2.0)
current_y_offset += calculate_caps_height(@legend_font_size) * 1.7
end
@color_index = 0
end