| /* |
| * 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; |
| } |
| } |