[comp.windows.x] X11R3 on RT/AOS with apa16 - no diagonal lines

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