tengi@deepthought (Christopher J. Tengi) (05/25/89)
Well, the subject states most of the case, here are the details.
We have a bunch of IBM RTs with apa16 displays running the Dec. '88 release
of AOS. We are also running X11R3 with the Purdue Speedups and all official
patches. I run an application (the NYSERNet snmpxmon program) that, in the
course of running, tries to draw solid diagonal lines in its window. When
I run the client code on the RT, talking to the RT server driving an apa16,
no diagonal lines appear. When I run the client on the RT, talking to a Sun
3 server, it works as expected: I get lines (solid or dashed, horizontal,
vertical, or diagonal) drawn where I want to see them. I should also add
that dashed diagonal lines come out mostly OK (some pixels missing) and
that horizontal and vertical lines are OK for both the solid and dashed
variety.
I mentioned this problem on comp.sys.ibm.pc.rt awhile back, and was directed
to a new server that was suppossed to fix a bunch of different problems.
I tried it, but it didn't fix my diagonal line problem. I found another
version on expo, dated May 22, and tried that one. Still no luck. I think
I have done everything properly as far as building stuff goes, although I
may have missed something, so any suggestions are welcome (as long as they
aren't along the lines of 'scrap the RT' :-).
Here is a code fragment from the client program. Perhaps something will
be obvious to the folks out there with Xperience.
===============================
/* return gc to normal */
XSetLineAttributes(dpy,gc,1,LineSolid,CapButt,JoinMiter);
dashlist[0] = dashlist[1] = 4; /* make a dash 4 pixels wide */
XSetDashes(dpy,gc,0,dashlist,2);
/* draw in link information for primary links */
lp = sp->lst1; /* start at beginning */
while(lp != NULL)
{ switch(lp->curstat) { /* figure out current status */
case UP: break; /* don't have to do anything */
case DWN: /* down */
XSetLineAttributes(dpy,gc,1,LineOnOffDash,CapButt,JoinMiter);
break;
case UNINIT: /* not yet initialized */
case UNKNOWN: /* unknown */
XSetLineAttributes(dpy,gc,1,LineOnOffDash,CapButt,JoinMiter);
dashlist[0] = 1; /* make a dash 1 pixel wide */
dashlist[1] = 3;
XSetDashes(dpy,gc,0,dashlist,2);
break;
}
XDrawLine(dpy,(Drawable)w,gc,lp->primary.x,lp->primary.y,
lp->secondary.x,lp->secondary.y);
/* return gc to normal */
XSetLineAttributes(dpy,gc,1,LineSolid,CapButt,JoinMiter);
dashlist[0] = dashlist[1] = 4; /* make a dash 4 pixels wide */
XSetDashes(dpy,gc,0,dashlist,2);
lp = lp->lst1; /* onto next link */
}
===============================
Anybody have any ideas on this?
Thanks,
/Chris
==========----------==========---------+---------==========----------==========
UUCP: ...princeton!deepthought!tengi
INTERNET: tengi@deepthought.Princeton.EDU
BITNET: TENGI@PUCC
VOICEnet: 609-987-6799
FAX: 609-243-7704