gEDA-dev: Switch all drawing variables into the world coordinate system
Werner Hoch
werner.ho at gmx.de
Mon Apr 28 15:40:32 EDT 2008
On Montag, 28. April 2008, Peter Clifton wrote:
> On Sun, 2008-04-20 at 22:47 +0200, Werner Hoch wrote:
[...]
> > I'd like to merge those changes in 3 steps to the official repo
> > maybe next weekend.
> > 1. net routing code (branch name: netrouting1)
> > 2. magnetic net mode (branch name: world_netcoordinates)
> > 3. all the rest (branch name: world_coordinates)
>
> 1 and 2 are now merged (re-based and applied this weekend), so is a
> part of 3.
Part 3 is completly merged now, too.
There's one known issue: The mouse_wx/y coords are snapped.
There are 2 cases in i_callbacks.c where this ist not correct.
./i_callbacks.c:1421: a_zoom_box_start(w_current, mouse_wx, mouse_wy);
./i_callbacks.c:1594: a_pan(w_current, mouse_wx, mouse_wy);
The zoombox starts at a snapped coordinate.
This can be fixed with one of the following changes:
* add an additional variable for unsnapped mouse coords
* use unsnapped mouse coords and snap it before using it
(lots of places in i_callback.c)
> I've been playing with this and have read over some of the patches.
> There are a couple of (yet un-merged) things which I thought might be
> a problem, or could possibly drop a drawing artifact, but I haven't
> had a great deal of chance to debug further. They are only minor
> things, but require thought to get my head around.
In the discussion with Peter C. on IRC we found some places to simplify
the source:
* The global variables mouse_wx/y could be integrated into the
GSCHEM_TOPLEVEL structure
* all action and drawing functions o_..._end have x and y parameters,
but most of them aren't used (e.g. o_pin_end, o_circle_end, ...)
Those parameters can be removed.
Usually second_wx/y is used as end coordinate.
All these smaller changes can be done after the integration of Peters
place/rotate code to minimize the merge work.
Regards
Werner
More information about the geda-dev
mailing list