[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: Funny pad rotation



On Thu, 2010-03-25 at 06:34 +0000, Ineiev wrote:
> On 3/23/10, DJ Delorie <dj@xxxxxxxxxxx> wrote:
> >
> > Looks like a fundamental design issue.  We use the X layer to draw
> > lines, which includes pads, but with the tiny offsets in the x,y
> > points, we end up passing two points to the X layer that have the same
> > coordinates, so it draws a zero-angle line.  If you zoom in far
> > enough, eventually rotates the pad on the screen.
> >
> > To get this right, we'd have to somehow calculate when X is going to
> > do the wrong thing based on our scaling, and draw those "lines" as
> > polygons instead, so that we can do the math with more precision.
> 
> I thought it was a very well-known feature; it was reported in 2007
> (http://sourceforge.net/tracker/?func=detail&aid=1800872&group_id=73743&atid=538811);
> I support a patch for rectifying it here:
> http://repo.or.cz/w/geda-pcb/dti.git/shortlog/refs/heads/ineiev-dspdances.squashed

Patch looks good, but I'm not sure it is necessary to pass 5 vertices
(manually closing the polygon).

I think it would be fair to assume the polygon is closed, and this is
what (at least the GTK HID) does - so it would be more appropriate to
pass 4 vertices.

I note that (guessing from the context when viewing the patch), the
thindraw is manually drawn line by line done in DrawPadLowLevel, so
there is no worry that the gdk_draw_polygon (used in the
HID->fill_polygon) call, does not appear to close the shape if it were
called to draw a non-filled "polygon".

-- 
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!)
Tel: +44 (0)1223 748328 - (Shared lab phone, ask for me)



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