On 4/8/07, Diederik en Rezi <mail@...1689...> wrote: http://sourceforge.net/tracker/?func=detail&aid=1589436&group_id=934...
you'll have to scroll down a bit....
One of them was to have an option to snap either the APPROXIMATE_BBOX or the GEOMETRIC_BBOX,
Rather, to _use_ either the APPROXIMATE_BBOX or the GEOMETRIC_BBOX - they should be used in most places, not only for snapping (visible frame, transforming, alignment, measuring dimensions etc.). We need to make sure that all relevant places are in sync with regard to this setting.
For now I've implemented the two bbox modes hard coded in the constructor of Inkscape::Seltrans in seltrans.cpp (at line 98). You can select the behavior you'd like and experiment with it, but for default I left at APPROXIMATE_BBOX. If you all agree on this new behavior then I will change the preferences in the UI, but I've never touched the UI before so I would like to have some feedback before diving into this.
Thanks a lot! This was a sadly neglected area, it's extremely healthy to see all your fixes coming in :)
- If you choose the GEOMETRIC_BBOX, the handles will now be located at
the GEOMETRIC_BBOX (they used to be always located at the APPROXIMATE_BBOX)
Correct
- The origin option is not being used and will be deleted soon.
Correct
- The origin doesn't drift away any longer
Very cool - I worked on that before, but I never could fix it so that both transform origin settings would work without any drift. Now it's going to be MUCH easier when the bbox option controls everything and not just transform origin.
- The stroke width scales while dragging, even when the corresponding
button has been disabled. When releasing the handle everything turns out just fine, but while dragging it still looks like snapping wrong. I don't think this is due to the selector tool though. Has anyone looked into this before?
Certainly. It's one of the oldest bugs in our tracker:
http://sourceforge.net/tracker/index.php?func=detail&aid=969406&grou...
The reason is that for speed, while you are dragging transformation handle, seltrans does not update the repr of the object, but only the object itself. Therefore stroke width adjustments are not written to the object's style. And the display engine takes stroke width from the style and unconditionally scales it by the object's transform. Therefore the displayed stroke width grows as you scale it up. Once you release mouse, stroke width is adjusted and fully written, so the display becomes correct.