2.2.2.4.10.1.12 MemBlt

The MemBlt packet contains a transfer from the bitmap cache to the screen.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

pControlFlags

OrderType (optional)

FieldBytes

Bounds (13 bytes, optional)

...

...

...

cacheId (optional)

nLeftRect (optional)

...

nTopRect (optional)

nWidth (optional)

...

nHeight (optional)

bRop (optional)

nXSrc (optional)

nYSrc (optional)

cacheIndex (optional)

pControlFlags (1 byte): MUST be set to the value OE2_CF_STANDARD_ENC from the OE2 Control Flags enumeration. If the order differs in type from the last order that was sent, this field contains the bitwise AND of the value OE2_CF_TYPE_CHANGE. If the bounding rectangle has changed since the last order of the same type, this field contains the bitwise AND of the value OE2_CF_BOUNDS. If the coordinates of the bounding rectangle are specified as deltas from the last bounding rectangle that was used, this field contains the bitwise AND of the value OE2_CF_DELTACOORDS.

OrderType (1 byte): If the order differs in type from the last, this field MUST contain the value OE2_MEMBLT_R2_ORDER from the Order Types enumeration. If the order is the same type as the last, this field is not present.

FieldBytes (2 bytes): A 16-bit field, with each bit indicating which of the fields that follow Bounds is present. A bit set to 1 indicates that the field is present and its value has changed since the same order type was last sent.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5

A

B

C

D

E

F

G

H

I

0

0

0

0

0

0

0

Where the bits are defined as:

Value

Description

A

                

The cacheId value is present.

B

                

The nLeftRect value is present.

C

                

The nTopRect value is present.

D

                

The nWidth value is present.

E

                

The nHeight value is present.

F

                

The bRop value is present.

G

                

The nXSrc value is present.

H

                

The nYSrc value is present.

I

                

The cachIndex value is present.

The bits marked with 0 MUST be set to zero.

Bounds (13 bytes): A byte array of a BoundsData structure. This field is present only if the pControlFlags field contains the bitwise AND of the value OE2_CF_BOUNDS from the OE2 Control Flags enumeration.

cacheId (2 bytes): This value MUST be present if the corresponding bit from the FieldBytes field is set. This represents the identifier of the cache where the bitmap is stored. MUST be one of the following values.

Value

Meaning

0x0000

Small

0x0001

Medium

0x0002

Large

nLeftRect (2 bytes): This value MUST be present if the corresponding bit from the FieldBytes field is set. This represents the x-coordinate within the window of the left edge of the target rectangle.

nTopRect (2 bytes): This value MUST be present if the corresponding bit from the FieldBytes field is set. This represents the y-coordinate within the window of the upper edge of the target rectangle.

nWidth (2 bytes): This value MUST be present if the corresponding bit from the FieldBytes field is set. This represents the width, in pixels, of the target rectangle.

nHeight (2 bytes): This value MUST be present if the corresponding bit from the FieldBytes field is set. This represents the height, in pixels, of the target rectangle.

bRop (1 byte): This value MUST be present if the corresponding bit from the FieldBytes field is set. This represents the high-order byte of a Windows GDI ternary raster operation code.<21>

nXSrc (2 bytes): This value MUST be present if the corresponding bit from the FieldBytes field is set. This represents the x-coordinate within the window of the left side of the source rectangle within the source bitmap in the cache.

nYSrc (2 bytes): This value MUST be present if the corresponding bit from the FieldBytes field is set. This represents the y-coordinates of the top side of the source rectangle within the source bitmap in the cache.

cacheIndex (2 bytes): This value MUST be present if the corresponding bit from the FieldBytes field is set. This represents the identifier of the bitmap within the cache.