コード例 #1
0
ファイル: OXCsvFile.cpp プロジェクト: Spritutu/AiPI-1
//
// output functions
//
BOOL COXCsvFile::WriteColumn(int nColumn, LPCTSTR lpszText)
{
	if(nColumn<0 || nColumn>=m_nColumns)
	{
		SetError(errBadColumnIndex);
		return FALSE;
	}
	return WriteColumn(nColumn, lpszText, m_arrColumns[nColumn].m_bQuote);
}	
コード例 #2
0
ファイル: AGSym.cpp プロジェクト: jimmccurdy/ArchiveGit
//--------------------------------------------------------------------------//
//--------------------------------------------------------------------------//
bool CAGSymText::Write(CAGDocIO* pOutput)
{
	if (!pOutput)
		return false; // should never happen

	bool bReturn = CAGSym::Write(pOutput);
	WriteColumn(pOutput);

	return (bReturn);
}
コード例 #3
0
ファイル: OXCsvFile.cpp プロジェクト: Spritutu/AiPI-1
void COXCsvFile::WriteHeaders()
{
	int	nColumn;
	
	SetError(errNone);
	
	for(nColumn=0; nColumn<m_nColumns; ++nColumn)
	{
		WriteColumn(nColumn,m_arrColumns[nColumn].m_sName,TRUE);
	}
	WriteLine();
}
コード例 #4
0
ファイル: xaaFillRect.c プロジェクト: csulmone/X11
void
XAAFillImageWriteRects(ScrnInfoPtr pScrn,
                       int rop,
                       unsigned int planemask,
                       int nBox,
                       BoxPtr pBox, int xorg, int yorg, PixmapPtr pPix)
{
    XAAInfoRecPtr infoRec = GET_XAAINFORECPTR_FROM_SCRNINFOPTR(pScrn);
    int x, phaseY, phaseX, height, width, blit_w;
    int pHeight = pPix->drawable.height;
    int pWidth = pPix->drawable.width;
    int Bpp = pPix->drawable.bitsPerPixel >> 3;
    int srcwidth = pPix->devKind;

    (*infoRec->SetupForImageWrite) (pScrn, rop, planemask, -1,
                                    pPix->drawable.bitsPerPixel,
                                    pPix->drawable.depth);

    while (nBox--) {
        x = pBox->x1;
        phaseY = (pBox->y1 - yorg) % pHeight;
        if (phaseY < 0)
            phaseY += pHeight;
        phaseX = (x - xorg) % pWidth;
        if (phaseX < 0)
            phaseX += pWidth;
        height = pBox->y2 - pBox->y1;
        width = pBox->x2 - x;

        while (1) {
            blit_w = pWidth - phaseX;
            if (blit_w > width)
                blit_w = width;

            WriteColumn(pScrn, pPix->devPrivate.ptr, x, pBox->y1,
                        blit_w, height, phaseX, phaseY, pHeight, srcwidth, Bpp);

            width -= blit_w;
            if (!width)
                break;
            x += blit_w;
            phaseX = (phaseX + blit_w) % pWidth;
        }
        pBox++;
    }

    if (infoRec->ImageWriteFlags & SYNC_AFTER_IMAGE_WRITE)
        (*infoRec->Sync) (pScrn);
    else
        SET_SYNC_FLAG(infoRec);
}
コード例 #5
0
ファイル: Triangle.c プロジェクト: ggcrunchy/old-code
void DrawTriangle (HDC hDc, POINT p0, POINT p1, POINT p2, COLORREF color)
{
	int i, j;
	BOOL left;

	points [0] = p0;
	points [1] = p1;
	points [2] = p2;

	for (j = 0; j < NUM_POINTS; j++)
	{
		for (i = 0; i < NUM_POINTS - 1; i++)
		{
			if (points [i].y > points [i + 1].y)    // Sort y values in ascending order
			{
				SwapPoints (&points [i], &points [i + 1]);
			}
		}
	}

	longEdge->dx	= points [HIGH_POINT].x - points [LOW_POINT].x;
	longEdge->dy    = points [HIGH_POINT].y - points [LOW_POINT].y;

	topEdge->dx     = points [HIGH_POINT].x - points [MID_POINT].x;
	topEdge->dy     = points [HIGH_POINT].y - points [MID_POINT].y;

	lowEdge->dx     = points [MID_POINT].x  - points [LOW_POINT].x;
	lowEdge->dy     = points [MID_POINT].y  - points [LOW_POINT].y;

	triangle.color  = color;

	if (!topEdge->dx && !lowEdge->dx)	// Degenerate case
	{
		WriteColumn (hDc, points [LOW_POINT].x, points [LOW_POINT].y, points [HIGH_POINT].y);
		return;
	}

	if (!longEdge->dy)					// Degenerate case
	{
		WriteRow (hDc, points [LOW_POINT].x, points [HIGH_POINT].x, points [LOW_POINT].y);
		return;
	}

	left = topEdge->dx * lowEdge->dy > lowEdge->dx * topEdge->dy;
	// Find common denominator and compare inverse slopes

	(left ? FillLeftOrientedTriangle : FillRightOrientedTriangle) (hDc);
}