GNOME Bugzilla – Bug 350694
Difficult to move points when using IScissors tool
Last modified: 2006-08-14 20:33:09 UTC
When using Intelligent Scissors tool, The cursor change that occurs when hovering over a point suggests that you can move it, but in fact, click+dragging it causes a new point to be added instead. There doesn't seem to be any particular rationale behind this behaviour, I think it was accidentally broken.
Seems to work for me. The point can be dragged, like the cursor indicates.
Experimenting further, it never works when the shape is closed; after the shape is closed, it always works. Maybe that is intended (in the code, I noticed that initial placement handling and adjustment handling are usually separated), but it is not readily apparent. I guess that could be addressed by providing appropriate tips in the statusbar (currently the IScissors tool just uses the selection help, which is irrelevant to it.)
It does work, only not on the terminal points. I guess this is a duplicate of bug #132352, right?
Not exactly. Part of the problem is that the cursor changes to suggest that you can move a point, but you have to be significantly closer to actually move it. Roughly, 'touching the outer edge of the anchor circle' versus 'within 1 or 2 pixels of the exact center of the anchor'. I think it should match the behaviour of the paths tool, where you only have to be touching the anchor circle to be able to click+drag to move it.
changing summary accordingly.
I cannot reproduce this problem. The points are reliably moved as indicated by the cursor.
I can reproduce it. The problem is that the tool uses two different methods to figure (a) the cursor and (b) the operation happening on click. It rounding differently in both cases and uses double in one and integer in the other case. (Zoom in to see the effect) I have half-way fixed this locally, needs some touchup but will be ready for 2.4 ;) Setting milestone accordingly.
Should be fixed now. Please test and reopen if it still behaves strange. 2006-08-14 Michael Natterer <mitch@gimp.org> Fixed rounding and double vs. integer inconsistency when dealing with mouse coordinates. Fixes bug #350694. * app/tools/gimpiscissorstool.c (clicked_on_vertex) (clicked_on_curve): added double x and y parameters and use them instead of the integer iscissors->x and ->y. Cleaned up the functions a bit. (gimp_iscissors_tool_button_press) (gimp_iscissors_tool_motion): changed accordingly, also rint() the passed mouse coords when assigning them to iscissors->x and ->y. Unrelated cleanup: (iscissors_free_buffers): removed, folded into reset() (precalculate_arrays): removed, folded into class_init()