int PatBlt_16bpp(HGDI_DC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, int rop) { if (gdi_ClipCoords(hdc, &nXLeft, &nYLeft, &nWidth, &nHeight, NULL, NULL) == 0) return 0; gdi_InvalidateRegion(hdc, nXLeft, nYLeft, nWidth, nHeight); switch (rop) { case GDI_PATCOPY: return BitBlt_PATCOPY_16bpp(hdc, nXLeft, nYLeft, nWidth, nHeight); break; case GDI_PATINVERT: return BitBlt_PATINVERT_16bpp(hdc, nXLeft, nYLeft, nWidth, nHeight); break; case GDI_DSTINVERT: return BitBlt_DSTINVERT_16bpp(hdc, nXLeft, nYLeft, nWidth, nHeight); break; case GDI_BLACKNESS: return BitBlt_BLACKNESS_16bpp(hdc, nXLeft, nYLeft, nWidth, nHeight); break; case GDI_WHITENESS: return BitBlt_WHITENESS_16bpp(hdc, nXLeft, nYLeft, nWidth, nHeight); break; case GDI_DPa: return BitBlt_DPa_16bpp(hdc, nXLeft, nYLeft, nWidth, nHeight); break; case GDI_PDxn: return BitBlt_PDxn_16bpp(hdc, nXLeft, nYLeft, nWidth, nHeight); break; default: break; } printf("PatBlt: unknown rop: 0x%08X\n", rop); return 1; }
BOOL PatBlt_16bpp(HGDI_DC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, DWORD rop) { if (!gdi_ClipCoords(hdc, &nXLeft, &nYLeft, &nWidth, &nHeight, NULL, NULL)) return TRUE; if (!gdi_InvalidateRegion(hdc, nXLeft, nYLeft, nWidth, nHeight)) return FALSE; switch (rop) { case GDI_PATCOPY: return BitBlt_PATCOPY_16bpp(hdc, nXLeft, nYLeft, nWidth, nHeight); case GDI_PATINVERT: return BitBlt_PATINVERT_16bpp(hdc, nXLeft, nYLeft, nWidth, nHeight); case GDI_DSTINVERT: return BitBlt_DSTINVERT_16bpp(hdc, nXLeft, nYLeft, nWidth, nHeight); case GDI_BLACKNESS: return BitBlt_BLACKNESS_16bpp(hdc, nXLeft, nYLeft, nWidth, nHeight); case GDI_WHITENESS: return BitBlt_WHITENESS_16bpp(hdc, nXLeft, nYLeft, nWidth, nHeight); case GDI_DPa: return BitBlt_DPa_16bpp(hdc, nXLeft, nYLeft, nWidth, nHeight); case GDI_PDxn: return BitBlt_PDxn_16bpp(hdc, nXLeft, nYLeft, nWidth, nHeight); default: break; } WLog_ERR(TAG, "PatBlt: unknown rop: 0x%08X", rop); return FALSE; }