Greets! I'm new here. :)
Earlier today I had an idea for an improvement to the curve drawing tool that would speed up my drawing workflow considerably and make it a lot more practical to draw things quickly and precisely with a mouse. Here's what I was thinking:
When you're editing a curve, there's a button on the toolbar that sets the nodes along the curve to "auto-smooth". I discovered this a couple of days ago and instantly fell in love with it. At any rate, I was thinking it would be really nice to be able to draw auto-smoothed points with the curve drawing tool, perhaps by holding shift when you click the button, or holding shift, then clicking, dragging, and releasing. Non-auto-smoothed points are great if you want fine control, but if you're trying to lay down some clean-looking curves quickly, auto-smoothing seems to be the way to go. It would be really nice if I could draw them as I go, rather than just clicking the mouse and crating line segments, then going back and converting all of them. Hopefully I'm making sense so far. :)
At any rate, I thought I'd poke around the 0.48 code and see if I could implement this feature myself, but I ran into an issue. Specifically, it appears that the code for drawing a curve initially adds points directly into the underlying curve data structure, whereas the code that distinguishes between normal curve points and auto-smoothed points is actually part of the user interface, and not part of the curve itself. Thus, when you add a point onto a curve, there doesn't appear (at least not at first glance) to be a way to easily get hold of the Node object and set it to auto-smooth mode.
Here's what I've gleaned from looking at the code thus far:
When you add a point by clicking the mouse button, it happens around pen-context.cpp:1272, where it calls pc->red_curve->curveto(...). The node type, however, is actually set from the MultiPathManipulator class, which I don't appear to have access to in pen-context.cpp. Is there a simple way of doing this?
Also, kudos for writing code that's clear enough that I have some idea of what's going on after looking at it for half an hour. :)
Peace,
Bart K.
http://opengameart.org
--
--