Hi Ales, On Montag, 4. Februar 2008, Ales Hvezda wrote: > Please do not push the net magnetic mode patch as is. I looked > it over when I received it and it needs careful review as there were > some things in it I thought were kind of odd. Yes, I did experience > random crash with the patch as well.
The second branch in my repo is more a rewrite than a cleanup. > Also, please do not push any changes to the repository without > there being a clear understanding of the license and copyright of the > contribution. Anonymous or pseudo-anonymous code should never make > it into the main repository. Ok. I'll try to find and ask Thomas Arndt. Maybe he knows who "Franz" is. Do you have received any notes with the patch? I guess it will be hard to find any nontrivial code from the original patch in the new reworked patch: http://repo.or.cz/w/geda-gaf/werner.git?a=shortlog;h=magnetic3 I've changed/rewrote: * The code searching for the closest possible connection. * The code to snap to the first end (o_net_start) * The code to snap to the last end (o_net_end) I've not changed: * the call from x_event.c in STARTDRAWNET state * the code to draw and erase the magnetic rectangle * function and variable names. > Finally, global changes to established mechanism (such as how > nets are drawn/routed/etc...) should be configurable as to not annoy > existing and happy users. The magnetic mode is not configurable, yet, but you can turn it on and off in the option menu, default is off. Some notes how the code now works. In STARTDRAWNET state: Search for the closest possible connection and put the magnetic marker to that point. Draw/Undraw it if required. Action o_net_start: Take the position of the magnetic marker and take it as start point instead of the event position. In rubbernet state: Search for the closest possible connection and put the magnetic marker to that point. Draw/Undraw it if required. Action o_net_end: If there's a magnetic marker, manipulate the 3 points of the L-shape net. Drawing code is the same as before. Note: The search for new connections is a linear search over all objects whenever the mouse is moved. I'm not sure if it's fast enough for large circuits. Regards Werner _______________________________________________ geda-dev mailing list [email protected] http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev
