X-Git-Url: https://projects.mako.cc/source/selectricity-live/blobdiff_plain/09c67d9323c7d379d4c6de5dc0457b6de16cff14..814ebbe864806750e95c3df954a47f4b0007c5e4:/vendor/plugins/gruff/lib/gruff/mini/legend.rb diff --git a/vendor/plugins/gruff/lib/gruff/mini/legend.rb b/vendor/plugins/gruff/lib/gruff/mini/legend.rb deleted file mode 100644 index 25039cf..0000000 --- a/vendor/plugins/gruff/lib/gruff/mini/legend.rb +++ /dev/null @@ -1,77 +0,0 @@ -module Gruff - module Mini - module Legend - - ## - # The canvas needs to be bigger so we can put the legend beneath it. - - def expand_canvas_for_vertical_legend - @original_rows = @raw_rows - @rows += @data.length * calculate_caps_height(scale_fontsize(@legend_font_size)) * 1.7 - render_background - end - - ## - # Draw the legend beneath the existing graph. - - def draw_vertical_legend - - @legend_labels = @data.collect {|item| item[Gruff::Base::DATA_LABEL_INDEX] } - - legend_square_width = 40.0 # small square with color of this item - legend_square_margin = 10.0 - @legend_left_margin = 40.0 - legend_top_margin = 40.0 - - # May fix legend drawing problem at small sizes - @d.font = @font if @font - @d.pointsize = @legend_font_size - - current_x_offset = @graph_left + @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| - - # Draw label - @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) - - # Now draw box with color of this dataset - @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 - - ## - # Shorten long labels so they will fit on the canvas. - # - # Department of Hu... - - def truncate_legend_label(label) - truncated_label = label.to_s - while calculate_width(scale_fontsize(@legend_font_size), truncated_label) > (@columns - @legend_left_margin - Gruff::Base::RIGHT_MARGIN) && (truncated_label.length > 1) - truncated_label = truncated_label[0..truncated_label.length-2] - end - truncated_label + (truncated_label.length < label.to_s.length ? "…" : '') - end - - end - end -end