y1_or_e1 = ((long) addrp) & (PGSZB - 1);
FUNC_NAME(cfb8LineSS1Rect) (pDrawable, pGC, mode, npt, pptInit, pptInitOrig,			    x1p,y1p,x2p,y2p)    DrawablePtr pDrawable;    GCPtr	pGC;    int	mode;		/* Origin or Previous */    int	npt;		/* number of points */    DDXPointPtr pptInit, pptInitOrig;    int	*x1p, *y1p, *x2p, *y2p;#endif /* POLYSEGEMENT */{    register long   e;    register int    y1_or_e1;    register PixelType   *addrp;    register int    stepmajor;    register int    stepminor;#ifndef REARRANGE    register long   e3;#endif#ifdef mc68000    register short  x1_or_len;#else    register int    x1_or_len;#endif    RROP_DECLARE#ifdef SAVE_X2Y2# define c2 y2#else    register int    c2;#endif#ifndef ORIGIN    register int _x1, _y1, _x2, _y2;	/* only used for CoordModePrevious */    int extents_x1, extents_y1, extents_x2, extents_y2;#endif /* !ORIGIN */#ifndef PREVIOUS    register int upperleft, lowerright;    CARD32	 ClipMask = 0x80008000;#endif /* !PREVIOUS */#ifdef POLYSEGMENT    register int    capStyle;#endif /* POLYSEGMENT */#ifdef SAVE_X2Y2    register int    x2, y2;# define X1  x1_or_len# define Y1  y1_or_e1# define X2  x2# define Y2  y2#else# ifdef POLYSEGMENT#  define X1  x1_or_len#  define Y1  y1_or_e1# else#  define X1  intToX(y1_or_e1)#  define Y1  intToY(y1_or_e1)# endif /* POLYSEGMENT */# define X2  intToX(c2)# define Y2  intToY(c2)#endif /* SAVE_X2Y2 */    PixelType   *addr;    int		    nwidth;    cfbPrivGCPtr    devPriv;    BoxPtr	    extents;    int		    *ppt;#if PSZ == 24    int xBase;     /* x of addr */    int xOffset;   /* x of addrp */    int xOffset_t; /* x of t */    PixelType   *addrLineEnd;    char *addrb;    int stepmajor3, stepminor3, majordx, minordx;#endif#ifdef BUGFIX_clip    int ex_x1, ex_y1, ex_x2, ex_y2;#endif    int		    octant;    unsigned int    bias = miGetZeroLineBias(pDrawable->pScreen);    devPriv = cfbGetGCPrivate(pGC);    cfbGetPixelWidthAndPointer (pDrawable, nwidth, addr);#ifndef REARRANGE    RROP_FETCH_GCPRIV(devPriv);#endif    extents = &devPriv->pCompositeClip->extents;#ifndef PREVIOUS    c2 = *((int *) &pDrawable->x);    c2 -= (c2 & 0x8000) << 1;    upperleft = *((int *) &extents->x1) - c2;    lowerright = *((int *) &extents->x2) - c2 - 0x00010001;#endif /* !PREVIOUS */#ifdef BUGFIX_clip    ex_x1 = extents->x1 - pDrawable->x;    ex_y1 = extents->y1 - pDrawable->y;    ex_x2 = extents->x2 - pDrawable->x;    ex_y2 = extents->y2 - pDrawable->y;#endif#if PSZ == 24    xBase = pDrawable->x;    addr += WIDTH_MUL(pDrawable->y,nwidth);#else    addr = addr + WIDTH_MUL(pDrawable->y,nwidth) + pDrawable->x;#endif#ifdef POLYSEGMENT    capStyle = pGC->capStyle - CapNotLast;    ppt = (int *) pSegInit;    while (nseg--)#else /* POLYSEGMENT */#ifdef EITHER_MODE    mode -= CoordModePrevious;    if (!mode)#endif /* EITHER_MODE */	#ifndef ORIGIN    {	/* CoordModePrevious */	ppt = (int *)pptInit + 1;	_x1 = *x1p;	_y1 = *y1p;	extents_x1 = extents->x1 - pDrawable->x;	extents_x2 = extents->x2 - pDrawable->x;	extents_y1 = extents->y1 - pDrawable->y;	extents_y2 = extents->y2 - pDrawable->y;	if (_x1 < extents_x1 || _x1 >= extents_x2 ||	    _y1 < extents_y1 || _y1 >= extents_y2)	{	    c2 = *ppt++;	    intToCoord(c2, _x2, _y2);	    *x2p = _x1 + _x2;	    *y2p = _y1 + _y2;	    return 1;	}#if PSZ == 24	addrLineEnd = addr + WIDTH_MUL(_y1, nwidth);	xOffset = xBase + _x1;	addrb = (char *)addrLineEnd + xOffset * 3;	addrp = (PixelType *)((unsigned long)addrb & ~0x03);#else	addrp = addr + WIDTH_MUL(_y1, nwidth) + _x1;#endif	_x2 = _x1;	_y2 = _y1;	    }#endif /* !ORIGIN */#ifdef EITHER_MODE    else#endif /* EITHER_MODE */#ifndef PREVIOUS    {	ppt = (int *) pptInit;	c2 = *ppt++;	if (isClipped (c2, upperleft, lowerright))	{	    return 1;	}#ifdef SAVE_X2Y2	intToCoord(c2,x2,y2);#endif#if PSZ == 24	addrLineEnd = addr + WIDTH_MUL(Y2, nwidth);	xOffset = xBase + X2;	addrb = (char *)addrLineEnd + xOffset * 3;	addrp = (PixelType *)((unsigned long)addrb & ~0x03);#else	addrp = addr + WIDTH_MUL(Y2, nwidth) + X2;#endif    }#endif /* !PREVIOUS */        while (--npt)#endif /* POLYSEGMENT */    {#ifdef POLYSEGMENT	y1_or_e1 = ppt[0];	c2 = ppt[1];	ppt += 2;	if (isClipped(y1_or_e1,upperleft,lowerright)|isClipped(c2,upperleft,lowerright))	    break;	intToCoord(y1_or_e1,x1_or_len,y1_or_e1);	/* compute now to avoid needing x1, y1 later */#if PSZ == 24	addrLineEnd = addr + WIDTH_MUL(y1_or_e1, nwidth);	xOffset = xBase + x1_or_len;	addrb = (char *)addrLineEnd + xOffset * 3;	addrp = (PixelType *)((unsigned long)addrb & ~0x03);#else	addrp = addr + WIDTH_MUL(y1_or_e1, nwidth) + x1_or_len;#endif#else /* !POLYSEGMENT */#ifdef EITHER_MODE	if (!mode)#endif /* EITHER_MODE */	#ifndef ORIGIN	{		    /* CoordModePrevious */	    _x1 = _x2;	    _y1 = _y2;	    c2 = *ppt++;	    intToCoord(c2, _x2, _y2);	    _x2 = _x1 + _x2;	    _y2 = _y1 + _y2;#ifdef BUGFIX_clip	    if (_x2 < ex_x1 || _x2 >= ex_x2 ||		_y2 < ex_y1 || _y2 >= ex_y2)#else	    if (_x2 < extents_x1 || _x2 >= extents_x2 ||		_y2 < extents_y1 || _y2 >= extents_y2)#endif	    {		break;	    }	    CalcLineDeltas(_x1, _y1, _x2, _y2, x1_or_len, y1_or_e1,			   stepmajor, stepminor, 1, NWIDTH(nwidth), octant);	}#endif /* !ORIGIN */#ifdef EITHER_MODE	else#endif /* EITHER_MODE */#ifndef PREVIOUS        {#ifndef SAVE_X2Y2	    y1_or_e1 = c2;#else	    y1_or_e1 = y2;	    x1_or_len = x2;#endif /* SAVE_X2Y2 */	    c2 = *ppt++;	    if (isClipped (c2, upperleft, lowerright))		break;#ifdef SAVE_X2Y2	    intToCoord(c2,x2,y2);#endif	    CalcLineDeltas(X1, Y1, X2, Y2, x1_or_len, y1_or_e1,			   stepmajor, stepminor, 1, NWIDTH(nwidth), octant);	}#endif /* !PREVIOUS */#endif /* POLYSEGMENT */#ifdef POLYSEGMENT	CalcLineDeltas(X1, Y1, X2, Y2, x1_or_len, y1_or_e1,		       stepmajor, stepminor, 1, NWIDTH(nwidth), octant);	/*	 * although the horizontal code works for polyline, it	 * slows down 10 pixel lines by 15%.  Thus, this	 * code is optimized for horizontal segments and	 * random orientation lines, which seems like a reasonable	 * assumption	 */	if (y1_or_e1 != 0)	{#endif /* POLYSEGMENT */	if (x1_or_len < y1_or_e1)	{#ifdef REARRANGE	    register int	e3;#endif	    e3 = x1_or_len;	    x1_or_len = y1_or_e1;	    y1_or_e1 = e3;	    e3 = stepminor;	    stepminor = stepmajor;	    stepmajor = e3;	    SetYMajorOctant(octant);	}	e = -x1_or_len;#ifdef POLYSEGMENT	if (!capStyle)	    x1_or_len--;#endif	{#ifdef REARRANGE	register int e3;	RROP_DECLARE	RROP_FETCH_GCPRIV(devPriv);#endif	y1_or_e1 = y1_or_e1 << 1;	e3 = e << 1;	FIXUP_ERROR(e, octant, bias);#if PSZ == 24 	if (stepmajor == 1  ||  stepmajor == -1){ 	    stepmajor3 = stepmajor * 3; 	    stepminor3 = stepminor * sizeof (long); 	    majordx = stepmajor; minordx = 0;         } else { 	    stepmajor3 = stepmajor * sizeof (long); 	    stepminor3 = stepminor * 3; 	    majordx = 0; minordx = stepminor;         }#endif #if PSZ == 24#define body {\ 	    body_rop \ 	    addrb += stepmajor3; \             xOffset += majordx; \ 	    e += y1_or_e1; \ 	    if (e >= 0){ \ 	        addrb += stepminor3; \                 xOffset += minordx; \ 		e += e3; \ 	    } \ 	}#else /* PSZ == 24 */#define body {\	    RROP_SOLID(addrp); \	    addrp += stepmajor; \	    e += y1_or_e1; \	    if (e >= 0) \	    { \		addrp += stepminor; \		e += e3; \	     } \	}#endif /* PSZ == 24 */#ifdef LARGE_INSTRUCTION_CACHE# ifdef SERIOUS_UNROLLING#  define UNROLL	16# else#  define UNROLL	4# endif#define CASE(n)	case -n: body	while ((x1_or_len -= UNROLL) >= 0)	{	    body body body body# if UNROLL >= 8	    body body body body# endif# if UNROLL >= 12	    body body body body# endif# if UNROLL >= 16	    body body body body# endif	}	switch (x1_or_len)	{	CASE(1) CASE(2) CASE(3)# if UNROLL >= 8	CASE(4) CASE(5) CASE(6) CASE(7)# endif# if UNROLL >= 12	CASE(8) CASE(9) CASE(10) CASE(11)# endif# if UNROLL >= 16	CASE(12) CASE(13) CASE(14) CASE(15)# endif	}#else /* !LARGE_INSTRUCTION_CACHE */	IMPORTANT_START	IMPORTANT_START	if (x1_or_len & 1)	    body	x1_or_len >>= 1;	while (x1_or_len--) {	    body body	}	IMPORTANT_END	IMPORTANT_END#endif /* LARGE_INSTRUCTION_CACHE */#ifdef POLYSEGMENT#if PSZ == 24	body_rop#else	RROP_SOLID(addrp);#endif#endif#if PSZ == 24	addrp = (PixelType *)((unsigned long)addrb & ~0x03);#endif	}#undef body#ifdef POLYSEGMENT	}	else /* Polysegment horizontal line optimization */	{# ifdef REARRANGE	    register int    e3;	    RROP_DECLARE	    RROP_FETCH_GCPRIV(devPriv);# endif /* REARRANGE */	    if (stepmajor < 0)	    {#if PSZ == 24		xOffset -= x1_or_len;		addrp = addrLineEnd + PXL2ADR(xOffset);#else		addrp -= x1_or_len;#endif		if (capStyle)		    x1_or_len++;		else#if PSZ == 24		  xOffset++;		addrp = addrLineEnd + PXL2ADR(xOffset);#else		    addrp++;#endif	    }	    else	    {#if PSZ == 24		addrp = addrLineEnd + PXL2ADR(xOffset);#endif		if (capStyle)		    x1_or_len++;	    }# if PSZ == 24	    y1_or_e1 = xOffset & 3;# else#  if PGSZ == 64 /* PIM value from <cfbmskbits.h> is not it! (for 16/32 PSZ)*/	    y1_or_e1 = ((long) addrp) & 0x7;	    addrp = (PixelType *) (((unsigned char *) addrp) - y1_or_e1);#  else	    y1_or_e1 = ((long) addrp) & PIM;	    addrp = (PixelType *) (((unsigned char *) addrp) - y1_or_e1);#  endif#if PGSZ == 32#  if PWSH != 2	    y1_or_e1 >>= (2 - PWSH);#  endif#else /* PGSZ == 64 */#  if PWSH != 3	    y1_or_e1 >>= (3 - PWSH);#  endif#endif /* PGSZ */# endif /* PSZ == 24 */#if PSZ == 24	    {#if RROP == GXcopy	      register int nlmiddle;	      int leftIndex = xOffset & 3;	      int rightIndex = (xOffset + x1_or_len) & 3;#else	      register int pidx;#endif#if RROP == GXcopy	      nlmiddle = x1_or_len;	      if(leftIndex){		nlmiddle -= (4 - leftIndex);	      }	      if(rightIndex){		nlmiddle -= rightIndex;	      }	      	      nlmiddle >>= 2;	      switch(leftIndex+x1_or_len){	      case 4:		switch(leftIndex){		case 0:		  *addrp++ = piQxelXor[0];		  *addrp++ = piQxelXor[1];		  *addrp   = piQxelXor[2];		  break;		case 1:		  *addrp++ = ((*addrp) & 0xFFFFFF) | (piQxelXor[0] & 0xFF000000);		  *addrp++ = piQxelXor[1];		  *addrp   = piQxelXor[2];		  break;		case 2:		  *addrp++ =((*addrp) & 0xFFFF) | (piQxelXor[1] & 0xFFFF0000);		  *addrp = piQxelXor[2];		  break;		case 3:		  *addrp =((*addrp) & 0xFF) | (piQxelXor[2] & 0xFFFFFF00);		  break;		}		break;	      case 3:		switch(leftIndex){		case 0:		  *addrp++ = piQxelXor[0];		  *addrp++ = piQxelXor[1];		  *addrp = ((*addrp) & 0xFFFFFF00) | (piQxelXor[2] & 0xFF);		  break;		case 1:		  *addrp++ = ((*addrp) & 0xFFFFFF) | (piQxelXor[0] & 0xFF000000);		  *addrp++ = piQxelXor[1];		  *addrp = ((*addrp) & 0xFFFFFF00) | (piQxelXor[2] & 0xFF);		  break;		case 2:		  *addrp++ =((*addrp) & 0xFFFF) | (piQxelXor[1] & 0xFFFF0000);		  *addrp = ((*addrp) & 0xFFFFFF00) | (piQxelXor[2] & 0xFF);		  break;		}		break;	      case 2:		switch(leftIndex){/*		case 2:		  *addrp++ = ((*addrp) & 0xFFFF) | (piQxelXor[1] & 0xFFFF0000);		  *addrp = ((*addrp) & 0xFFFFFF00) | (piQxelXor[2] & 0xFF);		  break;*/		case 1:		  *addrp++ = ((*addrp) & 0xFFFFFF) | (piQxelXor[0] & 0xFF000000);		  *addrp = ((*addrp) & 0xFFFF0000) | (piQxelXor[1] & 0xFFFF);		  break;		case 0:		  *addrp++ =  piQxelXor[0];		  *addrp = ((*addrp) & 0xFFFF0000) | (piQxelXor[1] & 0xFFFF);		  break;		}		break;	      case 1: /*only if leftIndex = 0 and w = 1*/		if(x1_or_len){		*addrp =  ((*addrp) & 0xFF000000) | (piQxelXor[0] & 0xFFFFFF);		}/*		else{		*addrp++ =  ((*addrp) & 0xFFFFFF) | (piQxelXor[0] & 0xFF000000);		*addrp =  ((*addrp) & 0xFFFF0000) | (piQxelXor[1] & 0xFFFF);		}*/		break;	      case 0: /*never*/		break;	      default:		{/*		  maskbits(y1_or_e1, x1_or_len, e, e3, x1_or_len)*/		  switch(leftIndex){		  case 0:		    break;		  case 1:		    *addrp++ = ((*addrp) & 0xFFFFFF) | (piQxelXor[0] & 0xFF000000);		    *addrp++ = piQxelXor[1];		    *addrp++ = piQxelXor[2];		    break;		  case 2:		    *addrp++ = ((*addrp) & 0xFFFF) | (piQxelXor[1] & 0xFFFF0000);		    *addrp++ = piQxelXor[2];		    break;		  case 3:		    *addrp++ = ((*addrp) & 0xFF) | (piQxelXor[2] & 0xFFFFFF00);		    break;		  }		  while(nlmiddle--){		    *addrp++ = piQxelXor[0];		    *addrp++ = piQxelXor[1];		    *addrp++ = piQxelXor[2];		  }		  switch(rightIndex++){		  case 0:		    break;		  case 1:		    *addrp = ((*addrp) & 0xFF000000) | (piQxelXor[0] & 0xFFFFFF);		    break;		  case 2:		    *addrp++ = piQxelXor[0];		    *addrp = ((*addrp) & 0xFFFF0000) | (piQxelXor[1] & 0xFFFF);		    break;		  case 3:		    *addrp++ = piQxelXor[0];		    *addrp++ = piQxelXor[1];		    *addrp = ((*addrp) & 0xFFFFFF00) | (piQxelXor[2] & 0xFF);		    break;		  }/*		  if (e3){		    e3 &= 0xFFFFFF;		    switch(rightIndex&3){		    case 0:		      *addrp = ((*addrp) & (0xFF000000 | ~e3))			| (piQxelXor[0] & 0xFFFFFF & e3);		      break;		    case 1:		      *addrp++ = ((*addrp) & (0xFFFFFF | ~(e3<<24)))				  | (piQxelXor[0] & 0xFF000000 & (e3<<24));		      *addrp = ((*addrp) & (0xFFFF0000|~(e3 >> 8)))				  | (piQxelXor[1] & 0xFFFF & (e3 >> 8));		      break;		    case 2:		      *addrp++ = ((*addrp) & (0xFFFF|~(e3 << 16)))				  | (piQxelXor[1] & 0xFFFF0000 & (e3 << 16));		      *addrp = ((*addrp) & (0xFFFFFF00|~(e3>>16)))				  | (piQxelXor[2] & 0xFF & (e3 >> 16));		      break;		    case 3:		      *addrp++ = ((*addrp) & (0xFF|~(e3<<8)))				  | (piQxelXor[2] & 0xFFFFFF00 & (e3<<8));		      break;		    }		  }*/		}	      }#else /* GXcopy */	      addrp = (PixelType *)((char *)addrLineEnd + ((xOffset * 3) & ~0x03));	      if (x1_or_len <= 1){		if (x1_or_len)		  RROP_SOLID24(addrp, xOffset);	      } else {		maskbits(xOffset, x1_or_len, e, e3, x1_or_len);		pidx = xOffset & 3;		if (e){		  RROP_SOLID_MASK(addrp, e, pidx-1);		  addrp++;		  if (pidx == 3)		    pidx = 0;		}		while (--x1_or_len >= 0){		  RROP_SOLID(addrp, pidx);		  addrp++;		  if (++pidx == 3)		    pidx = 0;		}		if (e3)		  RROP_SOLID_MASK(addrp, e3, pidx);	      }#endif /* GXcopy */	    }#else /* PSZ == 24 */	    if (y1_or_e1 + x1_or_len <= PPW)	      {		if (x1_or_len)		  {		    maskpartialbits(y1_or_e1, x1_or_len, e)		      RROP_SOLID_MASK((unsigned long *) addrp, e);		  }	      }	    else	    {	    	maskbits(y1_or_e1, x1_or_len, e, e3, x1_or_len)	    	if (e)	    	{		    RROP_SOLID_MASK((unsigned long *) addrp, e);		    addrp += PPW;	    	}#if 0		RROP_SPAN_lu(addrp, x1_or_len)#else		RROP_SPAN(addrp, x1_or_len)#endif	    	if (e3)#if 0		    RROP_SOLID_MASK_lu((unsigned long *) addrp, e3);#else		    RROP_SOLID_MASK((unsigned long *) addrp, e3);#endif	    }#endif /* PSZ == 24 */	}#endif /* POLYSEGMENT */    }#ifdef POLYSEGMENT    if (nseg >= 0)	return (xSegment *) ppt - pSegInit;#else    if (npt)    {#ifdef EITHER_MODE	if (!mode)#endif /* EITHER_MODE */#ifndef ORIGIN	{	    *x1p = _x1;	    *y1p = _y1;			    *x2p = _x2;	    *y2p = _y2;	}#endif /* !ORIGIN */	    	return ((DDXPointPtr) ppt - pptInit) - 1;    }#endif /* POLYSEGMENT */#ifndef POLYSEGMENT# ifndef ORIGIN#  define C2  c2# else#  define C2  ppt[-1]# endif#ifdef EITHER_MODE    if (pGC->capStyle != CapNotLast &&	((mode ? (C2 != *((int *) pptInitOrig))	       : ((_x2 != pptInitOrig->x) ||		  (_y2 != pptInitOrig->y)))	 || (ppt == ((int *)pptInitOrig) + 2)))#endif /* EITHER_MODE */#ifdef PREVIOUS    if (pGC->capStyle != CapNotLast &&	((_x2 != pptInitOrig->x) ||	 (_y2 != pptInitOrig->y) ||	 (ppt == ((int *)pptInitOrig) + 2)))#endif /* PREVIOUS */#ifdef ORIGIN    if (pGC->capStyle != CapNotLast &&	((C2 != *((int *) pptInitOrig)) ||	 (ppt == ((int *)pptInitOrig) + 2)))#endif /* !PREVIOUS */    {# ifdef REARRANGE	RROP_DECLARE	RROP_FETCH_GCPRIV(devPriv);# endif#if PSZ == 24#if RROP == GXcopy	    switch(xOffset & 3){	    case 0:	      *addrp = ((*addrp)&0xFF000000)|(piQxelXor[0] & 0xFFFFFF);	      break;	    case 3:	      *addrp = ((*addrp)&0xFF)|(piQxelXor[2] & 0xFFFFFF00);	      break;	    case 1:	      *addrp = ((*addrp)&0xFFFFFF)|(piQxelXor[0] & 0xFF000000);	      *(addrp+1) = ((*(addrp+1))&0xFFFF0000)|(piQxelXor[1] & 0xFFFF);	      break;	    case 2:	      *addrp = ((*addrp)&0xFFFF)|(piQxelXor[1] & 0xFFFF0000);	      *(addrp+1) = ((*(addrp+1))&0xFFFFFF00)|(piQxelXor[2] & 0xFF);	      break;	    }#endif#if RROP == GXxor	    switch(xOffset & 3){	    case 0:	      *addrp ^= (piQxelXor[0] & 0xFFFFFF);	      break;	    case 3:	      *addrp ^= (piQxelXor[2] & 0xFFFFFF00);	      break;	    case 1:	      *addrp ^= (piQxelXor[0] & 0xFF000000);	      *(addrp+1) ^= (piQxelXor[1] & 0xFFFF);	      break;	    case 2:	      *addrp ^= (piQxelXor[1] & 0xFFFF0000);	      *(addrp+1) ^= (piQxelXor[2] & 0xFF);	      break;	    }#endif#if RROP == GXand	    switch(xOffset & 3){	    case 0:	      *addrp &= (piQxelAnd[0] | 0xFF000000);	      break;	    case 3:	      *addrp &= (piQxelAnd[2] | 0xFF);	      break;	    case 1:	      *addrp &= (0xFFFFFF|piQxelAnd[0]);	      *(addrp+1) &= (0xFFFF0000|piQxelAnd[1]);	      break;	    case 2:	      *addrp &= (0xFFFF|piQxelAnd[1]);	      *(addrp+1) &= (0xFFFFFF00|piQxelAnd[2]);	      break;	    }#endif#if RROP == GXor	    switch(xOffset & 3){	    case 0:	      *addrp |= (piQxelOr[0] & 0xFFFFFF);	      break;	    case 3:	      *addrp |= (piQxelOr[2] & 0xFFFFFF00);	      break;	    case 1:	      *addrp |= (piQxelOr[0] & 0xFF000000);	      *(addrp+1) |= (piQxelOr[1] & 0xFFFF);	      break;	    case 2:	      *addrp |= (piQxelOr[1] & 0xFFFF0000);	      *(addrp+1) |= (piQxelOr[2] & 0xFF);	      break;	    }#endif#if RROP == GXset	    switch(xOffset & 3){	    case 0:	      *addrp = (((*addrp)&(piQxelAnd[0] |0xFF000000))^(piQxelXor[0] & 0xFFFFFF));	      break;	    case 3:	      *addrp = (((*addrp)&(piQxelAnd[2]|0xFF))^(piQxelXor[2] & 0xFFFFFF00));	      break;	    case 1:	      *addrp = (((*addrp)&(piQxelAnd[0]|0xFFFFFF))^(piQxelXor[0] & 0xFF000000));	      *(addrp+1) = (((*(addrp+1))&(piQxelAnd[1]|0xFFFF0000))^(piQxelXor[1] & 0xFFFF));	      break;	    case 2:	      *addrp = (((*addrp)&(piQxelAnd[1]|0xFFFF))^(piQxelXor[1] & 0xFFFF0000));	      *(addrp+1) = (((*(addrp+1))&(piQxelAnd[2]|0xFFFFFF00))^(piQxelXor[2] & 0xFF));	      break;	    } #endif#else	RROP_SOLID (addrp);# endif    }#endif /* !POLYSEGMENT */    return -1;}