Snapping should be appplied to move deltas, not the input mouse coordinates
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
gEDA |
New
|
Undecided
|
Unassigned |
Bug Description
When moving / copying objects, snapping in gschem does not behave the way one might intuitively expect.
Having spent some time trying to figure out just why I was finding it painful to re-arrange some objects on the page, I figured out wha the problem might be..
Our current code snaps the mouse location on the canvas to the grid, and grabs the object to move with the snapped coordinate. This means that an object can be moved by a the grid spacing in 1 pixel worth of mouse movement if the user grabs an object exactly in the middle of a grid division.
The solution here should be to grab the object with the full precision un-snapped coordinate, and snap the delta computed from the new mouse position. Whilst snapping the deltas seems logically "non-physical" to the grid, I think it will work better than the current code.
tags: | added: gschem |