Re: [Inkscape-user] [Inkscape-devel] Improved performance of the object snapper
Alexandre Prokoudine wrote:
I wonder if within current snapping framework the so called Smart Guides are possible. That is -- snapping without touching.
This is new to me, but it looks like it simply aligns vertically/horizontally to the boundingbox of objects at any distance, am I correct? Such a thing is not supported by the current snapping framework, but it shouldn't be too difficult to implement. If implemented, it will need a key binding though to easily turn this on/off because otherwise it will get annoying.
Diederik
On Nov 15, 2007 3:35 PM, Diederik van Lierop <mail@...2312...> wrote:
This is new to me, but it looks like it simply aligns vertically/horizontally to the boundingbox of objects at any distance, am I correct? Such a thing is not supported by the current snapping framework, but it shouldn't be too difficult to implement. If implemented, it will need a key binding though to easily turn this on/off because otherwise it will get annoying.
IMHO the key thing here is not just snapping to extensions of bbox, but _visualizing_ what it is that you snap to. In AI, it flashes the snap line when it snaps. We need to add infrastructure that would enable such displays when snapping, then smart guides will be easy.
inkscape-user-bounces@lists.sourceforge.net schrieb am 15.11.2007 21:59:00:
On Nov 15, 2007 3:35 PM, Diederik van Lierop <mail@...2312...> wrote:
This is new to me, but it looks like it simply aligns vertically/horizontally to the boundingbox of objects at any distance, am I correct? Such a thing is not supported by the current snapping framework, but it shouldn't be too difficult to implement. If implemented, it will need a key binding though to easily turn this on/off because otherwise it will get annoying.
IMHO the key thing here is not just snapping to extensions of bbox, but _visualizing_ what it is that you snap to. In AI, it flashes the snap line when it snaps. We need to add infrastructure that would enable such displays when snapping, then smart guides will be easy.
This kind of "visual-snapping" is exactly what I´ve been missing in Inkscape. Here is the way I make use of it in AI: In the layer below I have a complex technical drawing (origninating from dxf CAD 3D-data). In the layer above I can intuitively and quickly redraw parts and outlines of the drawing by "visual-snapping". It prooves very very helpful to "convert" 3D CAD-technical drawings. Have you planned to implement this in Inkcape 0.46?
Lindauer DORNIER GmbH Rickenbacher Str. 119 88129 Lindau / Germany Phone: +49 8382 703-0 Fax: +49 8382 703-4 15 webmaster@...2272... http://www.lindauerdornier.com
Commercial Registry: HR Kempten Nr. B/1220
Chairman of the Supervisory Board: Prof. Dr. Dieter Feddersen, Managing Directors: Peter D. Dornier (CEO), Michael Ebeling, Dr. Andreas Rutz, Hans-Jürgen Schmidt (CFO)
Diederik,
On Fri, 2007-11-16 at 17:28 +0100, Diederik van Lierop wrote:
Marcel.Tippmann@...2272... wrote:
This kind of "visual-snapping" is exactly what I´ve been missing in Inkscape. ... Have you planned to implement this in Inkcape 0.46?
Not in v0.46, but we might have something like that in the future...
Any indication of when v0.46 is likely to be available?
Thanks,
Phil.
Phil Rhoades wrote:
Any indication of when v0.46 is likely to be available?
Maybe within a couple of months... Have a look in the devel mailinglist, more specifically the thread "0.46 release plan proposal"
Diederik
bulia byak wrote:
IMHO the key thing here is not just snapping to extensions of bbox, but _visualizing_ what it is that you snap to. In AI, it flashes the snap line when it snaps. We need to add infrastructure that would enable such displays when snapping, then smart guides will be easy.
Absolutely! It's also needed for the post-snap visualization that was discussed a few months ago, in which something lights up for a second at the point that has snapped. What would be a good starting point in the code to find out how such a thing would be drawn to the canvas? Do you already have passive elements like that, not allowing user interaction and disappearing after some time?
Diederik
Diederik van Lierop wrote:
bulia byak wrote:
IMHO the key thing here is not just snapping to extensions of bbox, but _visualizing_ what it is that you snap to. In AI, it flashes the snap line when it snaps. We need to add infrastructure that would enable such displays when snapping, then smart guides will be easy.
Absolutely! It's also needed for the post-snap visualization that was discussed a few months ago, in which something lights up for a second at the point that has snapped. What would be a good starting point in the code to find out how such a thing would be drawn to the canvas? Do you already have passive elements like that, not allowing user interaction and disappearing after some time?
Diederik
If I'm correct, the on-canvas editing of live path effects does an artificial highlight of the same nature (meaning there is already something in the codebase to support it). It does need a little tweaking, but hopefully most of the base stuff is already taken care of.
-Josh
On Nov 16, 2007 12:04 PM, Diederik van Lierop <mail@...2312...> wrote:
bulia byak wrote:
IMHO the key thing here is not just snapping to extensions of bbox, but _visualizing_ what it is that you snap to. In AI, it flashes the snap line when it snaps. We need to add infrastructure that would enable such displays when snapping, then smart guides will be easy.
Absolutely! It's also needed for the post-snap visualization that was discussed a few months ago, in which something lights up for a second at the point that has snapped. What would be a good starting point in the code to find out how such a thing would be drawn to the canvas? Do you already have passive elements like that, not allowing user interaction and disappearing after some time?
Of course. We have a number of classes that draw various helper things on the canvas. These classes handle proper canvas redraw (so you don't have to worry about that) and usually have methods for setting coordinates, colors, showing/hiding etc. Note that unlike regular objects, these helper thingies can use inverse color so they are visible on any background. But these classes do not do any user interaction; that is performed by upstream classes that uses these display classes. They also have no provisions for automatically disappearing after a time, that you will need to add in your own code. Here they are:
display/sp-ctrlline - draws a straight line, used by node tool bezier handles and by gradient tool for gradient lines
display/sodipodi-ctrrect - draws an upright rectangle, used for rubberband selection
display/sodipodi-ctrl - draws a number of various small fixed-size shapes, such as diamond, circle etc; used for knots and nodes
display/sp-ctrlquadr - draws an arbitrary quadrilateral, used for text selection
display/canvas-bpath - draws an arbitrary path with antialiasing, used for the red helper path in Node tool and for Pen tool, as well as for Tweak tool's circle (note: this one is slightly buggy, it leaves behind some dirt on the canvas; I want to switch it to using cairo but it's not yet possible due to incompatibility of buffer formats).
You can search the codebase for a lot of examples of using these things.
participants (5)
-
unknown@example.com
-
bulia byak
-
Diederik van Lierop
-
Josh Andler
-
Phil Rhoades