On Tue, 2008-04-01 at 10:06 +0200, Werner Hoch P wrote:
> Hi Peter C and all,
> 
> there was a commit on 2007-11-18 that changes the updates of coordinates 
> when zooming / paning.

This one?

(If you could quote the commit ID, that helps find it.)

commit 626f5c071a1dfea55e0214f6064b29908152d792
Author: Peter Clifton <[EMAIL PROTECTED]>
Date:   Sun Nov 18 19:21:34 2007 +0000

    Update the all drawing state SCREEN co-ordinates when zooming / panning.
    
    By updating all of the co-ordinate state when zooming / panning, a redraw
    which includes a draw of any rubberbanded items will show them in the
    correct location. This allows XOR drawing to continue without dropping
    artifacts, or flashing up a "ghost" where the original element being moved
    was. The explicit erase for the gost item when moving is no longer needed.


> Do you remember which drawing artefacts you've tried to avoid?

IIRC, When zooming, there were multiple redraws. An object was first
drawn in the wrong place, then erased with o_erase_selected, then drawn
again in the right place.

The code changes aimed to get the selected object drawn in the correct
place first time. Some other (in a different commit I think) changes
ensure that the selected object isn't being drawn.


> If I draw a single line, box, circle, ... this change causes artefacts 
> that the old code tried to avoid.


Is that when zooming?

I don't think the correct fix is reverting this, but fixing the other
cases. The screen coordinate updates in a_pan_general() are really not
nice, we should move this to world coordinates for a proper fix.

This said, looking over the patch, I suspect the distance may be being
set incorrectly if there is panning involved. Is that why distance,
loc_y and loc_x were set to zero in the old code? (Try reverting to that
behaviour for those variables).


I'm away the rest of this week, but would obviously be interested in a
fix for this. Let me know what you find, or how to reproduce the
artifacts and I'll look at it when I'm back.

Best wishes,

-- 
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
[email protected]
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev

Reply via email to