IDXARGBReadPtr interface

The IDXARGBReadPtr interface enables Microsoft DirectX Transform objects to gain read-only access to samples contained in a DXSurface object.

Members

The IDXARGBReadPtr interface inherits from the IUnknown interface. IDXARGBReadPtr also has these types of members:

  • Methods

Methods

The IDXARGBReadPtr interface has these methods.

Method Description
GetNativeType

Retrieves the native underlying pixel format of a DXSurface.

GetSurface

Retrieves a pointer to the parent DXSurface.

Move

Moves the sample pointer along the x-axis relative to its current position.

MoveAndGetRunInfo

Moves the sample pointer to a specified row and retrieves a pointer to the run information associated with that row.

MoveToRow

Moves the sample pointer to an absolute row along the y-axis and resets the x-axis position to zero.

MoveToXY

Moves the sample pointer to an absolute position.

Unpack

Unpacks the specified number of samples into the supplied buffer in ARGB32 pixel format. This method can only unpack a single row. Use IDXARGBReadPtr::UnpackRect to unpack multiple rows.

UnpackPremult

Unpacks the specified number of samples into the supplied buffer in alpha-premultiplied PMARGB32 pixel format. This method only unpacks a single row. Use IDXARGBReadPtr::UnpackRect to unpack multiple rows.

UnpackRect

Unpacks a subsection of source samples defined by a rectangle structure and advances the horizontal position of the read pointer. Use to unpack multiple rows.

 

Remarks

This interface contains methods to move a sample pointer to various locations within a DXSurface and to unpack samples into a common pixel format, either ARGB32 or PMARGB32. Unpacking the samples into a common format means transforms that modify data from DXSurfaces only need to be able to handle these two formats. If the underlying samples in the DXSurface are already in ARGB32 or PMARGB32 format, you can obtain a pointer to them by specifying NULL for the working buffer arguments, avoiding the step of copying the samples to the buffer. You can determine the format of the underlying samples by using the IDXARGBReadPtr::GetNativeType method.

Use the IDXSurface::LockSurface method to retrieve a pointer to this interface.

If you create a custom DXSurface, you must implement this interface on your DXSurface object, which is used to access samples within your custom surface. Microsoft DirectX Transform objects use this interface to access samples in your custom DXSurface.

The coordinates used in all operations for IDXARGBReadPtr and IDXARGBReadWritePtr interfaces are relative to the locked region of the DXSurface. This means, for example, that if you lock a region from (10, 10) to (100, 100) and then call pPtr->MoveToXY(10, 10), the sample pointer is positioned at the pixel at 20,20 on the surface.

Warning    To achieve fast performance on these methods, no parameter validation occurs before execution. Passing invalid parameters can cause the DLL to crash.

 

Requirements

Minimum supported client

Windows XP

Minimum supported server

Windows 2000 Server

Header

Dxtrans.h

IDL

Dxtrans.idl

DLL

Dxtrans.dll

See also

Conceptual

About Transforms and DXSurfaces

Architecture