DXPACKEDRECTDESC structure

Describes a rectangular array of pixels in a DXSurface object.

Syntax

typedef struct tagDXPACKEDRECTDESC {
  DXBASESAMPLE *pSamples;
  BOOL         bPremult;
  RECT         rect;
  long         lRowPadding;
} DXPACKEDRECTDESC;

Members

pSamples

Pointer to destination buffer that holds the unpacked data. A buffer must be supplied for all surface formats and implementations.

bPremult

Value of type BOOL that indicates the format into which the samples are unpacked.

FALSE

The samples are unpacked into ARGB32 format.

TRUE

The samples are unpacked into the alpha premultipliedPMARGB32 format.

rect

Structure of type RECT that indicates the rectangular region to unpack. Both coordinates are relative to the locked region.

lRowPadding

Value of type long that indicates the difference between the width of the buffer of samples pointed to by pSamples and the width of the rectangle in rect. For instance, if rect is 5 pixels wide, but the pSamples buffer is 12 pixels wide, lRowPadding should be set to 7. If the width of rect and the buffer pSamples is the same, the value of lRowPadding should be set to 0. You must supply this value when calling either IDXARGBReadWritePtr::PackRect or IDXARGBReadPtr::UnpackRect.

Remarks

This structure was created to save memory when storing small images in large regions. The row padding subtracted from the rectangle width gives the number of samples per row.

Requirements

Minimum supported client

Windows XP

Minimum supported server

Windows 2000 Server

Header

Dxtrans.h

IDL

Dxtrans.idl

See also

Reference

DXPMSAMPLE

IDXARGBReadPtr::UnpackRect

IDXARGBReadWritePtr::PackRect