Filters Reference

This section contains reference information for Microsoft DirectX Transform filters.

Interfaces

Topic Contents
CDXBaseARGBPtr

The CDXBaseARGBPtr template class is used to simplify the creation of sample read pointers for procedural surfaces.

CDXBaseNTo1

You can use the CDXBaseNTo1 template base class to simplify transform development. This base class implements the necessary public interfaces, providing parameter validation and default implementations for most methods. An Active Template Library (ATL) object derived from this class can override a few virtual member functions, such as CDXBaseNTo1::OnExecute or CDXBaseNTo1::WorkProc, and quickly create a fully functional transform.

CDXBaseSurface

The CDXBaseSurface class is used to simplify the creation of procedural surfaces. An Active Template Library (ATL) Component Object Model (COM) object derived from this class inherits most of the default functionality of an object that can be used as both a transform and a surface. Procedural surfaces are usually created by calling the IDXSurfaceFactory::CreateSurface method, specifying the pFormatID parameter equal to the object's class identifier (CLSID), and specifying DXSF_FORMAT_IS_CLSID in the dwFlags parameter.

CDXBnds

The CDXBnds template class is used to simplify construction and manipulation of the DXBNDS structure.

CDXMMXInfo

This template class is used to determine when to call MMX-optimized code, which you would do when MMX instructions are present.

CDXScale

This template class uses a pre-computed lookup table to scale samples.

CDXTWorkInfoNTo1

The CDXTWorkInfoNTo1 class contains the information necessary to describe a rendering request to the CDXBaseNTo1::WorkProc method.

CDXVec

The CDXVec template class is used to simplify construction and manipulation of the DXVEC data type.

DXBASESAMPLE

Describes a color in 32-bit pixel format, consisting of relative red, green, blue, and alpha intensities.

DXPMSAMPLE

Describes a color in 32-bit pixel format, consisting of relative red, green, blue, and alpha intensities. In this class, the stored color values have been alpha premultiplied.

DXSAMPLE

Describes a color in 32-bit pixel format, consisting of relative red, green, blue, and alpha intensities.

ICSSFilterDispatch

Provides methods and properties to manipulate an effect.

IDXARGBReadPtr

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

IDXARGBReadWritePtr

The IDXARGBReadWritePtr interface enables Microsoft DirectX Transform objects to gain read/write access to samples contained in a DXSurface object.

IDXARGBSurfaceInit

The IDXARGBSurfaceInit interface initializes a DXSurface object created from a DirectDrawSurface or a buffer.

IDXBaseObject

The IDXBaseObject interface manages the generation ID of an object.

IDXBasicImage

Provides properties to support the BasicImage filter.

IDXDCLock

The IDXDCLock interface is used to lock a surface and to obtain a device context (DC) that can be used with Windows Graphics Device Interface (GDI) calls.

IDXDLUTBuilder

Provides properties to support an input DXSurface.

IDXEffect

This interface generically controls transition settings on all transform objects.

IDXGradient

The IDXGradient interface produces gradient images that fade gradually from one color to another.

IDXLookupTable

The IDXLookupTable interface changes the color balance for a set of samples. Each color in the pixel is used as an index in a table that indicates what the adjusted color value should be.

IDXLUTBuilder

This interface enables you to construct a lookup table for an input DXSurface. A lookup table is a set of four arrays of 256 numbers each, with one array for each color channel and one array for the alpha channel.

IDXRawSurface

The IDXRawSurface interface is used to implement custom surface types that are not based on Microsoft DirectDraw surfaces. These surface types are called custom raw surfaces. This interface enables a custom raw surface to be accessed as a DXSurface through the IDXSurface interface.

IDXSurface

The IDXSurface interface is used to access DXSurface objects, which store images.

IDXSurfaceFactory

The IDXSurfaceFactory interface provides methods to create and load data into DXSurface data objects.

IDXSurfaceInit

The IDXSurfaceInit interface initializes a DXSurface object of the specified bounding volume and pixel format created with the CoCreateInstance COM method.

IDXSurfaceModifier

The IDXSurfaceModifier interface is a procedural surface that uses up to two input surfaces. The methods of this interface set background colors, background surfaces, and foreground surfaces, which the DXSurfaceModifier object (Surface Modifier) uses to create another surface based on the options you set.

