OverArrayAndMove method

Alpha-blends an array of samples over the output surface and moves the pointer a specified number of samples.


void retVal = object.OverArrayAndMove(pScratchBuffer, pSrc, cSamples);


  • pScratchBuffer [in]

    Pointer to a buffer that can be used by the method. The initial contents of the buffer are ignored, and the contents are undefined when the call returns the buffer. The buffer must be at least [ cSamples*sizeof(DXBASESAMPLE) ] bytes in size. If the surface pixel format is either ARGB32 or PMARGB32, this buffer is not required and pScratchBuffer can be NULL.

  • pSrc [in]
    Type: const DXPMSAMPLE

    Pointer to an array of DXPMSAMPLE structures that describe the source samples.

  • cSamples [in]
    Type: unsigned long

    Number of samples in the arrays.


After a call to this method, the position of the sample pointer is advanced by cSamples.

If you know that the majority of the source samples are translucent, and you are blending more than 16 samples, it can be more efficient to unpack the destination samples, call the DXOverArrayMMX helper function, and pack the resulting buffer. For PMARGB32 DXSurfaces, the unpack/pack step is not necessary.