[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gEDA-dev: Fix drawing artifacts in gschem when dragging grips




On Tue, 2007-07-31 at 18:56 +0200, Ivan Stankovic wrote:
> On Tue, Jul 31, 2007 at 03:20:02PM +0100, Peter Clifton wrote:
> > You'll want the patches with the short logs:
> > 
> > Attempt to fix dropping of grab-handle and cue artifacts.
> > Fix o_net_consolidate_segments() to consolidate with all joined lines
> > Remove old code commented out in o_net_consolidate_segments()
> > Make "grips" a fixed size in pixels, adjustable in the gschem-rc file.
> 
> I've tested these and it appears that one drawing artifact is now
> gone while everything else works fine, nice!  (I wonder how hard
> would it be to redraw the grid markings that are erased while
> moving nets/objects around...)

Unfortunately, this isn't easy. Unless we do a full redraw of the area,
you can't reliably repaint an arbitrary damaged area, as gschem's
data-structures don't keep track of what objects are are in what areas.
It keeps a list of "tiles", which could narrow down a linear search for
objects to repaint, but I don't think its a nice way to go.

Ideally the canvas would have a spatially structured data-structure like
PCB uses to allow quick intersection testing.

OTOH... I guess we do intersection testing for very mouse click, and
during selection - so it can't be _that_ slow.

-- 
Peter Clifton

Electrical Engineering Division,
Engineering Department,
University of Cambridge,
9, JJ Thomson Avenue,
Cambridge
CB3 0FA

Tel: +44 (0)7729 980173 - (No signal in the lab!)



_______________________________________________
geda-dev mailing list
geda-dev@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev