Summary of Interfaces
Microsoft® DirectX® Transform supports the creation of two kinds of objects: DXTransform objects and DXSurface objects.
DXTransform objects use input graphics and transform properties to produce graphic output. DXSurface objects store two-dimensional (2-D) bitmap images in a way that makes accessing and manipulating them much easier. They can be attached as inputs or output to DXTransform objects.
DirectX Transform implements a set of core interfaces used to create and modify each of these objects.
Other interfaces provide basic support functionality that is not specific to DXTransform or DXSurface objects.
The DirectX Transform interfaces are organized in the following categories.
The following list describes the DirectX Transform interfaces that provide the core functionality for DXTransform objects. With the exception of IDXTransformFactory, these are interfaces implemented by all DXTransform objects.
All DXTransform objects must implement the IDXTransform interface. The other interfaces are optional.
- IDXBindHost
- This interface specifies the bind host that the calling transform should use.
- IDXEffect
- This interface inherits from IDispatch and is used to generically control transition settings on transform objects. Transform objects that use their inputs to produce animation should inherit from this interface.
- IDXScaleOutput
- This interface is used to set the destination size of transformed output, which is scaled automatically when the transform's Execute method is called.
- IDXSurfacePick
- This interface can be used to choose which of the transform input surfaces contribute to the output at a specific point.
- IDXTransform
- This interface is exposed on a DXTransform object and is used to execute a transform on a specified data object or group of objects.
- IDXTransformFactory
- This core interface is obtained by creating a DXTransformFactory object (Transform Factory) and is used to instantiate and initialize a desired transform.
The following list describes the DirectX Transform interfaces that provide the core functionality for DXSurface objects. With the exception of IDXSurfaceFactory, all of these are interfaces implemented by DXSurface objects.
- IDXARGBReadPtr
- This interface is used by a transform object to gain read-only access to samples contained in a DXSurface. 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).
- IDXARGBReadWritePtr
- DirectX Transform objects use the IDXARGBReadWritePtr interface to gain read/write access to samples contained in a DXSurface. This interface contains methods that select various locations within a DXSurface and pack ARGB32- or PMARGB32-transformed samples into the native, underlying pixel format of the output surface.
- IDXARGBSurfaceInit
- This interface is used to initialize DXSurfaces from DirectDrawSurface objects and buffers. It derives from the IDXSurfaceInit interface.
- IDXDCLock
- This interface retrieves the current device context (DC).
- IDXRawSurface
- This interface is used to implement custom surface types that are not based on Microsoft DirectDraw® surfaces.
- IDXSurface
- This interface is exposed on DXSurfaces. It provides methods to get information and generate IDs for surfaces being sent to transforms. The IDXSurface interface is also used to lock
the surface and retrieve a pointer to access samples of the DXSurface. This interface derives from IDXBaseObject.
- IDXSurfaceFactory
- This interface creates DXSurface objects. This interface is typically implemented as a service the DXTransformFactory object.
- IDXSurfaceInit
- This interface initializes a new DXSurface object (from a DirectDraw object) with the specified bounding volume and pixel format.
- IDXSurfaceModifier
- This interface is used to combine and manipulate DXSurfaces. You can define a foreground surface, which is composited or tiled over a background surface or color. The interface also supports lookup table and opacity adjustments of the foreground surface. The interface exposes an IDXSurface interface, which allows the combined images to be accessed as if it were a modified DXSurface.
The following list describes core DirectX Transform interfaces that provide basic functionality, such as task management and lookup table support, that is not specific to surfaces or transforms.
- IDXBaseObject
- This interface manages the generation ID of a surface and retrieves its size.
- IDXLookupTable
- This interface is used to access a lookup table, which changes each of the values of a sample's ARGB components. The values are changed by using the color value as an index in a table that holds the new color value.
- IDXLUTBuilder
- This interface builds lookup tables to perform standard color adjustments to DXSurfaces.
- IDXTaskManager
- The IDXTaskManager interface is used to schedule and execute caller-defined tasks on different threads. This interface enables you to specify the thread pool size and the thread concurrency limit of the DXTaskManager object (Task Manager).
These transform interfaces produce a variety of image effects. Transform authors can also use them to create other transforms, or as graphics tools for DXSurfaces.
- IDXGradient
- This interface produces two-color gradient DXSurfaces.
- IDXTConvolution
- This interface performs convolution filtering on DXSurface images. The interface also enables you to define custom filters.
- IDXTScale
- This interface enables you to change the scale of an image or mesh along each of its axes.
Top of Page
© 2000 Microsoft and/or its suppliers. All rights reserved. Terms of Use.