Direct2D interfaces

Direct2D provides the following interfaces.

In this section

Topic Description
ID2D1AnalysisTransform
Supplies data to an analysis effect.
ID2D1Bitmap
Represents a bitmap that has been bound to an ID2D1RenderTarget.
ID2D1Bitmap1
Represents a bitmap that can be used as a surface for an ID2D1DeviceContext or mapped into system memory, and can contain additional color context information.
ID2D1BitmapBrush
Paints an area with a bitmap.
ID2D1BitmapBrush1
Paints an area with a bitmap.
ID2D1BitmapRenderTarget
Renders to an intermediate texture created by the CreateCompatibleRenderTarget method.
ID2D1BlendTransform
Provides methods to allow a blend operation to be inserted into a transform graph.
ID2D1BorderTransform
Extends the input rectangle to infinity using the specified extend modes.
ID2D1BoundsAdjustmentTransform
A support transform for effects to modify the output rectangle of the previous effect or bitmap.
ID2D1Brush
Defines an object that paints an area. Interfaces that derive from ID2D1Brush describe how the area is painted.
ID2D1ColorContext
Represents a color context that can be used with an ID2D1Bitmap1 object.
ID2D1ColorContext1
Represents a color context to be used with the Color Management Effect.
ID2D1CommandList
Represents a sequence of commands that can be recorded and played back.
ID2D1CommandSink
The command sink is implemented by you for an application when you want to receive a playback of the commands recorded in a command list. A typical usage will be for transforming the command list into another format such as XPS when some degree of conversion between the Direct2D primitives and the target format is required.
The command sink interface doesn't have any resource creation methods on it. The resources are still logically bound to the Direct2D device on which the command list was created and will be passed in to the command sink implementation.
ID2D1CommandSink1
This interface performs all the same functions as the existing ID2D1CommandSink interface. It also enables access to the new primitive blend modes, MIN and ADD, through its SetPrimitiveBlend1 method.
ID2D1CommandSink2
This interface performs all the same functions as the existing ID2D1CommandSink1 interface. It also enables access to ink rendering and gradient mesh rendering.
ID2D1CommandSink3
This interface performs all the same functions as the existing ID2D1CommandSink2 interface. It also enables access to sprite batch rendering.
ID2D1CommandSink4
This interface performs all the same functions as the existing ID2D1CommandSink3 interface. It also enables access to the new primitive blend mode, MAX, through the SetPrimitiveBlend2 method.
ID2D1CommandSink5
This interface performs all the same functions as the existing ID2D1CommandSink4 interface, plus it enables access to the BlendImage method.
ID2D1ComputeInfo
Enables specification of information for a compute-shader rendering pass.
ID2D1ComputeTransform
Defines a transform that uses a compute shader.
ID2D1ConcreteTransform
Represents the set of transforms implemented by the effect-rendering system, which provides fixed-functionality.
ID2D1DCRenderTarget
Issues drawing commands to a GDI device context.
ID2D1Device
Represents a resource domain whose objects and device contexts can be used together.
ID2D1Device1
Represents a resource domain whose objects and device contexts can be used together.
ID2D1Device2
Represents a resource domain whose objects and device contexts can be used together. This interface performs all the same functions as the existing ID2D1Device1 interface. It also enables the creation of ID2D1DeviceContext2 objects.
ID2D1Device3
Represents a resource domain whose objects and device contexts can be used together. This interface performs all the same functions as the ID2D1Device2 interface. It also enables the creation of ID2D1DeviceContext3 objects.
ID2D1Device4
Represents a resource domain whose objects and device contexts can be used together. This interface performs all the same functions as the ID2D1Device3 interface. It also enables the creation of ID2D1DeviceContext4 objects.
ID2D1Device5
Represents a resource domain whose objects and device contexts can be used together. This interface performs all the same functions as the ID2D1Device4 interface. It also enables the creation of ID2D1DeviceContext5 objects.
ID2D1Device6
Represents a resource domain whose objects and device contexts can be used together. This interface performs all the same functions as the ID2D1Device5 interface, plus it enables the creation of ID2D1DeviceContext6 objects.
ID2D1DeviceContext
Represents a set of state and command buffers that are used to render to a target.
ID2D1DeviceContext1
Enables creation and drawing of geometry realization objects.
ID2D1DeviceContext2
This interface performs all the same functions as the ID2D1DeviceContext1 interface, plus it enables functionality such as ink rendering, gradient mesh rendering, and improved image loading.
ID2D1DeviceContext3
This interface performs all the same functions as the ID2D1DeviceContext2 interface, plus it enables functionality for creating and drawing sprite batches.
ID2D1DeviceContext4
This interface performs all the same functions as the ID2D1DeviceContext3 interface, plus it enables functionality for handling new types of color font glyphs.
ID2D1DeviceContext5
This interface performs all the same functions as the ID2D1DeviceContext4 interface, plus it enables the creation of color contexts and Svg documents.
ID2D1DeviceContext6
This interface performs all the same functions as the existing ID2D1DeviceContext5 interface, plus it enables access to the BlendImage method.
ID2D1DrawInfo
This interface is used to describe a GPU rendering pass on a vertex or pixel shader. It is passed to ID2D1DrawTransform.
ID2D1DrawingStateBlock
Represents the drawing state of a render target: the antialiasing mode, transform, tags, and text-rendering options.
ID2D1DrawingStateBlock1
Implementation of a drawing state block that adds the functionality of primitive blend in addition to already existing antialias mode, transform, tags and text rendering mode.
ID2D1DrawTransform
A specialized implementation of the Shantzis calculations to a transform implemented on the GPU.
ID2D1Effect
Represents a basic image-processing construct in Direct2D.
ID2D1EffectContext
Provides factory methods and other state management for effect and transform authors.
ID2D1EffectContext1
Provides factory methods and other state management for effect and transform authors.
ID2D1EffectImpl
Allows a custom effect's interface and behavior to be specified by the effect author.
ID2D1EllipseGeometry
Represents an ellipse.
ID2D1Factory
Creates Direct2D resources.
ID2D1Factory1
Creates Direct2D resources.
ID2D1Factory2
Creates Direct2D resources.
This interface also enables the creation of ID2D1Device1 objects.
ID2D1Factory3
Creates Direct2D resources. This interface also enables the creation of ID2D1Device2 objects.
ID2D1Factory4
Creates Direct2D resources. This interface also enables the creation of ID2D1Device3 objects.
ID2D1Factory5
Creates Direct2D resources. This interface also enables the creation of ID2D1Device4 objects.
ID2D1Factory6
Creates Direct2D resources. This interface also enables the creation of ID2D1Device5 objects.
ID2D1Factory7
Creates Direct2D resources. This interface performs all the same functions as the ID2D1Factory6 interface, plus it enables the creation of ID2D1Device6 objects.
ID2D1GdiInteropRenderTarget
Provides access to an device context that can accept GDI drawing commands.
ID2D1GdiMetafile
A Direct2D resource that wraps a WMF, EMF, or EMF+ metafile.
ID2D1GdiMetafile1
This interface performs all the same functions as the existing ID2D1GdiMetafile interface. It also enables accessing the metafile DPI and bounds.
ID2D1GdiMetafileSink
A developer implemented interface that allows a metafile to be replayed.
ID2D1GdiMetafileSink1
This interface performs all the same functions as the existing ID2D1GdiMetafileSink interface. It also enables access to metafile records.
ID2D1Geometry
Represents a geometry resource and defines a set of helper methods for manipulating and measuring geometric shapes. Interfaces that inherit from ID2D1Geometry define specific shapes.
ID2D1GeometryGroup
Represents a composite geometry, composed of other ID2D1Geometry objects.
ID2D1GeometryRealization
Encapsulates a device- and transform-dependent representation of a filled or stroked geometry.
ID2D1GeometrySink
Describes a geometric path that can contain lines, arcs, cubic Bezier curves, and quadratic Bezier curves.
ID2D1GradientMesh
Represents a device-dependent representation of a gradient mesh composed of patches. Use the ID2D1DeviceContext2::CreateGradientMesh method to create an instance of ID2D1GradientMesh.
ID2D1GradientStopCollection
Represents an collection of D2D1_GRADIENT_STOP objects for linear and radial gradient brushes.
ID2D1GradientStopCollection1
Represents a collection of D2D1_GRADIENT_STOP objects for linear and radial gradient brushes. It provides get methods for all the new parameters added to the gradient stop collection.
ID2D1HwndRenderTarget
Renders drawing instructions to a window.
ID2D1Image
Represents a producer of pixels that can fill an arbitrary 2D plane.
ID2D1ImageBrush
Represents a brush based on an ID2D1Image.
ID2D1ImageSource
Represents a producer of pixels that can fill an arbitrary 2D plane.
ID2D1Layer
Represents the backing store required to render a layer.
ID2D1ImageSourceFromWic
Produces 2D pixel data that has been sourced from WIC.
ID2D1Ink
Represents a single continuous stroke of variable-width ink, as defined by a series of Bezier segments and widths.
ID2D1InkStyle
Represents a collection of style properties to be used by methods like ID2D1DeviceContext2::DrawInk when rendering ink. The ink style defines the nib (pen tip) shape and transform.
ID2D1LinearGradientBrush
Paints an area with a linear gradient.
ID2D1LookupTable3D
A container for 3D lookup table data that can be passed to the LookupTable3D effect.
ID2D1Mesh
Represents a set of vertices that form a list of triangles.
ID2D1Multithread
A locking mechanism from a Direct2D factory that Direct2D uses to control exclusive resource access in an app that is uses multiple threads.
ID2D1OffsetTransform
Instructs the effect-rendering system to offset an input bitmap without inserting a rendering pass.
ID2D1PathGeometry
Represents a complex shape that may be composed of arcs, curves, and lines.
ID2D1PathGeometry1
The ID2D1PathGeometry1 interface adds functionality to ID2D1PathGeometry. In particular, it provides the path geometry-specific ComputePointAndSegmentAtLength method.
ID2D1PrintControl
Converts Direct2D primitives stored in an ID2D1CommandList into a fixed page representation. The print sub-system then consumes the primitives.
ID2D1Properties
Represents a set of run-time bindable and discoverable properties that allow a data-driven application to modify the state of a Direct2D effect.
ID2D1RadialGradientBrush
Paints an area with a radial gradient.
ID2D1RectangleGeometry
Describes a two-dimensional rectangle.
ID2D1RenderInfo
Describes the render information common to all of the various transform implementations.
ID2D1RenderTarget
Represents an object that can receive drawing commands. Interfaces that inherit from ID2D1RenderTarget render the drawing commands they receive in different ways.
ID2D1Resource
Represents a Direct2D drawing resource.
ID2D1ResourceTexture
Tracks a transform-created resource texture.
ID2D1RoundedRectangleGeometry
Describes a rounded rectangle.
ID2D1SimplifiedGeometrySink
Describes a geometric path that does not contain quadratic bezier curves or arcs.
ID2D1SolidColorBrush
Paints an area with a solid color.
ID2D1SourceTransform
Represents a CPU-based rasterization stage in the transform pipeline graph.
ID2D1SpriteBatch
Represents a single group of sprites with their associated drawing properties.
ID2D1StrokeStyle
Describes the caps, miter limit, line join, and dash information for a stroke.
ID2D1StrokeStyle1
Describes the caps, miter limit, line join, and dash information for a stroke.
ID2D1SvgAttribute
Interface describing an SVG attribute.
ID2D1SvgDocument
Represents an SVG document.
ID2D1SvgElement
Interface for all SVG elements.
ID2D1SvgGlyphStyle
This object supplies the values for context-fill, context-stroke, and context-value that are used when rendering SVG glyphs.
ID2D1SvgPaint
Interface describing an SVG fill or stroke value.
ID2D1SvgPathData
Interface describing SVG path data. Path data can be set as the 'd' attribute on a 'path' element.
ID2D1SvgPointCollection
Interface describing an SVG points value in a polyline or polygon element.
ID2D1SvgStrokeDashArray
Interface describing an SVG stroke-dasharray value.
ID2D1TessellationSink
Populates an ID2D1Mesh object with triangles.
ID2D1Transform
Represents the base interface for all of the transforms implemented by the transform author.
ID2D1TransformedGeometry
Represents a geometry that has been transformed.
ID2D1TransformedImageSource
Represents an image source which shares resources with an original image source.
ID2D1TransformGraph
Represents a graph of transform nodes.
ID2D1TransformNode
Describes a node in a transform topology.
ID2D1VertexBuffer
Defines a mappable single-dimensional vertex buffer.