IDXSurfacePick

The IDXSurfacePick interface enables picking, which is the process of identifying which of the transform inputs contributed to the output at a given point.

IDXTaskManager

The IDXTaskManager interface enables you to configure the task manager to specify the thread pool size and the thread concurrency limit.

IDXTBindHost

This interface enables the container to specify which bind host to use, if your transform needs this service. The bind host is the interface supplied by the container that enables the client to open storage elements specified by a moniker—usually a URL moniker.

IDXTConvolution

This interface performs image convolutions for DXSurface objects.

IDXTransform

The IDXTransform interface is used to set up a transform and cause it to produce its graphics output. This interface is exposed on all Microsoft DirectX Transform objects created with the IDXTransformFactory::CreateTransform method.

IDXTransformFactory

The IDXTransformFactory interface creates and initializes a transform. It is created by calling the CoCreateInstance method and specifying CLSID_DXTransformFactory as the CLSID and IID_IDXTransformFactory as the interface ID.

IDXTScale

The IDXTScale interface controls how the transform scales the input data to produce the output surface and what filter type it should use. This interface inherits from the IUnknown interface.

IDXTScaleOutput

The IDXTScaleOutput interface is an optional interface supported by certain image transforms. It enables you to scale transform output to a specified size. It is typically supported by zero input image transforms, such as the Gradient sample included with the software development kit (SDK).

IHTMLDXTransform

Provides a method to set the host URL.

IObjectWithBehaviorSite

Provides methods to manipulate the behavior site.

 

Functions

Topic Contents
CreateMIMEMap

Creates a MIME mapping object.

DecodeImageEx

Decodes an image using a specified MIME type.

DXAPCPROC

Prototype for an asynchronous procedure call function that is called by a task manager.

DXApplyColorChannelLookupArray

Applies a color channel lookup table to an array of DXBASESAMPLE structures.

DXApplyLookupTable

Applies a lookup table to a single DXBASESAMPLE structure.

DXApplyLookupTableArray

Applies a lookup table to an array of DXBASESAMPLE structures.

DXBASESAMPLE_Alloca

Allocates an array of DXBASESAMPLE structures.

DXBitBlt

Copies a region of a DXSurface to a second DXSurface.

DXClipToOutputWithPlacement

Modifies a CDXDBnds class so that it is clipped by a clipping boundary.

DXColorFromBSTR

Converts a BSTR enumerated color to a 32-bit ARGB value.

DXCompositeOver

Composites an alpha premultiplied source sample over a destination sample.

DXCompositeUnder

Composites an alpha premultiplied source sample under a destination sample.

DXConstOverArray

Composites a single color over an array of samples.

DXConstUnderArray

Composites a single color under an array of samples.

DXConvertToGray

Converts a color sample to gray scale.

DXDitherArray

Dithers a specified array of samples.

DXFillSurface

Fills an entire DXSurface with a color.

DXFillSurfaceRect

Fills a region of a surface with a specified color.

DXGaussCoeff

Computes the coefficient for a Gaussian filter coordinate.

DXInitGaussianFilter

Initializes a Gaussian convolution filter.

DXInvertAlpha

Inverts the specified alpha value.

DXIsBadInterfacePtr

Verifies that the calling process has read access to the specified interface pointer.

DXIsBadReadPtr

Verifies that the calling process has read access to the specified range of memory.

DXIsBadWritePtr

Verifies that the calling process has write access to the specified range of memory.

DXLinearInterpolateArray

Uses linear interpolation to resize an array of samples.

DXOverArray

Composites an array of source samples over an array of destination samples.

DXOverArrayMMX

Composites an array of source samples over an array of destination samples, using the MMX instruction set for large arrays of samples.

DXPMSAMPLE_Alloca

Allocates an array of DXPMSAMPLE structures.

DXPreMultArray

Multiplies the color components of an array of samples by its alpha value.

DXPreMultSample

Multiplies the color components of a sample by its alpha value.

DXSAMPLE_Alloca

Allocates an array of DXSAMPLE structures.

DXSampleFromColorRef

Converts a COLORREF value to a DXSAMPLE structure format.

