// // 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); }
//--------------------------------------------------------------------------// //--------------------------------------------------------------------------// bool CAGSymText::Write(CAGDocIO* pOutput) { if (!pOutput) return false; // should never happen bool bReturn = CAGSym::Write(pOutput); WriteColumn(pOutput); return (bReturn); }
void COXCsvFile::WriteHeaders() { int nColumn; SetError(errNone); for(nColumn=0; nColumn<m_nColumns; ++nColumn) { WriteColumn(nColumn,m_arrColumns[nColumn].m_sName,TRUE); } WriteLine(); }
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); }
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); }