Hi, In <73800bf00612130933y3687294fp709276366a686fa7 / mail.gmail.com> "SVG Canvas" on Thu, 14 Dec 2006 02:33:44 +0900, "Steven Quinones-Colon" <stevenq1967 / gmail.com> wrote: > I've been looking for a couple of days now and I can't find a library > for svg graphics with a canvas object so I can make a financial > charting application(stand alone, not web based), is there such a > thing? maybe I'm missing something obvious. If you want to only show SVG, the following example will help you: http://ruby-gnome2.cvs.sourceforge.net/ruby-gnome2/ruby-gnome2/rsvg/sample/svg-viewer.rb?revision=HEAD&view=markup If you want to output your chart to screen and SVG file, the following small script will help you: ==== #!/usr/bin/env ruby require 'gtk2' require 'rsvg2' def draw(context, width, height) context.move_to(0, 0) context.line_to(width, height) context.stroke context.move_to(width, 0) context.line_to(0, height) context.stroke end window = Gtk::Window.new window.set_default_size(300, 300) vbox = Gtk::VBox.new area = Gtk::DrawingArea.new save = Gtk::Button.new("save") window.signal_connect("destroy") do Gtk.main_quit end area.signal_connect("expose_event") do |widget, event| width, height = area.window.size context = widget.window.create_cairo_context draw(context, width, height) true end save.signal_connect("clicked") do |widget, event| width, height = area.window.size surface = Cairo::SVGSurface.new("output.svg", width, height) context = Cairo::Context.new(surface) draw(context, width, height) context.show_page surface.finish true end vbox.pack_start(area, true, true) vbox.pack_end(save, false, false) window.add(vbox) window.show_all Gtk.main ==== Thanks, -- kou