Beispiel #1
0
void
xglPolylines (DrawablePtr pDrawable,
	      GCPtr       pGC,
	      int	  mode,
	      int	  npt,
	      DDXPointPtr ppt)
{
    if (pGC->lineWidth == 0)
    {
	XGL_GC_PRIV (pGC);

	if (!pGCPriv->flags)
	{
	    if (pGC->lineStyle == LineSolid)
	    {
		if (xglFillLine (pDrawable, pGC, mode, npt, ppt))
		    return;
	    }
	}

	XGL_GC_FILL_OP_FALLBACK_PROLOGUE (pDrawable);
	(*pGC->ops->Polylines) (pDrawable, pGC, mode, npt, ppt);
	XGL_GC_OP_FALLBACK_EPILOGUE (pDrawable);
    }
    else
    {
	if (pGC->lineStyle != LineSolid)
	    miWideDash (pDrawable, pGC, mode, npt, ppt);
	else
	    miWideLine (pDrawable, pGC, mode, npt, ppt);
    }
}
Beispiel #2
0
/* See Porting Layer Definition - p. 50 */
void
winPolyLineNativeGDI (DrawablePtr	pDrawable,
                      GCPtr		pGC,
                      int		mode,
                      int		npt,
                      DDXPointPtr	ppt)
{
    switch (pGC->lineStyle)
    {
    case LineSolid:
        if (pGC->lineWidth == 0)
            return miZeroLine (pDrawable, pGC, mode, npt, ppt);
        else
            miWideLine (pDrawable, pGC, mode, npt, ppt);
        break;
    case LineOnOffDash:
    case LineDoubleDash:
        miWideDash (pDrawable, pGC, mode, npt, ppt);
        break;
    }
}