Code:
#!/usr/bin/ruby
require 'gtk2'
require 'gnomecanvas2'
class CurveFromLines
def initialize(size=150)
Gtk.init()
@window = Gtk::Window.new()
@window.set_title("LinesFromCurve")
@window.set_default_size(size*2,size*2)
@window.signal_connect("delete_event") { Gtk::main_quit() }
@canvas = Gnome::Canvas.new()
@canvas.set_center_scroll_region(true)
@canvas.set_pixels_per_unit(0.8)
@root = @canvas.root
0.upto(size) do |x|
color = 65535 - (x * 65535 / size)
line = Gnome::CanvasLine.new(
@root,
{
:points => [[0,x], [size-x,0]],
:"fill-color-gdk" => Gdk::Color.new(color,color,color)
}
)
line2 = Gnome::CanvasLine.new(
@root,
{
:points => [[0,-x], [-size+x,0]],
:"fill-color-gdk" => Gdk::Color.new(color,color,color)
}
)
end
@vbox = Gtk::VBox.new()
@vbox.pack_start(@canvas)
@window.add(@vbox)
@window.show_all()
Gtk.main()
end
end
curve = CurveFromLines.new(250)