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 a 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 a 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. |