Vector sketchpad

I'm trying to write a tiny vector sketchpad - mainly, it needs the
ability to draw lines (with rubberbanding), and to manipulate those
lines once they're drawn (move, rotate)[1]. Am I right in thinking that the
Tk canvas is the only one that'll let me accomplish the latter easily?
Also, has anyone done something similar they'd be willing to share, so I
don't need to start from scratch?

martin

[1] I'm not reinventing the wheel - the reason I'm writing my own is
that the lines need to be constrained as they're drawn, and that it
doesn't need to do anything *but* lines.

Martin --

     Bullet point, because I'm about to fall asleep:

     1) I've done this, but not in Ruby
     2) I don't know of any ruby implementation
     3) I may have a very similar need within a month or three
     4) I'd be willing to help write it in ruby
     5) I will forward the (pascal) version I wrote if I can find it.

      -- MarkusQ

···

On Tue, 2004-09-14 at 07:14, Martin DeMello wrote:

I'm trying to write a tiny vector sketchpad - mainly, it needs the
ability to draw lines (with rubberbanding), and to manipulate those
lines once they're drawn (move, rotate)[1]. Am I right in thinking that the
Tk canvas is the only one that'll let me accomplish the latter easily?
Also, has anyone done something similar they'd be willing to share, so I
don't need to start from scratch?

martin

[1] I'm not reinventing the wheel - the reason I'm writing my own is
that the lines need to be constrained as they're drawn, and that it
doesn't need to do anything *but* lines.

Great! I've got off to a pretty good start - the tk canvas gives me a
lot of neat stuff right out of the box, most significantly the ability
for objects on the canvas to detect whether the mouse pointer is over
them. I should have v0.1 out within the next day or two; I'll mail you a
copy offlist.

martin

···

Markus <markus@reality.com> wrote:

     Bullet point, because I'm about to fall asleep:

     1) I've done this, but not in Ruby
     2) I don't know of any ruby implementation
     3) I may have a very similar need within a month or three
     4) I'd be willing to help write it in ruby
     5) I will forward the (pascal) version I wrote if I can find it.