Well, it seems I forgot to add the acts_as_authenticated to the repository on my...
[selectricity-live] / vendor / plugins / gruff / lib / gruff / area.rb
diff --git a/vendor/plugins/gruff/lib/gruff/area.rb b/vendor/plugins/gruff/lib/gruff/area.rb
new file mode 100644 (file)
index 0000000..323aff1
--- /dev/null
@@ -0,0 +1,58 @@
+
+require File.dirname(__FILE__) + '/base'
+
+class Gruff::Area < Gruff::Base
+
+  def draw
+    super
+
+    return unless @has_data
+
+    @x_increment = @graph_width / (@column_count - 1).to_f
+    @d = @d.stroke 'transparent'
+
+    @norm_data.each do |data_row|
+      poly_points = Array.new
+      prev_x = prev_y = 0.0
+      @d = @d.fill data_row[DATA_COLOR_INDEX]
+
+      data_row[1].each_with_index do |data_point, index|
+        # Use incremented x and scaled y
+        new_x = @graph_left + (@x_increment * index)
+        new_y = @graph_top + (@graph_height - data_point * @graph_height)
+
+        if prev_x > 0 and prev_y > 0 then
+          poly_points << new_x
+          poly_points << new_y
+          
+          #@d = @d.polyline(prev_x, prev_y, new_x, new_y)
+        else
+          poly_points << @graph_left
+          poly_points << @graph_bottom - 1
+          poly_points << new_x
+          poly_points << new_y
+          
+          #@d = @d.polyline(@graph_left, @graph_bottom, new_x, new_y)
+        end
+
+        draw_label(new_x, index)
+
+        prev_x = new_x
+        prev_y = new_y
+      end
+
+      # Add closing points, draw polygon
+      poly_points << @graph_right
+      poly_points << @graph_bottom - 1
+      poly_points << @graph_left
+      poly_points << @graph_bottom - 1
+
+      @d = @d.polyline(*poly_points)
+
+    end
+
+    @d.draw(@base_image)
+  end
+   
+end

Benjamin Mako Hill || Want to submit a patch?