/* * PostScript driver BitBlt, StretchBlt and PatBlt * * Copyright 1999 Huw D M Davies * */ #include "gdi.h" #include "psdrv.h" #include "debugtools.h" #include "winbase.h" DEFAULT_DEBUG_CHANNEL(psdrv) /*********************************************************************** * * PSDRV_PatBlt */ BOOL PSDRV_PatBlt(DC *dc, INT x, INT y, INT width, INT height, DWORD dwRop) { PSDRV_PDEVICE *physDev = (PSDRV_PDEVICE *)dc->physDev; switch(dwRop) { case PATCOPY: PSDRV_WriteGSave(dc); PSDRV_WriteRectangle(dc, XLPTODP(dc, x), YLPTODP(dc, y), XLSTODS(dc, width), YLSTODS(dc, height)); PSDRV_Brush(dc, FALSE); PSDRV_WriteGRestore(dc); return TRUE; case BLACKNESS: case WHITENESS: { PSCOLOR pscol; PSDRV_WriteGSave(dc); PSDRV_WriteRectangle(dc, XLPTODP(dc, x), YLPTODP(dc, y), XLSTODS(dc, width), YLSTODS(dc, height)); PSDRV_CreateColor( physDev, &pscol, (dwRop == BLACKNESS) ? RGB(0,0,0) : RGB(0xff,0xff,0xff) ); PSDRV_WriteSetColor(dc, &pscol); PSDRV_WriteFill(dc); PSDRV_WriteGRestore(dc); return TRUE; } default: FIXME("Unsupported rop %ld\n", dwRop); return FALSE; } }