From: curiousP on
How is ROP4 different from ROP3
and if the device does not support ROP4 is it possible to derive a the ROP3
code from the ROP4 parameter of DrvBitBlt () if yes how ?
From: Tim Roberts on
curiousP <curiousP(a)discussions.microsoft.com> wrote:
>
>How is ROP4 different from ROP3

A ROP4 is a 16-bit value, where the upper byte and the lower byte are both
ROP3 values. When a monochrome mask is used in the blt, the lower byte of
the ROP4 is used for each pixel where the mask is 1, and the upper byte for
each pixel where the mask is 0. (I might have the 0 and 1 backwards.)

If there is no mask, both bytes will be the same, and you just use the
lower byte.

>and if the device does not support ROP4 is it possible to derive a the ROP3
>code from the ROP4 parameter of DrvBitBlt () if yes how ?

If you do not support masks, you need to punt all of the blits that specify
one to EngBitBlt. After you do that, the blits that are left will always
have the same value in both bytes. Just use the lower byte.
--
- Tim Roberts, timr(a)probo.com
Providenza & Boekelheide, Inc.