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