DXScalePremultArray

Scales the red, green, blue, and alpha channels in an array of samples of type DXPMSAMPLE.

DXScaleSample

Scales the red, green, blue, and alpha channels of a sample.

DXScaleSamplePercent

Scales the red, green, blue, and alpha channels of a sample by a specified percent.

DXSrcCopy

Copies a region of a source surface to a destination surface.

DXTASKPROC

Prototype for a task function that is called by the task manager.

DXUnPreMultArray

Converts an array of DXPMSAMPLE colors to DXSAMPLE format.

DXUnPreMultSample

Converts a DXPMSAMPLE color to DXSAMPLE format.

DXWeightedAverage

Produces a weighted average of two samples.

DXWeightedAverageArray

Produces a weighted average of two arrays of samples.

DXWeightedAverageArrayOver

Takes a weighted average of two sample arrays and composites the result over a third array.

 

Structures

Topic Contents
DXBNDS

Describes either a continuous or a discrete boundary for a transform object.

DXCBND

Describes a continuous, 32-bit boundary for a transform object.

DXCBND64

Describes a continuous, 64-bit boundary for a transform object.

DXDBND

Describes a discrete, 32-bit boundary for a transform object.

DXDBND64

Describes a discrete, 64-bit boundary for a transform object.

DXDITHERDESC

Contains the information needed by the DXDitherArray helper function to dither an array of sample.

DXLIMAPINFO

Describes sample indexes and weights used for linear interpolation.

DXNATIVETYPEINFO

Describes the underlying native pixel format of a DXSurface object.

DXOVERSAMPLEDESC

Describes a pixel to blend over another pixel.

DXPACKEDRECTDESC

Describes a rectangular array of pixels in a DXSurface object.

DXPtrFillInfo

Describes a fill operation that should be performed on procedural surfaces. It is used by the CDXBaseARGBPtr::FillSamples function.

DXRAWSURFACEINFO

Contains information needed by the IDXRawSurface interface to initialize a DXSurface from a custom raw surface.

DXRUNINFO

Describes run information associated with a DXSurface object.

DXTMTASKINFO

Describes a task to be performed by a DXTaskManager (task manager) object.

DXVEC

Describes either a continuous or a discrete four-dimensional (4-D) vector.

 

Enumerations

Topic Contents
DXBLTOPTIONS

Describes the methods to use when blitting an image onto a DXSurface.

DXBNDID

Identifies an axis for a surface boundary.

DXBNDTYPE

Identifies the data type within a DXBNDS union.

DXCOMPFUNC

Describes the method used for compositing by the Compositor transform.

DXCONVFILTERTYPE

Identifies a filter type to use with the IDXTConvolution interface.

DXEFFECTTYPE

Describes the type of effect used for a particular transform.

DXFILTERTYPE

Identifies a filtering algorithm to be used with the IDXTScale interface.

DXINOUTINFOFLAGS

Used by IDXTransform::GetInOutInfo to specify whether an input or output data object is required.

DXLOCKSURF

Determines how a surface should be locked by the IDXSurface::LockSurface method.

DXLUTCOLOR

Identifies which color balance is to be adjusted by a lookup table. It is used in the IDXLUTBuilder::GetColorBalance and IDXLUTBuilder::SetColorBalance methods.

DXRUNTYPE

Describes the opacity of a sample run in the DXRUNINFO structure.

DXSAMPLEFORMATENUM

Indicates the pixel format of a DXSurface object. This enumerated type is returned by the IDXARGBReadPtr::GetNativeType and IDXSurface::GetPixelFormat methods.

DXSFCREATE

Enables you to set special properties of DXSurface objects that are created with the IDXSurfaceFactory interface.

DXSURFMODCOMPOP

Describes the method used by the IDXSurfaceModifier interface for compositing operations.

DXSURFSTATUS

Describes general properties of a DXSurface object.

DXTFILTER_DISPID

Describes the dispid.

DXTFILTER_STATUS

Describes event status.

DXTMISCFLAGS

Describes flags that specify transform capabilities and rendering options.

OPIDDXLUTBUILDER

Lists the possible lookup table operations used by the lookup table builder interface, IDXLUTBuilder.