On 10/26/2008 12:53 PM, A.J. Carter wrote:
- In Corel Draw each type of snap is either on or off for the whole
document (like inkscape), but it is possible to override this by holding down a keypress as the point is selected. So 'N' removes all snapping except Node snapping (E for endpoing, I for intersection etc.) and the cursor jumps to the _nearest_ node snap with a much larger snap radius. If the N is released it goes back to normal with all active snaps working and a smaller snap radius. This allows a rapid way to force the snap for a single point only.
That's indeed an elegant way to create some more flexibility. If however this is only to select what we snap _to_, then we could still use something that gives us more control of what we snap _from_. For the latter we could still use Johan's proposal.
- Alternatively, how about using a key like 'TAB' to cycle between
all the possible snaps within some radius of the cursor. The shape of the snap indicator, together with the tooltip text below could show which is being applied as the cursor jumps to the snap.
Elegant too, but would require more coding effort and might not be very deterministic. What happens if we have a set of snapping candidates and use tab to cycle through them, but move the mouse a bit in the meantime? Then the set of snapping candidates might change, which should be handled gracefully. It would also require storing the snapping candidates across multiple motion events, as currently all snapping is handled within only a single event.
This brings me to some other point though: Hasn't any one ever thought of using the tab key to cycle through the items which are to be selected? Now we can use left-click and alt-left-click to select an item on the canvas, but this is still tricky when there are many overlapping items. Modern 3D CAD programs show a list of all available items near the mouse pointer when left-clicking, through which the user can cycle with the tab key, including highlighting on canvas! Now wouldn't that be cool too?
Diederik
Hope this may have helped!
Kindest Regards, Alex
On Sun, 26 Oct 2008, J.B.C.Engelen@...1578... wrote:
Hi Diederik,
Seems to work great!! Very nice work.
A long standing wish of me...: The snapping points should depend a bit on where the user clicks. If I want some point to snap to some gridpoint, I tend to click close to that point and drag it close to where I want it to snap. Does that make sense? I do not have a clear idea how to go about this; perhaps some "rating" of possible snaps with better rating for snaps occuring short distances away from the mouse cursor...
Cheers, Johan