case ROP3_TO_ROP4(PATINVERT): return(Dest ^ Pattern);
case ROP3_TO_ROP4(SRCINVERT): return(Dest ^ Source);
case ROP3_TO_ROP4(SRCAND): return(Dest & Source);
- case ROP3_TO_ROP4(MERGEPAINT): return(Dest & (~Source));
+ case ROP3_TO_ROP4(MERGEPAINT): return(Dest | (~Source));
case ROP3_TO_ROP4(SRCPAINT): return(Dest | Source);
case ROP3_TO_ROP4(MERGECOPY): return(Source & Pattern);
case ROP3_TO_ROP4(SRCCOPY): return(Source);
{ ROPCODE_SRCINVERT, "SRCINVERT", "D ^ S", 1, 1, 0 },
{ ROPCODE_SRCAND, "SRCAND", "D & S", 1, 1, 0 },
{ ROPCODE_NOOP, "NOOP", "D", 1, 0, 0 },
- { ROPCODE_MERGEPAINT, "MERGEPAINT", "D & (~S)", 1, 1, 0 },
+ { ROPCODE_MERGEPAINT, "MERGEPAINT", "D | (~S)", 1, 1, 0 },
{ ROPCODE_MERGECOPY, "MERGECOPY", "S & P", 0, 1, 1 },
{ ROPCODE_SRCCOPY, "SRCCOPY", "S", 0, 1, 0 },
{ ROPCODE_SRCPAINT, "SRCPAINT", "D | S", 1, 1, 0 },