SharpDX.Direct2D1

Supplies data to an analysis effect.

This interface can be implemented by either an or an .

hh404347 ID2D1AnalysisTransform ID2D1AnalysisTransform
Supplies the analysis data to an analysis transform. The data that the transform will analyze. The output of the transform will be copied to CPU-accessible memory by the imaging effects system before being passed to the implementation.If this call fails, the corresponding instance is placed into an error state and fails to draw. HRESULT ID2D1AnalysisTransform::ProcessAnalysisResults([In, Buffer] const unsigned char* analysisData,[In] unsigned int analysisDataCount) Supplies the analysis data to an analysis transform. The data that the transform will analyze. The output of the transform will be copied to CPU-accessible memory by the imaging effects system before being passed to the implementation.If this call fails, the corresponding instance is placed into an error state and fails to draw. HRESULT ID2D1AnalysisTransform::ProcessAnalysisResults([In, Buffer] const unsigned char* analysisData,[In] unsigned int analysisDataCount) Supplies the analysis data to an analysis transform. The data that the transform will analyze. The output of the transform will be copied to CPU-accessible memory by the imaging effects system before being passed to the implementation.If this call fails, the corresponding instance is placed into an error state and fails to draw. HRESULT ID2D1AnalysisTransform::ProcessAnalysisResults([In, Buffer] const unsigned char* analysisData,[In] unsigned int analysisDataCount) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Supplies the analysis data to an analysis transform.

The data that the transform will analyze.

The size of the analysis data.

If the method succeeds, it returns . If it fails, it returns an error code.

The output of the transform will be copied to CPU-accessible memory by the imaging effects system before being passed to the implementation.

If this call fails, the corresponding instance is placed into an error state and fails to draw.

hh404348 HRESULT ID2D1AnalysisTransform::ProcessAnalysisResults([In, Buffer] const void* analysisData,[In] unsigned int analysisDataCount) ID2D1AnalysisTransform::ProcessAnalysisResults
The assembly provides managed API for , and . ee663274 Direct2D1 / DirectWrite Direct2D1 / DirectWrite

Represents a bitmap that has been bound to an .

dd371109 ID2D1Bitmap ID2D1Bitmap
Creates a Direct2D bitmap from a pointer to in-memory source data. an instance of The dimension of the bitmap to create in pixels. dd371800 HRESULT ID2D1RenderTarget::CreateBitmap([In] D2D_SIZE_U size,[In, Optional] const void* srcData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) ID2D1RenderTarget::CreateBitmap Creates a Direct2D bitmap from a pointer to in-memory source data. an instance of The dimension of the bitmap to create in pixels. The pixel format and dots per inch (DPI) of the bitmap to create. dd371800 HRESULT ID2D1RenderTarget::CreateBitmap([In] D2D_SIZE_U size,[In, Optional] const void* srcData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) ID2D1RenderTarget::CreateBitmap Creates a Direct2D bitmap from a pointer to in-memory source data. an instance of The dimension of the bitmap to create in pixels. A pointer to the memory location of the image data, or NULL to create an uninitialized bitmap. The byte count of each scanline, which is equal to (the image width in pixels * the number of bytes per pixel) + memory padding. If srcData is NULL, this value is ignored. (Note that pitch is also sometimes called stride.) dd371800 HRESULT ID2D1RenderTarget::CreateBitmap([In] D2D_SIZE_U size,[In, Optional] const void* srcData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) ID2D1RenderTarget::CreateBitmap Creates a Direct2D bitmap from a pointer to in-memory source data. an instance of The dimension of the bitmap to create in pixels. A pointer to the memory location of the image data, or NULL to create an uninitialized bitmap. The byte count of each scanline, which is equal to (the image width in pixels * the number of bytes per pixel) + memory padding. If srcData is NULL, this value is ignored. (Note that pitch is also sometimes called stride.) The pixel format and dots per inch (DPI) of the bitmap to create. dd371800 HRESULT ID2D1RenderTarget::CreateBitmap([In] D2D_SIZE_U size,[In, Optional] const void* srcData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) ID2D1RenderTarget::CreateBitmap Creates an whose data is shared with another resource. an instance of An that contains the data to share with the new ID2D1Bitmap. For more information, see the Remarks section. dd371865 HRESULT ID2D1RenderTarget::CreateSharedBitmap([In] const GUID& riid,[In] void* data,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) ID2D1RenderTarget::CreateSharedBitmap Creates an whose data is shared with another resource. an instance of An that contains the data to share with the new ID2D1Bitmap. For more information, see the Remarks section. The pixel format and DPI of the bitmap to create . The portion of the pixel format must match the of data or the method will fail, but the alpha modes don't have to match. To prevent a mismatch, you can pass NULL or the value obtained from the {{D2D1::PixelFormat}} helper function. The DPI settings do not have to match those of data. If both dpiX and dpiY are 0.0f, the default DPI, 96, is used. dd371865 HRESULT ID2D1RenderTarget::CreateSharedBitmap([In] const GUID& riid,[In] void* data,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) ID2D1RenderTarget::CreateSharedBitmap Creates an whose data is shared with another resource. an instance of An that contains the data to share with the new ID2D1Bitmap. For more information, see the Remarks section. dd371865 HRESULT ID2D1RenderTarget::CreateSharedBitmap([In] const GUID& riid,[In] void* data,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) ID2D1RenderTarget::CreateSharedBitmap Creates an whose data is shared with another resource. an instance of An that contains the data to share with the new ID2D1Bitmap. For more information, see the Remarks section. The pixel format and DPI of the bitmap to create . The portion of the pixel format must match the of data or the method will fail, but the alpha modes don't have to match. To prevent a mismatch, you can pass NULL or the value obtained from the {{D2D1::PixelFormat}} helper function. The DPI settings do not have to match those of data. If both dpiX and dpiY are 0.0f, the default DPI, 96, is used. dd371865 HRESULT ID2D1RenderTarget::CreateSharedBitmap([In] const GUID& riid,[In] void* data,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) ID2D1RenderTarget::CreateSharedBitmap Creates an that points to the bitmap data already stored in the . An instance of . An that contains the data to share with the new . dd371865 HRESULT ID2D1RenderTarget::CreateSharedBitmap([In] const GUID& riid,[In] void* data,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) ID2D1RenderTarget::CreateSharedBitmap Creates an that points to the bitmap data already stored in the . An instance of . An that contains the data to share with the new . The pixel format and DPI of the bitmap to create . The portion of the pixel format must match the of data or the method will fail, but the alpha modes don't have to match. To prevent a mismatch, you can pass NULL or the value obtained from the {{D2D1::PixelFormat}} helper function. The DPI settings do not have to match those of data. If both dpiX and dpiY are 0.0f, the default DPI, 96, is used. dd371865 HRESULT ID2D1RenderTarget::CreateSharedBitmap([In] const GUID& riid,[In] void* data,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) ID2D1RenderTarget::CreateSharedBitmap Creates a Direct2D bitmap from a pointer to in-memory source data. an instance of The dimension of the bitmap to create in pixels. A pointer to an array of pixel data. The size of the array must be equal to sizeof(pixel) * Size.Width * Height. The pixel format and dots per inch (DPI) of the bitmap to create. dd371800 HRESULT ID2D1RenderTarget::CreateBitmap([In] D2D_SIZE_U size,[In, Optional] const void* srcData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) ID2D1RenderTarget::CreateBitmap Creates a Bitmap from a WIC bitmap. The render target. A reference to a WIC bitmap. dd371797 HRESULT ID2D1RenderTarget::CreateBitmapFromWicBitmap([In] IWICBitmapSource* wicBitmapSource,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out] ID2D1Bitmap** bitmap) ID2D1RenderTarget::CreateBitmapFromWicBitmap Creates a Bitmap from a WIC bitmap. The render target. The WIC bitmap. The bitmap properties. dd371797 HRESULT ID2D1RenderTarget::CreateBitmapFromWicBitmap([In] IWICBitmapSource* wicBitmapSource,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out] ID2D1Bitmap** bitmap) ID2D1RenderTarget::CreateBitmapFromWicBitmap Copies the specified region from the specified bitmap into the current bitmap. This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. The bitmap to copy from. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. dd371152 HRESULT ID2D1Bitmap::CopyFromBitmap([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_U* srcRect) ID2D1Bitmap::CopyFromBitmap Copies the specified region from the specified bitmap into the current bitmap. This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. The bitmap to copy from. In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. dd371152 HRESULT ID2D1Bitmap::CopyFromBitmap([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_U* srcRect) ID2D1Bitmap::CopyFromBitmap Copies the specified region from the specified bitmap into the current bitmap. This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. The bitmap to copy from. The area of bitmap to copy. In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. dd371152 HRESULT ID2D1Bitmap::CopyFromBitmap([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_U* srcRect) ID2D1Bitmap::CopyFromBitmap Copies the specified region from memory into the current bitmap. This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. The data to copy. The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. dd371155 HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) ID2D1Bitmap::CopyFromMemory Copies the specified region from memory into the current bitmap. This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. The data to copy. The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. dd371155 HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) ID2D1Bitmap::CopyFromMemory Copies the specified region from memory into the current bitmap. This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. The data to copy. The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. dd371155 HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) ID2D1Bitmap::CopyFromMemory Copies the specified region from memory into the current bitmap. This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. The data to copy. The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. dd371155 HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) ID2D1Bitmap::CopyFromMemory Copies the specified region from memory into the current bitmap. This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. The data to copy. The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. dd371155 HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) ID2D1Bitmap::CopyFromMemory Copies the specified region from memory into the current bitmap. This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. The data to copy. The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. dd371155 HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) ID2D1Bitmap::CopyFromMemory Copies the specified region from the specified render target into the current bitmap. This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. All clips and layers must be popped off of the render target before calling this method. The method returns {{D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT}} if any clips or layers are currently applied to the render target. The render target that contains the region to copy. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. dd371158 HRESULT ID2D1Bitmap::CopyFromRenderTarget([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1RenderTarget* renderTarget,[In, Optional] const D2D_RECT_U* srcRect) ID2D1Bitmap::CopyFromRenderTarget Copies the specified region from the specified render target into the current bitmap. This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. All clips and layers must be popped off of the render target before calling this method. The method returns {{D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT}} if any clips or layers are currently applied to the render target. The render target that contains the region to copy. In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. dd371158 HRESULT ID2D1Bitmap::CopyFromRenderTarget([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1RenderTarget* renderTarget,[In, Optional] const D2D_RECT_U* srcRect) ID2D1Bitmap::CopyFromRenderTarget Copies the specified region from the specified render target into the current bitmap. This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. All clips and layers must be popped off of the render target before calling this method. The method returns {{D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT}} if any clips or layers are currently applied to the render target. The render target that contains the region to copy. In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. The area of renderTarget to copy. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. dd371158 HRESULT ID2D1Bitmap::CopyFromRenderTarget([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1RenderTarget* renderTarget,[In, Optional] const D2D_RECT_U* srcRect) ID2D1Bitmap::CopyFromRenderTarget Copies the specified region from a stream into the current bitmap. This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. The stream to copy the data from. Length in bytes of the data to copy from the stream. The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. dd371155 HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) ID2D1Bitmap::CopyFromMemory Copies the specified region from a stream into the current bitmap. This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match. Passing this method invalid input, such as an invalid destination rectangle, can produce unpredictable results, such as a distorted image or device failure. Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to {{EndDraw}} or {{Flush}}. The stream to copy the data from. Length in bytes of the data to copy from the stream. The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding. In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. dd371155 HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) ID2D1Bitmap::CopyFromMemory Return the dots per inch (DPI) of the bitmap. The dots per inch (DPI) of the bitmap. Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Returns the size, in device-independent pixels (DIPs), of the bitmap.

A DIP is 1/96?of an inch. To retrieve the size in device pixels, use the method.

dd371170 GetSize GetSize D2D_SIZE_F ID2D1Bitmap::GetSize()

Returns the size, in device-dependent units (pixels), of the bitmap.

dd371167 GetPixelSize GetPixelSize D2D_SIZE_U ID2D1Bitmap::GetPixelSize()

Retrieves the pixel format and alpha mode of the bitmap.

dd371164 GetPixelFormat GetPixelFormat D2D1_PIXEL_FORMAT ID2D1Bitmap::GetPixelFormat()

Returns the size, in device-independent pixels (DIPs), of the bitmap.

The size, in DIPs, of the bitmap.

A DIP is 1/96?of an inch. To retrieve the size in device pixels, use the method.

dd371170 D2D_SIZE_F ID2D1Bitmap::GetSize() ID2D1Bitmap::GetSize

Returns the size, in device-dependent units (pixels), of the bitmap.

The size, in pixels, of the bitmap.

dd371167 D2D_SIZE_U ID2D1Bitmap::GetPixelSize() ID2D1Bitmap::GetPixelSize

Retrieves the pixel format and alpha mode of the bitmap.

The pixel format and alpha mode of the bitmap.

dd371164 D2D1_PIXEL_FORMAT ID2D1Bitmap::GetPixelFormat() ID2D1Bitmap::GetPixelFormat

Return the dots per inch (DPI) of the bitmap.

The horizontal DPI of the image. You must allocate storage for this parameter.

The vertical DPI of the image. You must allocate storage for this parameter.

dd371161 void ID2D1Bitmap::GetDpi([Out] float* dpiX,[Out] float* dpiY) ID2D1Bitmap::GetDpi

Copies the specified region from the specified bitmap into the current bitmap.

In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied.

The bitmap to copy from.

The area of bitmap to copy.

If this method succeeds, it returns . Otherwise, it returns an error code.

This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match.

Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to EndDraw or Flush.

Starting with Windows?8.1, this method supports block compressed bitmaps. If you are using a block compressed format, the end coordinates of the srcRect parameter must be multiples of 4 or the method returns E_INVALIDARG.

dd371152 HRESULT ID2D1Bitmap::CopyFromBitmap([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_U* srcRect) ID2D1Bitmap::CopyFromBitmap

Copies the specified region from the specified render target into the current bitmap.

In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied.

The render target that contains the region to copy.

The area of renderTarget to copy.

If this method succeeds, it returns . Otherwise, it returns an error code.

This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion, and will fail if the bitmap formats do not match.

Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to EndDraw or Flush.

All clips and layers must be popped off of the render target before calling this method. The method returns if any clips or layers are currently applied to the render target.

dd371158 HRESULT ID2D1Bitmap::CopyFromRenderTarget([In, Optional] const D2D_POINT_2U* destPoint,[In] ID2D1RenderTarget* renderTarget,[In, Optional] const D2D_RECT_U* srcRect) ID2D1Bitmap::CopyFromRenderTarget

Copies the specified region from memory into the current bitmap.

In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied.

The data to copy.

The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding.

If this method succeeds, it returns . Otherwise, it returns an error code.

This method does not update the size of the current bitmap. If the contents of the source bitmap do not fit in the current bitmap, this method fails. Also, note that this method does not perform format conversion; the two bitmap formats should match.

If this method is passed invalid input (such as an invalid destination rectangle), can produce unpredictable results, such as a distorted image or device failure.

Calling this method may cause the current batch to flush if the bitmap is active in the batch. If the batch that was flushed does not complete successfully, this method fails. However, this method does not clear the error state of the render target on which the batch was flushed. The failing and tag state will be returned at the next call to EndDraw or Flush.

Starting with Windows?8.1, this method supports block compressed bitmaps. If you are using a block compressed format, the end coordinates of the srcRect parameter must be multiples of 4 or the method returns E_INVALIDARG.

dd371155 HRESULT ID2D1Bitmap::CopyFromMemory([In, Optional] const D2D_RECT_U* dstRect,[In] const void* srcData,[In] unsigned int pitch) ID2D1Bitmap::CopyFromMemory

Represents a bitmap that can be used as a surface for an or mapped into system memory, and can contain additional color context information.

hh404349 ID2D1Bitmap1 ID2D1Bitmap1
Creates a Direct2D bitmap from a pointer to in-memory source data. an instance of The dimension of the bitmap to create in pixels. HRESULT ID2D1DeviceContext::CreateBitmap([In] D2D_SIZE_U size,[In, Buffer, Optional] const void* sourceData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES1* bitmapProperties,[Out, Fast] ID2D1Bitmap1** bitmap) Creates a Direct2D bitmap from a pointer to in-memory source data. an instance of The dimension of the bitmap to create in pixels. The pixel format and dots per inch (DPI) of the bitmap to create. HRESULT ID2D1DeviceContext::CreateBitmap([In] D2D_SIZE_U size,[In, Buffer, Optional] const void* sourceData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES1* bitmapProperties,[Out, Fast] ID2D1Bitmap1** bitmap) Creates a Direct2D bitmap from a pointer to in-memory source data. an instance of The dimension of the bitmap to create in pixels. A pointer to the memory location of the image data, or NULL to create an uninitialized bitmap. The byte count of each scanline, which is equal to (the image width in pixels * the number of bytes per pixel) + memory padding. If srcData is NULL, this value is ignored. (Note that pitch is also sometimes called stride.) HRESULT ID2D1DeviceContext::CreateBitmap([In] D2D_SIZE_U size,[In, Buffer, Optional] const void* sourceData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES1* bitmapProperties,[Out, Fast] ID2D1Bitmap1** bitmap) Creates a Direct2D bitmap from a pointer to in-memory source data. an instance of The dimension of the bitmap to create in pixels. A pointer to the memory location of the image data, or NULL to create an uninitialized bitmap. The byte count of each scanline, which is equal to (the image width in pixels * the number of bytes per pixel) + memory padding. If srcData is NULL, this value is ignored. (Note that pitch is also sometimes called stride.) The pixel format and dots per inch (DPI) of the bitmap to create. HRESULT ID2D1DeviceContext::CreateBitmap([In] D2D_SIZE_U size,[In, Buffer, Optional] const void* sourceData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES1* bitmapProperties,[Out, Fast] ID2D1Bitmap1** bitmap) Creates an whose data is shared with another resource. an instance of An that contains the data to share with the new ID2D1Bitmap. For more information, see the Remarks section. HRESULT ID2D1DeviceContext::CreateBitmapFromDxgiSurface([In] IDXGISurface* surface,[In, Optional] const D2D1_BITMAP_PROPERTIES1* bitmapProperties,[Out, Fast] ID2D1Bitmap1** bitmap1) Creates an whose data is shared with another resource. an instance of An that contains the data to share with the new ID2D1Bitmap. For more information, see the Remarks section. The pixel format and DPI of the bitmap to create . The portion of the pixel format must match the of data or the method will fail, but the alpha modes don't have to match. To prevent a mismatch, you can pass NULL or the value obtained from the {{D2D1::PixelFormat}} helper function. The DPI settings do not have to match those of data. If both dpiX and dpiY are 0.0f, the default DPI, 96, is used. HRESULT ID2D1DeviceContext::CreateBitmapFromDxgiSurface([In] IDXGISurface* surface,[In, Optional] const D2D1_BITMAP_PROPERTIES1* bitmapProperties,[Out, Fast] ID2D1Bitmap1** bitmap1) Creates a Bitmap from a WIC bitmap. The render target. A reference to a WIC bitmap. HRESULT ID2D1DeviceContext::CreateBitmapFromWicBitmap([In] IWICBitmapSource* wicBitmapSource,[In, Optional] const D2D1_BITMAP_PROPERTIES1* bitmapProperties,[Out] ID2D1Bitmap1** bitmap) Creates a Bitmap from a WIC bitmap. The render target. The WIC bitmap. The bitmap properties. HRESULT ID2D1DeviceContext::CreateBitmapFromWicBitmap([In] IWICBitmapSource* wicBitmapSource,[In, Optional] const D2D1_BITMAP_PROPERTIES1* bitmapProperties,[Out] ID2D1Bitmap1** bitmap) Maps the given bitmap into memory. The options used in mapping the bitmap into memory. a reference to the rectangle that is mapped into memory The bitmap must have been created with the flag specified.The caller should try to unmap the memory as quickly as is feasible to release occupied DMA aperture memory. HRESULT ID2D1Bitmap1::Map([In] D2D1_MAP_OPTIONS options,[Out] D2D1_MAPPED_RECT* mappedRect) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the color context information associated with the bitmap.

If the bitmap was created without specifying a color context, the returned context is null.

hh404350 GetColorContext GetColorContext void ID2D1Bitmap1::GetColorContext([Out, Optional] ID2D1ColorContext** colorContext)

Gets the options used in creating the bitmap.

hh404351 GetOptions GetOptions D2D1_BITMAP_OPTIONS ID2D1Bitmap1::GetOptions()

Gets either the surface that was specified when the bitmap was created, or the default surface created when the bitmap was created.

The bitmap used must have been created from a DXGI surface render target, a derived render target, or a device context created from an .

The returned surface can be used with Microsoft Direct3D or any other API that interoperates with shared surfaces. The application must transitively ensure that the surface is usable on the Direct3D device that is used in this context. For example, if using the surface with Direct2D then the Direct2D render target must have been created through or on a device context created on the same device.

hh404355 GetSurface GetSurface HRESULT ID2D1Bitmap1::GetSurface([Out, Optional] IDXGISurface** dxgiSurface)

Gets the color context information associated with the bitmap.

When this method returns, contains the address of a reference to the color context interface associated with the bitmap.

If the bitmap was created without specifying a color context, the returned context is null.

hh404350 void ID2D1Bitmap1::GetColorContext([Out, Optional] ID2D1ColorContext** colorContext) ID2D1Bitmap1::GetColorContext

Gets the options used in creating the bitmap.

This method returns the options used.

hh404351 D2D1_BITMAP_OPTIONS ID2D1Bitmap1::GetOptions() ID2D1Bitmap1::GetOptions

Gets either the surface that was specified when the bitmap was created, or the default surface created when the bitmap was created.

The underlying DXGI surface for the bitmap.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
Cannot draw with a bitmap that is currently bound as the target bitmap.

?

The bitmap used must have been created from a DXGI surface render target, a derived render target, or a device context created from an .

The returned surface can be used with Microsoft Direct3D or any other API that interoperates with shared surfaces. The application must transitively ensure that the surface is usable on the Direct3D device that is used in this context. For example, if using the surface with Direct2D then the Direct2D render target must have been created through or on a device context created on the same device.

hh404355 HRESULT ID2D1Bitmap1::GetSurface([Out, Optional] IDXGISurface** dxgiSurface) ID2D1Bitmap1::GetSurface

Maps the given bitmap into memory.

The options used in mapping the bitmap into memory.

When this method returns, contains a reference to the rectangle that is mapped into memory.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_INVALIDARGOne or more arguments are not valid
D3DERR_DEVICELOSTThe device has been lost but cannot be reset at this time.

?

Note??You can't use bitmaps for some purposes while mapped. Particularly, the method doesn't work if either the source or destination bitmap is mapped.?

The bitmap must have been created with the flag specified.

hh404357 HRESULT ID2D1Bitmap1::Map([In] D2D1_MAP_OPTIONS options,[Out] D2D1_MAPPED_RECT* mappedRect) ID2D1Bitmap1::Map

Unmaps the bitmap from memory.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_INVALIDARGOne or more arguments are not valid.
E_POINTERPointer is not valid.

?

Any memory returned from the Map call is now invalid and may be reclaimed by the operating system or used for other purposes.

The bitmap must have been previously mapped.

hh404359 HRESULT ID2D1Bitmap1::Unmap() ID2D1Bitmap1::Unmap

Paints an area with a bitmap.

A bitmap brush is used to fill a geometry with a bitmap. Like all brushes, it defines an infinite plane of content. Because bitmaps are finite, the brush relies on an "extend mode" to determine how the plane is filled horizontally and vertically.

dd371122 ID2D1BitmapBrush ID2D1BitmapBrush
Creates an from the specified bitmap. an instance of The bitmap contents of the new brush. HRESULT ID2D1RenderTarget::CreateBitmapBrush([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_BITMAP_BRUSH_PROPERTIES* bitmapBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1BitmapBrush** bitmapBrush) Creates an from the specified bitmap. an instance of The bitmap contents of the new brush. The extend modes and interpolation mode of the new brush, or NULL. If this parameter is NULL, the brush defaults to the horizontal and vertical extend modes and the interpolation mode. HRESULT ID2D1RenderTarget::CreateBitmapBrush([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_BITMAP_BRUSH_PROPERTIES* bitmapBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1BitmapBrush** bitmapBrush) Creates an from the specified bitmap. an instance of The bitmap contents of the new brush. The opacity and transform of the new brush, or NULL. If this parameter is NULL, the brush defaults to an opacity of 1.0f and its transform is the identity matrix. HRESULT ID2D1RenderTarget::CreateBitmapBrush([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_BITMAP_BRUSH_PROPERTIES* bitmapBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1BitmapBrush** bitmapBrush) Creates an from the specified bitmap. an instance of The bitmap contents of the new brush. The extend modes and interpolation mode of the new brush, or NULL. If this parameter is NULL, the brush defaults to the horizontal and vertical extend modes and the interpolation mode. The opacity and transform of the new brush, or NULL. If this parameter is NULL, the brush defaults to an opacity of 1.0f and its transform is the identity matrix. HRESULT ID2D1RenderTarget::CreateBitmapBrush([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_BITMAP_BRUSH_PROPERTIES* bitmapBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1BitmapBrush** bitmapBrush) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets or sets the method by which the brush horizontally tiles those areas that extend past its bitmap.

Like all brushes, defines an infinite plane of content. Because bitmaps are finite, it relies on an extend mode to determine how the plane is filled horizontally and vertically.

dd371128 GetExtendModeX / SetExtendModeX GetExtendModeX D2D1_EXTEND_MODE ID2D1BitmapBrush::GetExtendModeX()

Gets or sets the method by which the brush vertically tiles those areas that extend past its bitmap.

Like all brushes, defines an infinite plane of content. Because bitmaps are finite, it relies on an extend mode to determine how the plane is filled horizontally and vertically.

dd371132 GetExtendModeY / SetExtendModeY GetExtendModeY D2D1_EXTEND_MODE ID2D1BitmapBrush::GetExtendModeY()

Gets or sets the interpolation method used when the brush bitmap is scaled or rotated.

This method gets the interpolation mode of a bitmap, which is specified by the enumeration type. represents nearest neighbor filtering. It looks up the bitmap pixel nearest to the current rendering pixel and chooses its exact color. represents linear filtering, and interpolates a color from the four nearest bitmap pixels.

The interpolation mode of a bitmap also affects subpixel translations. In a subpixel translation, linear interpolation positions the bitmap more precisely to the application request, but blurs the bitmap in the process.

dd371134 GetInterpolationMode / SetInterpolationMode GetInterpolationMode D2D1_BITMAP_INTERPOLATION_MODE ID2D1BitmapBrush::GetInterpolationMode()

Gets or sets the bitmap source that this brush uses to paint.

dd371124 GetBitmap / SetBitmap GetBitmap void ID2D1BitmapBrush::GetBitmap([Out, Optional] ID2D1Bitmap** bitmap)

Specifies how the brush horizontally tiles those areas that extend past its bitmap.

A value that specifies how the brush horizontally tiles those areas that extend past its bitmap.

Sometimes, the bitmap for a bitmap brush doesn't completely fill the area being painted. When this happens, Direct2D uses the brush's horizontal (SetExtendModeX) and vertical (SetExtendModeY) extend mode settings to determine how to fill the remaining area.

The following illustration shows the results from every possible combination of the extend modes for an : (CLAMP), (WRAP), and D2D1_EXTEND_MIRROR (MIRROR).

dd371139 void ID2D1BitmapBrush::SetExtendModeX([In] D2D1_EXTEND_MODE extendModeX) ID2D1BitmapBrush::SetExtendModeX

Specifies how the brush vertically tiles those areas that extend past its bitmap.

A value that specifies how the brush vertically tiles those areas that extend past its bitmap.

Sometimes, the bitmap for a bitmap brush doesn't completely fill the area being painted. When this happens, Direct2D uses the brush's horizontal (SetExtendModeX) and vertical (SetExtendModeY) extend mode settings to determine how to fill the remaining area.

The following illustration shows the results from every possible combination of the extend modes for an : (CLAMP), (WRAP), and D2D1_EXTEND_MIRROR (MIRROR).

dd371142 void ID2D1BitmapBrush::SetExtendModeY([In] D2D1_EXTEND_MODE extendModeY) ID2D1BitmapBrush::SetExtendModeY

Specifies the interpolation mode used when the brush bitmap is scaled or rotated.

The interpolation mode used when the brush bitmap is scaled or rotated.

This method sets the interpolation mode for a bitmap, which is an enum value that is specified in the enumeration type. represents nearest neighbor filtering. It looks up the nearest bitmap pixel to the current rendering pixel and chooses its exact color. represents linear filtering, and interpolates a color from the four nearest bitmap pixels.

The interpolation mode of a bitmap also affects subpixel translations. In a subpixel translation, bilinear interpolation positions the bitmap more precisely to the application requests, but blurs the bitmap in the process.

dd371145 void ID2D1BitmapBrush::SetInterpolationMode([In] D2D1_BITMAP_INTERPOLATION_MODE interpolationMode) ID2D1BitmapBrush::SetInterpolationMode

Specifies the bitmap source that this brush uses to paint.

The bitmap source used by the brush.

This method specifies the bitmap source that this brush uses to paint. The bitmap is not resized or rescaled automatically to fit the geometry that it fills. The bitmap stays at its native size. To resize or translate the bitmap, use the SetTransform method to apply a transform to the brush.

The native size of a bitmap is the width and height in bitmap pixels, divided by the bitmap DPI. This native size forms the base tile of the brush. To tile a subregion of the bitmap, you must generate a new bitmap containing this subregion and use SetBitmap to apply it to the brush.

dd371136 void ID2D1BitmapBrush::SetBitmap([In, Optional] ID2D1Bitmap* bitmap) ID2D1BitmapBrush::SetBitmap

Gets the method by which the brush horizontally tiles those areas that extend past its bitmap.

A value that specifies how the brush horizontally tiles those areas that extend past its bitmap.

Like all brushes, defines an infinite plane of content. Because bitmaps are finite, it relies on an extend mode to determine how the plane is filled horizontally and vertically.

dd371128 D2D1_EXTEND_MODE ID2D1BitmapBrush::GetExtendModeX() ID2D1BitmapBrush::GetExtendModeX

Gets the method by which the brush vertically tiles those areas that extend past its bitmap.

A value that specifies how the brush vertically tiles those areas that extend past its bitmap.

Like all brushes, defines an infinite plane of content. Because bitmaps are finite, it relies on an extend mode to determine how the plane is filled horizontally and vertically.

dd371132 D2D1_EXTEND_MODE ID2D1BitmapBrush::GetExtendModeY() ID2D1BitmapBrush::GetExtendModeY

Gets the interpolation method used when the brush bitmap is scaled or rotated.

The interpolation method used when the brush bitmap is scaled or rotated.

This method gets the interpolation mode of a bitmap, which is specified by the enumeration type. represents nearest neighbor filtering. It looks up the bitmap pixel nearest to the current rendering pixel and chooses its exact color. represents linear filtering, and interpolates a color from the four nearest bitmap pixels.

The interpolation mode of a bitmap also affects subpixel translations. In a subpixel translation, linear interpolation positions the bitmap more precisely to the application request, but blurs the bitmap in the process.

dd371134 D2D1_BITMAP_INTERPOLATION_MODE ID2D1BitmapBrush::GetInterpolationMode() ID2D1BitmapBrush::GetInterpolationMode

Gets the bitmap source that this brush uses to paint.

When this method returns, contains the address to a reference to the bitmap with which this brush paints.

dd371124 void ID2D1BitmapBrush::GetBitmap([Out, Optional] ID2D1Bitmap** bitmap) ID2D1BitmapBrush::GetBitmap

Paints an area with a bitmap.

hh871447 ID2D1BitmapBrush1 ID2D1BitmapBrush1
Creates an from the specified bitmap. an instance of The bitmap contents of the new brush. HRESULT ID2D1DeviceContext::CreateBitmapBrush([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_BITMAP_BRUSH_PROPERTIES1* bitmapBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1BitmapBrush1** bitmapBrush) Creates an from the specified bitmap. an instance of The bitmap contents of the new brush. The extend modes and interpolation mode of the new brush, or NULL. If this parameter is NULL, the brush defaults to the horizontal and vertical extend modes and the interpolation mode. HRESULT ID2D1DeviceContext::CreateBitmapBrush([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_BITMAP_BRUSH_PROPERTIES1* bitmapBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1BitmapBrush1** bitmapBrush) Creates an from the specified bitmap. an instance of The bitmap contents of the new brush. The opacity and transform of the new brush, or NULL. If this parameter is NULL, the brush defaults to an opacity of 1.0f and its transform is the identity matrix. HRESULT ID2D1DeviceContext::CreateBitmapBrush([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_BITMAP_BRUSH_PROPERTIES1* bitmapBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1BitmapBrush1** bitmapBrush) Creates an from the specified bitmap. an instance of The bitmap contents of the new brush. The extend modes and interpolation mode of the new brush, or NULL. If this parameter is NULL, the brush defaults to the horizontal and vertical extend modes and the interpolation mode. The opacity and transform of the new brush, or NULL. If this parameter is NULL, the brush defaults to an opacity of 1.0f and its transform is the identity matrix. HRESULT ID2D1DeviceContext::CreateBitmapBrush([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_BITMAP_BRUSH_PROPERTIES1* bitmapBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1BitmapBrush1** bitmapBrush) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Returns or sets the current interpolation mode of the brush.

hh871448 GetInterpolationMode1 / SetInterpolationMode1 GetInterpolationMode1 D2D1_INTERPOLATION_MODE ID2D1BitmapBrush1::GetInterpolationMode1()

Sets the interpolation mode for the brush.

The mode to use.

hh871449 void ID2D1BitmapBrush1::SetInterpolationMode1([In] D2D1_INTERPOLATION_MODE interpolationMode) ID2D1BitmapBrush1::SetInterpolationMode1

Returns the current interpolation mode of the brush.

The current interpolation mode.

hh871448 D2D1_INTERPOLATION_MODE ID2D1BitmapBrush1::GetInterpolationMode1() ID2D1BitmapBrush1::GetInterpolationMode1

Describes the pixel format and dpi of a bitmap.

dd368075 D2D1_BITMAP_PROPERTIES D2D1_BITMAP_PROPERTIES
Initializes a new instance of the struct. The pixel format. Initializes a new instance of the struct. The pixel format. The dpi X. The dpi Y.

The bitmap's pixel format and alpha mode.

dd368075 D2D1_PIXEL_FORMAT pixelFormat D2D1_PIXEL_FORMAT pixelFormat

The horizontal dpi of the bitmap.

dd368075 float dpiX float dpiX

The vertical dpi of the bitmap.

dd368075 float dpiY float dpiY

This structure allows a to be created with bitmap options and color context information available.

If both dpiX and dpiY are 0, the dpi of the bitmap will be set to the desktop dpi if the device context is a windowed context, or 96 dpi for any other device context.

hh404275 D2D1_BITMAP_PROPERTIES1 D2D1_BITMAP_PROPERTIES1
Initializes a new instance of the class. Initializes a new instance of the struct. The pixel format. Initializes a new instance of the struct. The pixel format. The dpi X. The dpi Y. Initializes a new instance of the class. The pixel format. The dpi X. The dpi Y. The bitmap options. Initializes a new instance of the class. The pixel format. The dpi X. The dpi Y. The bitmap options. The color context. Gets or sets the color context. The color context. No documentation. hh404275 D2D1_PIXEL_FORMAT pixelFormat D2D1_PIXEL_FORMAT pixelFormat No documentation. hh404275 float dpiX float dpiX No documentation. hh404275 float dpiY float dpiY No documentation. hh404275 D2D1_BITMAP_OPTIONS bitmapOptions D2D1_BITMAP_OPTIONS bitmapOptions No documentation. hh404275 ID2D1ColorContext* colorContext ID2D1ColorContext colorContext

Renders to an intermediate texture created by the CreateCompatibleRenderTarget method.

An writes to an intermediate texture. It's useful for creating patterns for use with an or caching drawing data that will be used repeatedly.

To write directly to a WIC bitmap instead, use the method. This method returns an that writes to the specified WIC bitmap.

dd371146 ID2D1BitmapRenderTarget ID2D1BitmapRenderTarget
Creates a bitmap render target for use during intermediate offscreen drawing that is compatible with the current render target with same size, pixel size and pixel format. an instance of A value that specifies whether the new render target must be compatible with GDI. HRESULT CreateCompatibleRenderTarget([In, Optional] const D2D1_SIZE_F* desiredSize,[In, Optional] const D2D1_SIZE_U* desiredPixelSize,[In, Optional] const D2D1_PIXEL_FORMAT* desiredFormat,[None] D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options,[Out] ID2D1BitmapRenderTarget** bitmapRenderTarget) Creates a bitmap render target for use during intermediate offscreen drawing that is compatible with the current render target with same pixel size and pixel format. an instance of A value that specifies whether the new render target must be compatible with GDI. The desired size of the new render target in device-independent pixels if it should be different from the original render target. For more information, see the Remarks section. HRESULT CreateCompatibleRenderTarget([In, Optional] const D2D1_SIZE_F* desiredSize,[In, Optional] const D2D1_SIZE_U* desiredPixelSize,[In, Optional] const D2D1_PIXEL_FORMAT* desiredFormat,[None] D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options,[Out] ID2D1BitmapRenderTarget** bitmapRenderTarget) Creates a bitmap render target for use during intermediate offscreen drawing that is compatible with the current render target with same size and pixel size. an instance of The desired pixel format and alpha mode of the new render target. If the pixel format is set to DXGI_FORMAT_UNKNOWN, the new render target uses the same pixel format as the original render target. If the alpha mode is , the alpha mode of the new render target defaults to D2D1_ALPHA_MODE_PREMULTIPLIED. For information about supported pixel formats, see {{Supported Pixel Formats and Alpha Modes}}. A value that specifies whether the new render target must be compatible with GDI. HRESULT CreateCompatibleRenderTarget([In, Optional] const D2D1_SIZE_F* desiredSize,[In, Optional] const D2D1_SIZE_U* desiredPixelSize,[In, Optional] const D2D1_PIXEL_FORMAT* desiredFormat,[None] D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options,[Out] ID2D1BitmapRenderTarget** bitmapRenderTarget) Creates a bitmap render target for use during intermediate offscreen drawing that is compatible with the current render target. The pixel size and DPI of the new render target can be altered by specifying values for desiredSize or desiredPixelSize: If desiredSize is specified but desiredPixelSize is not, the pixel size is computed from the desired size using the parent target DPI. If the desiredSize maps to a integer-pixel size, the DPI of the compatible render target is the same as the DPI of the parent target. If desiredSize maps to a fractional-pixel size, the pixel size is rounded up to the nearest integer and the DPI for the compatible render target is slightly higher than the DPI of the parent render target. In all cases, the coordinate (desiredSize.width, desiredSize.height) maps to the lower-right corner of the compatible render target.If the desiredPixelSize is specified and desiredSize is not, the DPI of the new render target is the same as the original render target.If both desiredSize and desiredPixelSize are specified, the DPI of the new render target is computed to account for the difference in scale.If neither desiredSize nor desiredPixelSize is specified, the new render target size and DPI match the original render target. an instance of The desired size of the new render target in device-independent pixels if it should be different from the original render target. For more information, see the Remarks section. The desired size of the new render target in pixels if it should be different from the original render target. For more information, see the Remarks section. The desired pixel format and alpha mode of the new render target. If the pixel format is set to DXGI_FORMAT_UNKNOWN, the new render target uses the same pixel format as the original render target. If the alpha mode is , the alpha mode of the new render target defaults to D2D1_ALPHA_MODE_PREMULTIPLIED. For information about supported pixel formats, see {{Supported Pixel Formats and Alpha Modes}}. A value that specifies whether the new render target must be compatible with GDI. HRESULT CreateCompatibleRenderTarget([In, Optional] const D2D1_SIZE_F* desiredSize,[In, Optional] const D2D1_SIZE_U* desiredPixelSize,[In, Optional] const D2D1_PIXEL_FORMAT* desiredFormat,[None] D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options,[Out] ID2D1BitmapRenderTarget** bitmapRenderTarget) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves the bitmap for this render target. The returned bitmap can be used for drawing operations.

The DPI for the obtained from GetBitmap will be the DPI of the when the render target was created. Changing the DPI of the by calling SetDpi doesn't affect the DPI of the bitmap, even if SetDpi is called before GetBitmap. Using SetDpi to change the DPI of the does affect how contents are rendered into the bitmap: it just doesn't affect the DPI of the bitmap retrieved by GetBitmap.

dd371150 GetBitmap GetBitmap HRESULT ID2D1BitmapRenderTarget::GetBitmap([Out] ID2D1Bitmap** bitmap)

Retrieves the bitmap for this render target. The returned bitmap can be used for drawing operations.

When this method returns, contains the address of a reference to the bitmap for this render target. This bitmap can be used for drawing operations.

If this method succeeds, it returns . Otherwise, it returns an error code.

The DPI for the obtained from GetBitmap will be the DPI of the when the render target was created. Changing the DPI of the by calling SetDpi doesn't affect the DPI of the bitmap, even if SetDpi is called before GetBitmap. Using SetDpi to change the DPI of the does affect how contents are rendered into the bitmap: it just doesn't affect the DPI of the bitmap retrieved by GetBitmap.

dd371150 HRESULT ID2D1BitmapRenderTarget::GetBitmap([Out] ID2D1Bitmap** bitmap) ID2D1BitmapRenderTarget::GetBitmap

Provides methods to allow a blend operation to be inserted into a transform graph.

The image output of the blend transform is the same as rendering an image effect graph with these steps:

  • Copy the first input to the destination image.
  • Render the next input on top using the blend description.
  • Continue for each additional input.
hh404361 ID2D1BlendTransform ID2D1BlendTransform
Initializes a new instance of class The effect context The number of inputs. The blend description Initializes a new instance of class The effect context The number of inputs. The blend description Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets or sets the blend description of the corresponding blend transform object.

hh404363 GetDescription / SetDescription GetDescription void ID2D1BlendTransform::GetDescription([Out] D2D1_BLEND_DESCRIPTION* description)

Changes the blend description of the corresponding blend transform object.

The new blend description specified for the blend transform.

hh404365 void ID2D1BlendTransform::SetDescription([In] const D2D1_BLEND_DESCRIPTION* description) ID2D1BlendTransform::SetDescription

Gets the blend description of the corresponding blend transform object.

When this method returns, contains the blend description specified for the blend transform.

hh404363 void ID2D1BlendTransform::GetDescription([Out] D2D1_BLEND_DESCRIPTION* description) ID2D1BlendTransform::GetDescription

Extends the input rectangle to infinity using the specified extend modes.

hh404367 ID2D1BorderTransform ID2D1BorderTransform
Initializes a new instance of class The effect context The extend mode for X coordinates The extend mode for Y coordinates HRESULT ID2D1EffectContext::CreateBorderTransform([In] D2D1_EXTEND_MODE extendModeX,[In] D2D1_EXTEND_MODE extendModeY,[Out, Fast] ID2D1BorderTransform** transform) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets or sets the extend mode in the x direction.

hh404381 GetExtendModeX / SetExtendModeX GetExtendModeX D2D1_EXTEND_MODE ID2D1BorderTransform::GetExtendModeX()

Gets or sets the extend mode in the y direction.

hh404383 GetExtendModeY / SetExtendModeY GetExtendModeY D2D1_EXTEND_MODE ID2D1BorderTransform::GetExtendModeY()

Sets the extend mode in the x direction.

The extend mode in the x direction.

If the extend mode enumeration is invalid, this operation is ignored.

hh404385 void ID2D1BorderTransform::SetExtendModeX([In] D2D1_EXTEND_MODE extendMode) ID2D1BorderTransform::SetExtendModeX

Sets the extend mode in the y direction.

The extend mode in the y direction.

If the extend mode enumeration is invalid, this operation is ignored.

hh404387 void ID2D1BorderTransform::SetExtendModeY([In] D2D1_EXTEND_MODE extendMode) ID2D1BorderTransform::SetExtendModeY

Gets the extend mode in the x direction.

This method returns the extend mode in the x direction.

hh404381 D2D1_EXTEND_MODE ID2D1BorderTransform::GetExtendModeX() ID2D1BorderTransform::GetExtendModeX

Gets the extend mode in the y direction.

This method returns the extend mode in the y direction.

hh404383 D2D1_EXTEND_MODE ID2D1BorderTransform::GetExtendModeY() ID2D1BorderTransform::GetExtendModeY

A support transform for effects to modify the output rectangle of the previous effect or bitmap.

The support transform can be used for two different reasons.

  • To indicate that a region of its input image is already transparent black. The expanded area will be treated as transparent black.

    This can increase efficiency for rendering bitmaps.

  • To increase the size of the input image.

?

?

hh847963 ID2D1BoundsAdjustmentTransform ID2D1BoundsAdjustmentTransform
Initializes a new instance of class The effect context The output rectangle region used for this transformation HRESULT ID2D1EffectContext::CreateBoundsAdjustmentTransform([In] const RECT* outputRectangle,[Out, Fast] ID2D1BoundsAdjustmentTransform** transform) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

This sets the output bounds for the support transform.

The output bounds.

hh847965 void ID2D1BoundsAdjustmentTransform::SetOutputBounds([In] const RECT* outputBounds) ID2D1BoundsAdjustmentTransform::SetOutputBounds

Returns the output rectangle of the support transform.

The output bounds.

hh847964 void ID2D1BoundsAdjustmentTransform::GetOutputBounds([Out] RECT* outputBounds) ID2D1BoundsAdjustmentTransform::GetOutputBounds

Represents a color context that can be used with an object.

hh404388 ID2D1ColorContext ID2D1ColorContext
Initializes a new instance of class from a color profile. The effect context. The space of color context to create. No documentation. HRESULT ID2D1EffectContext::CreateColorContext([In] D2D1_COLOR_SPACE space,[In, Buffer, Optional] const unsigned char* profile,[In] unsigned int profileSize,[Out] ID2D1ColorContext** colorContext) Initializes a new instance of class from a filename. The effect context. The path to the file containing the profile bytes to initialize the color context with.. HRESULT ID2D1EffectContext::CreateColorContextFromFilename([In] const wchar_t* filename,[Out] ID2D1ColorContext** colorContext) Initializes a new instance of class from WIC color context. No documentation. No documentation. HRESULT ID2D1EffectContext::CreateColorContextFromWicColorContext([In] IWICColorContext* wicColorContext,[Out] ID2D1ColorContext** colorContext) Gets the profile data. Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the color space of the color context.

dn890780 GetColorSpace GetColorSpace D2D1_COLOR_SPACE ID2D1ColorContext::GetColorSpace()

Gets the size of the color profile associated with the bitmap.

This can be used to allocate a buffer to receive the color profile bytes associated with the context.

hh404390 GetProfileSize GetProfileSize unsigned int ID2D1ColorContext::GetProfileSize()

Gets the color space of the color context.

This method returns the color space of the contained ICC profile.

dn890780 D2D1_COLOR_SPACE ID2D1ColorContext::GetColorSpace() ID2D1ColorContext::GetColorSpace

Gets the size of the color profile associated with the bitmap.

This method returns the size of the profile in bytes.

This can be used to allocate a buffer to receive the color profile bytes associated with the context.

hh404390 unsigned int ID2D1ColorContext::GetProfileSize() ID2D1ColorContext::GetProfileSize

Gets the color profile bytes for an .

No documentation. No documentation.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
The supplied buffer was too small to accomodate the data.

?

If profileSize is insufficient to store the entire profile, profile is zero-initialized before this method fails.

hh404389 HRESULT ID2D1ColorContext::GetProfile([Out, Buffer] unsigned char* profile,[In] unsigned int profileSize) ID2D1ColorContext::GetProfile

This interface performs all the same functions as the interface, plus it enables functionality such as ink rendering, gradient mesh rendering, and improved image loading.

dn890789 ID2D1ColorContext1 ID2D1ColorContext1
Initializes a new instance of class from ColorSpaceType. No documentation. No documentation. HRESULT ID2D1DeviceContext5::CreateColorContextFromDxgiColorSpace([In] DXGI_COLOR_SPACE_TYPE colorSpace,[Out, Fast] ID2D1ColorContext1** colorContext) Initializes a new instance of class from SimpleColorProfile. No documentation. No documentation. HRESULT ID2D1DeviceContext5::CreateColorContextFromDxgiColorSpace([In] DXGI_COLOR_SPACE_TYPE colorSpace,[Out, Fast] ID2D1ColorContext1** colorContext) Initializes a new instance of class from ColorSpaceType. No documentation. No documentation. HRESULT ID2D1DeviceContext5::CreateColorContextFromDxgiColorSpace([In] DXGI_COLOR_SPACE_TYPE colorSpace,[Out, Fast] ID2D1ColorContext1** colorContext) Initializes a new instance of class from SimpleColorProfile. No documentation. No documentation. HRESULT ID2D1DeviceContext5::CreateColorContextFromDxgiColorSpace([In] DXGI_COLOR_SPACE_TYPE colorSpace,[Out, Fast] ID2D1ColorContext1** colorContext) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Represents a color context to be used with the Color Management Effect.

mt797797 GetColorContextType GetColorContextType D2D1_COLOR_CONTEXT_TYPE ID2D1ColorContext1::GetColorContextType()
No documentation. GetDXGIColorSpace GetDXGIColorSpace DXGI_COLOR_SPACE_TYPE ID2D1ColorContext1::GetDXGIColorSpace() No documentation. GetSimpleColorProfile GetSimpleColorProfile HRESULT ID2D1ColorContext1::GetSimpleColorProfile([Out] D2D1_SIMPLE_COLOR_PROFILE* simpleProfile)

Represents a color context to be used with the Color Management Effect.

No documentation. mt797797 D2D1_COLOR_CONTEXT_TYPE ID2D1ColorContext1::GetColorContextType() ID2D1ColorContext1::GetColorContextType
No documentation. No documentation. DXGI_COLOR_SPACE_TYPE ID2D1ColorContext1::GetDXGIColorSpace() ID2D1ColorContext1::GetDXGIColorSpace No documentation. No documentation. No documentation. HRESULT ID2D1ColorContext1::GetSimpleColorProfile([Out] D2D1_SIMPLE_COLOR_PROFILE* simpleProfile) ID2D1ColorContext1::GetSimpleColorProfile

Represents a sequence of commands that can be recorded and played back.

The command list does not include static copies of resources with the recorded set of commands. All bitmaps, effects, and geometries are stored as references to the actual resource and all the brushes are stored by value. All the resource creation and destruction happens outside of the command list. The following table lists resources and how they are treated inside of a command list.

ResourceHow it is treated by the command list
Solid-color brushPassed by value.
Bitmap brushThe brush is passed by value but the bitmap that is used to create the brush is in fact referenced.
Gradient brushes ? both linear and radial gradientThe brush is passed by value but the gradient stop collection itself is referenced. The gradient stop collection object is immutable.
BitmapsPassed by reference.
Drawing state blockThe actual state on the device context is converted into set functions like set transform and is passed by value.
GeometryImmutable object passed by value.
Stroke styleImmutable object passed by value.
MeshImmutable object passed by value.

?

hh404392 ID2D1CommandList ID2D1CommandList
Initializes a new instance of the class. The device context. Streams the contents of the command list to the specified command sink. The sink into which the command list will be streamed. Streams the contents of the command list to the specified command sink. The sink into which the command list will be streamed. Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Streams the contents of the command list to the specified command sink.

The sink into which the command list will be streamed.

If the method succeeds, it returns . If it fails, it returns an error code.

The return value indicates any failures the command sink implementation returns through its EndDraw method.

The command sink can be implemented by any caller of the API.

If the caller makes any design-time failure calls while a command list is selected as a target, the command list is placed in an error state. The stream call fails without making any calls to the passed in sink.

Sample use:

Class MyCommandSink : public 	
            {	
            public: // All of the  methods implemented here.	
            }; 	
            StreamToMyCommandSink( __in  *pCommandList  )	
            {  hr = ; MyCommandSink *pCommandSink = new MyCommandSink(); hr = pCommandSink ?  : E_OUTOFMEMORY; if (SUCCEEDED(hr)) { // Receive the contents of the command sink streamed to the sink. hr = pCommandList->Stream(pCommandSink); } SafeRelease(&pCommandSink); return hr; }
hh404393 HRESULT ID2D1CommandList::Stream([In] ID2D1CommandSink* sink) ID2D1CommandList::Stream

Instructs the command list to stop accepting commands so that you can use it as an input to an effect or in a call to . You should call the method after it has been attached to an and written to but before the command list is used.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
Close has already been called on the command list.

?

Note??If the device context associated with the command list has an error, the command list returns the same error.?

This method returns if it has already been called on the command list. If an error occurred on the device context during population, the method returns that error. Otherwise, the method returns .

If the Close method returns an error, any future use of the command list results in the same error.

hh871450 HRESULT ID2D1CommandList::Close() ID2D1CommandList::Close

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.

The can be implemented to receive a play-back of the commands recorded in a command list. This interface is typically used for transforming the command list into another format where some degree of conversion between the Direct2D primitives and the target format is required.

The interface does not have any resource creation methods. The resources are logically bound to the Direct2D device on which the was created and will be passed in to the implementation.

Not all methods implemented by are present.

hh404394 ID2D1CommandSink ID2D1CommandSink
Begins a draw sequence. HRESULT ID2D1CommandSink::BeginDraw() Ends a draw sequence. HRESULT ID2D1CommandSink::EndDraw() Sets the antialias mode. HRESULT ID2D1CommandSink::SetAntialiasMode([In] D2D1_ANTIALIAS_MODE antialiasMode) Sets tags. HRESULT ID2D1CommandSink::SetTags([In] unsigned longlong tag1,[In] unsigned longlong tag2) Sets the text antialias mode. HRESULT ID2D1CommandSink::SetTextAntialiasMode([In] D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode) Sets the parameters for text rendering. HRESULT ID2D1CommandSink::SetTextRenderingParams([In, Optional] IDWriteRenderingParams* textRenderingParams) Sets the matrix transform. The transform will be applied to the corresponding device context. HRESULT ID2D1CommandSink::SetTransform([In] const D2D_MATRIX_3X2_F* transform) Sets the blending for primitives. HRESULT ID2D1CommandSink::SetPrimitiveBlend([In] D2D1_PRIMITIVE_BLEND primitiveBlend) Sets the unit mode HRESULT ID2D1CommandSink::SetUnitMode([In] D2D1_UNIT_MODE unitMode) [This documentation is preliminary and is subject to change.] The color to which the command sink should be cleared. The clear color is restricted by the currently selected clip and layer bounds.If no color is specified, the color should be interpreted by context. Examples include but are not limited to:Transparent black for a premultiplied bitmap target. Opaque black for an ignore bitmap target. Containing no content (or white) for a printer page. HRESULT ID2D1CommandSink::Clear([In, Optional] const D2D_COLOR_F* color) [This documentation is preliminary and is subject to change.] The sequence of glyphs to be sent. Additional non-rendering information about the glyphs. The brush used to fill the glyphs. The measuring mode to apply to the glyphs. No documentation. HRESULT ID2D1CommandSink::DrawGlyphRun([In] D2D_POINT_2F baselineOrigin,[In] const DWRITE_GLYPH_RUN* glyphRun,[In, Optional] const DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription,[In] ID2D1Brush* foregroundBrush,[In] DWRITE_MEASURING_MODE measuringMode) [This documentation is preliminary and is subject to change.] The start point of the line. The end point of the line. The brush used to fill the line. The width of the stroke to fill the line. The style of the stroke. If not specified, the stroke is solid. Additional References HRESULT ID2D1CommandSink::DrawLine([In] D2D_POINT_2F point0,[In] D2D_POINT_2F point1,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) [This documentation is preliminary and is subject to change.] The geometry to be stroked. The brush that will be used to fill the stroked geometry. The width of the stroke. The style of the stroke. You must convert ellipses and rounded rectangles to the corresponding ellipse and rounded rectangle geometries before calling into the DrawGeometry method.Additional ReferencesID2D1CommandList::Stream, RequirementsMinimum supported operating systemSame as Interface / Class Highest IRQL levelN/A (user mode) Callable from DlllMain()No Callable from services and session 0Yes Callable from UI threadYes? HRESULT ID2D1CommandSink::DrawGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1CommandSink::DrawRectangle([In] const D2D_RECT_F* rect,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1CommandSink::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_F* destinationRectangle,[In] float opacity,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D_RECT_F* sourceRectangle,[In, Optional] const D2D_MATRIX_4X4_F* perspectiveTransform) [This documentation is preliminary and is subject to change.] The image to be drawn to the command sink. This defines the offset in the destination space that the image will be rendered to. The entire logical extent of the image will be rendered to the corresponding destination. If not specified, the destination origin will be (0, 0). The top-left corner of the image will be mapped to the target offset. This will not necessarily be the origin. The corresponding rectangle in the image space will be mapped to the provided origins when processing the image. The interpolation mode that will be used to scale the image if necessary. If specified, the composite mode that will be applied to the limits of the currently selected clip. Because the image can itself be a command list or contain an effect graph that in turn contains a command list, this method can result in recursive processing. HRESULT ID2D1CommandSink::DrawImage([In] ID2D1Image* image,[In, Optional] const D2D_POINT_2F* targetOffset,[In, Optional] const D2D_RECT_F* imageRectangle,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In] D2D1_COMPOSITE_MODE compositeMode) No documentation. No documentation. No documentation. HRESULT ID2D1CommandSink::DrawGdiMetafile([In] ID2D1GdiMetafile* gdiMetafile,[In, Optional] const D2D_POINT_2F* targetOffset) [This documentation is preliminary and is subject to change.] The mesh object to be filled. The brush with which to fill the mesh. HRESULT ID2D1CommandSink::FillMesh([In] ID2D1Mesh* mesh,[In] ID2D1Brush* brush) [This documentation is preliminary and is subject to change.] The bitmap whose alpha channel will be sampled to define the opacity mask. The brush with which to fill the mask. The type of content that the mask represents. The destination rectangle in which to fill the mask. If not specified, this is the origin. The opacity mask bitmap must be considered to be clamped on each axis. HRESULT ID2D1CommandSink::FillOpacityMask([In] ID2D1Bitmap* opacityMask,[In] ID2D1Brush* brush,[In, Optional] const D2D_RECT_F* destinationRectangle,[In, Optional] const D2D_RECT_F* sourceRectangle) [This documentation is preliminary and is subject to change.] The geometry that should be filled. The primary brush used to fill the geometry. A brush whose alpha channel is used to modify the opacity of the primary fill brush. If the opacity brush is specified, the primary brush will be a bitmap brush fixed on both the x-axis and the y-axis.Ellipses and rounded rectangles are converted to the corresponding geometry before being passed to FillGeometry. HRESULT ID2D1CommandSink::FillGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[In, Optional] ID2D1Brush* opacityBrush) [This documentation is preliminary and is subject to change.] The rectangle to fill. The brush with which to fill the rectangle. HRESULT ID2D1CommandSink::FillRectangle([In] const D2D_RECT_F* rect,[In] ID2D1Brush* brush) [This documentation is preliminary and is subject to change.] The rectangle that defines the clip. Whether the given clip should be antialiased. If the current world transform is not preserving the axis, clipRectangle is transformed and the bounds of the transformed rectangle are used instead. HRESULT ID2D1CommandSink::PushAxisAlignedClip([In] const D2D_RECT_F* clipRect,[In] D2D1_ANTIALIAS_MODE antialiasMode) No documentation. No documentation. No documentation. HRESULT ID2D1CommandSink::PushLayer([In] const D2D1_LAYER_PARAMETERS1* layerParameters1,[In, Optional] ID2D1Layer* layer) [This documentation is preliminary and is subject to change.] HRESULT ID2D1CommandSink::PopAxisAlignedClip() No documentation. HRESULT ID2D1CommandSink::PopLayer()

This interface performs all the same functions as the existing interface. It also enables access to the new primitive blend modes, MIN and ADD, through its SetPrimitiveBlend1 method.

dn280436 ID2D1CommandSink1 ID2D1CommandSink1

Enables access to the new primitive blend modes, MIN and ADD.

No documentation. No documentation. dn280436 HRESULT ID2D1CommandSink1::SetPrimitiveBlend1([In] D2D1_PRIMITIVE_BLEND primitiveBlend) ID2D1CommandSink1::SetPrimitiveBlend1

This interface performs all the same functions as the existing interface. It also enables access to the new primitive blend modes, MIN and ADD, through its SetPrimitiveBlend1 method.

dn280436 ID2D1CommandSink1 ID2D1CommandSink1

Enables access to the new primitive blend modes, MIN and ADD.

No documentation. No documentation. dn280436 HRESULT ID2D1CommandSink1::SetPrimitiveBlend1([In] D2D1_PRIMITIVE_BLEND primitiveBlend) ID2D1CommandSink1::SetPrimitiveBlend1
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Sets a new primitive blend mode.

The primitive blend that will apply to subsequent primitives.

If the method succeeds, it returns . If it fails, it returns an error code.

dn280438 HRESULT ID2D1CommandSink1::SetPrimitiveBlend1([In] D2D1_PRIMITIVE_BLEND primitiveBlend) ID2D1CommandSink1::SetPrimitiveBlend1
Return a pointer to the unmanaged version of this callback. The callback. A pointer to a shadow c++ callback Sets the blending for primitives. HRESULT ID2D1CommandSink1::SetPrimitiveBlend1([In] D2D1_PRIMITIVE_BLEND primitiveBlend)

This interface performs all the same functions as the existing interface. It also enables access to ink rendering and gradient mesh rendering.

dn890781 ID2D1CommandSink2 ID2D1CommandSink2
No documentation for Direct3D12 No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1CommandSink2::DrawInk([In] ID2D1Ink* ink,[In] ID2D1Brush* brush,[In, Optional] ID2D1InkStyle* inkStyle) ID2D1CommandSink2::DrawInk No documentation for Direct3D12 No documentation. No documentation. HRESULT ID2D1CommandSink2::DrawGradientMesh([In] ID2D1GradientMesh* gradientMesh) ID2D1CommandSink2::DrawGradientMesh No documentation for Direct3D12 No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1CommandSink2::DrawGdiMetafile([In] ID2D1GdiMetafile* gdiMetafile,[In, Optional] const D2D_RECT_F* destinationRectangle,[In, Optional] const D2D_RECT_F* sourceRectangle) ID2D1CommandSink2::DrawGdiMetafile

This interface performs all the same functions as the existing interface. It also enables access to ink rendering and gradient mesh rendering.

dn890781 ID2D1CommandSink2 ID2D1CommandSink2
No documentation for Direct3D12 No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1CommandSink2::DrawInk([In] ID2D1Ink* ink,[In] ID2D1Brush* brush,[In, Optional] ID2D1InkStyle* inkStyle) ID2D1CommandSink2::DrawInk No documentation for Direct3D12 No documentation. No documentation. HRESULT ID2D1CommandSink2::DrawGradientMesh([In] ID2D1GradientMesh* gradientMesh) ID2D1CommandSink2::DrawGradientMesh No documentation for Direct3D12 No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1CommandSink2::DrawGdiMetafile([In] ID2D1GdiMetafile* gdiMetafile,[In, Optional] const D2D_RECT_F* destinationRectangle,[In, Optional] const D2D_RECT_F* sourceRectangle) ID2D1CommandSink2::DrawGdiMetafile Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Renders the given ink object using the given brush and ink style.

The ink object to be rendered.

The brush with which to render the ink object.

The ink style to use when rendering the ink object.

This method does not return a value.

dn890784 HRESULT ID2D1CommandSink2::DrawInk([In] ID2D1Ink* ink,[In] ID2D1Brush* brush,[In, Optional] ID2D1InkStyle* inkStyle) ID2D1CommandSink2::DrawInk

Renders a given gradient mesh to the target.

The gradient mesh to be rendered.

This method does not return a value.

dn890783 HRESULT ID2D1CommandSink2::DrawGradientMesh([In] ID2D1GradientMesh* gradientMesh) ID2D1CommandSink2::DrawGradientMesh

Draws a metafile to the command sink using the given source and destination rectangles.

The metafile to draw.

The rectangle in the target where the metafile will be drawn, relative to the upper left corner (defined in DIPs). If null is specified, the destination rectangle is the size of the target.

The rectangle of the source metafile that will be drawn, relative to the upper left corner (defined in DIPs). If null is specified, the source rectangle is the value returned by .

This method does not return a value.

dn890782 HRESULT ID2D1CommandSink2::DrawGdiMetafile([In] ID2D1GdiMetafile* gdiMetafile,[In, Optional] const D2D_RECT_F* destinationRectangle,[In, Optional] const D2D_RECT_F* sourceRectangle) ID2D1CommandSink2::DrawGdiMetafile

This interface performs all the same functions as the existing interface. It also enables access to sprite batch rendering.

mt619822 ID2D1CommandSink3 ID2D1CommandSink3

Renders part or all of the given sprite batch to the device context using the specified drawing options.

The sprite batch to draw.

The index of the first sprite in the sprite batch to draw.

The number of sprites to draw.

The bitmap from which the sprites are to be sourced. Each sprite?s source rectangle refers to a portion of this bitmap.

The interpolation mode to use when drawing this sprite batch. This determines how Direct2D interpolates pixels within the drawn sprites if scaling is performed.

The additional drawing options, if any, to be used for this sprite batch.

If this method succeeds, it returns . Otherwise, it returns an error code.

mt619823 HRESULT ID2D1CommandSink3::DrawSpriteBatch([In] ID2D1SpriteBatch* spriteBatch,[In] unsigned int startIndex,[In] unsigned int spriteCount,[In] ID2D1Bitmap* bitmap,[In] D2D1_BITMAP_INTERPOLATION_MODE interpolationMode,[In] D2D1_SPRITE_OPTIONS spriteOptions) ID2D1CommandSink3::DrawSpriteBatch

This interface performs all the same functions as the existing interface. It also enables access to sprite batch rendering.

mt619822 ID2D1CommandSink3 ID2D1CommandSink3

Renders part or all of the given sprite batch to the device context using the specified drawing options.

The sprite batch to draw.

The index of the first sprite in the sprite batch to draw.

The number of sprites to draw.

The bitmap from which the sprites are to be sourced. Each sprite?s source rectangle refers to a portion of this bitmap.

The interpolation mode to use when drawing this sprite batch. This determines how Direct2D interpolates pixels within the drawn sprites if scaling is performed.

The additional drawing options, if any, to be used for this sprite batch.

If this method succeeds, it returns . Otherwise, it returns an error code.

mt619823 HRESULT ID2D1CommandSink3::DrawSpriteBatch([In] ID2D1SpriteBatch* spriteBatch,[In] unsigned int startIndex,[In] unsigned int spriteCount,[In] ID2D1Bitmap* bitmap,[In] D2D1_BITMAP_INTERPOLATION_MODE interpolationMode,[In] D2D1_SPRITE_OPTIONS spriteOptions) ID2D1CommandSink3::DrawSpriteBatch
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Renders part or all of the given sprite batch to the device context using the specified drawing options.

The sprite batch to draw.

The index of the first sprite in the sprite batch to draw.

The number of sprites to draw.

The bitmap from which the sprites are to be sourced. Each sprite?s source rectangle refers to a portion of this bitmap.

The interpolation mode to use when drawing this sprite batch. This determines how Direct2D interpolates pixels within the drawn sprites if scaling is performed.

The additional drawing options, if any, to be used for this sprite batch.

If this method succeeds, it returns . Otherwise, it returns an error code.

mt619823 HRESULT ID2D1CommandSink3::DrawSpriteBatch([In] ID2D1SpriteBatch* spriteBatch,[In] unsigned int startIndex,[In] unsigned int spriteCount,[In] ID2D1Bitmap* bitmap,[In] D2D1_BITMAP_INTERPOLATION_MODE interpolationMode,[In] D2D1_SPRITE_OPTIONS spriteOptions) ID2D1CommandSink3::DrawSpriteBatch

This interface performs all the same functions as the existing interface. It also enables access to the new primitive blend mode, MAX, through the SetPrimitiveBlend2 method.

mt797801 ID2D1CommandSink4 ID2D1CommandSink4

Sets a new primitive blend mode. Allows access to the MAX primitive blend mode.

The primitive blend that will apply to subsequent primitives.

If this method succeeds, it returns . Otherwise, it returns an error code.

mt797802 HRESULT ID2D1CommandSink4::SetPrimitiveBlend2([In] D2D1_PRIMITIVE_BLEND primitiveBlend) ID2D1CommandSink4::SetPrimitiveBlend2

This interface performs all the same functions as the existing interface. It also enables access to the new primitive blend mode, MAX, through the SetPrimitiveBlend2 method.

mt797801 ID2D1CommandSink4 ID2D1CommandSink4

Sets a new primitive blend mode. Allows access to the MAX primitive blend mode.

The primitive blend that will apply to subsequent primitives.

If this method succeeds, it returns . Otherwise, it returns an error code.

mt797802 HRESULT ID2D1CommandSink4::SetPrimitiveBlend2([In] D2D1_PRIMITIVE_BLEND primitiveBlend) ID2D1CommandSink4::SetPrimitiveBlend2
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion. No documentation. No documentation. No documentation. HRESULT ID2D1CommandSink4::SetPrimitiveBlend2([In] D2D1_PRIMITIVE_BLEND primitiveBlend) ID2D1CommandSink4::SetPrimitiveBlend2

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.

The can be implemented to receive a play-back of the commands recorded in a command list. This interface is typically used for transforming the command list into another format where some degree of conversion between the Direct2D primitives and the target format is required.

The interface does not have any resource creation methods. The resources are logically bound to the Direct2D device on which the was created and will be passed in to the implementation.

Not all methods implemented by are present.

hh404394 ID2D1CommandSink ID2D1CommandSink
HRESULT ID2D1CommandSink::BeginDraw() HRESULT ID2D1CommandSink::EndDraw() HRESULT ID2D1CommandSink::SetAntialiasMode([In] D2D1_ANTIALIAS_MODE antialiasMode) HRESULT ID2D1CommandSink::SetTags([In] unsigned longlong tag1,[In] unsigned longlong tag2) HRESULT ID2D1CommandSink::SetTextAntialiasMode([In] D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode) HRESULT ID2D1CommandSink::SetTextRenderingParams([In, Optional] IDWriteRenderingParams* textRenderingParams) HRESULT ID2D1CommandSink::SetTransform([In] const D2D_MATRIX_3X2_F* transform) HRESULT ID2D1CommandSink::SetPrimitiveBlend([In] D2D1_PRIMITIVE_BLEND primitiveBlend) HRESULT ID2D1CommandSink::SetUnitMode([In] D2D1_UNIT_MODE unitMode) HRESULT ID2D1CommandSink::Clear([In, Optional] const D2D_COLOR_F* color) HRESULT ID2D1CommandSink::DrawGlyphRun([In] D2D_POINT_2F baselineOrigin,[In] const DWRITE_GLYPH_RUN* glyphRun,[In, Optional] const DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription,[In] ID2D1Brush* foregroundBrush,[In] DWRITE_MEASURING_MODE measuringMode) HRESULT ID2D1CommandSink::DrawLine([In] D2D_POINT_2F point0,[In] D2D_POINT_2F point1,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) HRESULT ID2D1CommandSink::DrawGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) HRESULT ID2D1CommandSink::DrawRectangle([In] const D2D_RECT_F* rect,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) HRESULT ID2D1CommandSink::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_F* destinationRectangle,[In] float opacity,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D_RECT_F* sourceRectangle,[In, Optional] const D2D_MATRIX_4X4_F* perspectiveTransform) HRESULT ID2D1CommandSink::DrawImage([In] ID2D1Image* image,[In, Optional] const D2D_POINT_2F* targetOffset,[In, Optional] const D2D_RECT_F* imageRectangle,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In] D2D1_COMPOSITE_MODE compositeMode) HRESULT ID2D1CommandSink::DrawGdiMetafile([In] ID2D1GdiMetafile* gdiMetafile,[In, Optional] const D2D_POINT_2F* targetOffset) HRESULT ID2D1CommandSink::FillMesh([In] ID2D1Mesh* mesh,[In] ID2D1Brush* brush) HRESULT ID2D1CommandSink::FillOpacityMask([In] ID2D1Bitmap* opacityMask,[In] ID2D1Brush* brush,[In, Optional] const D2D_RECT_F* destinationRectangle,[In, Optional] const D2D_RECT_F* sourceRectangle) HRESULT ID2D1CommandSink::FillGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[In, Optional] ID2D1Brush* opacityBrush) HRESULT ID2D1CommandSink::FillRectangle([In] const D2D_RECT_F* rect,[In] ID2D1Brush* brush) HRESULT ID2D1CommandSink::PushAxisAlignedClip([In] const D2D_RECT_F* clipRect,[In] D2D1_ANTIALIAS_MODE antialiasMode) HRESULT ID2D1CommandSink::PushLayer([In] const D2D1_LAYER_PARAMETERS1* layerParameters1,[In, Optional] ID2D1Layer* layer) [This documentation is preliminary and is subject to change.] HRESULT ID2D1CommandSink::PopAxisAlignedClip() No documentation. HRESULT ID2D1CommandSink::PopLayer() Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Notifies the implementation of the command sink that drawing is about to commence.

This method always returns .

hh404395 HRESULT ID2D1CommandSink::BeginDraw() ID2D1CommandSink::BeginDraw

Indicates when processing has completed.

If the method/function succeeds, it returns . If it fails, it returns an error code.

The active at the end of the command list will be returned.

It allows the calling function or method to indicate a failure back to the stream implementation.

hh404409 HRESULT ID2D1CommandSink::EndDraw() ID2D1CommandSink::EndDraw

Sets the antialiasing mode that will be used to render any subsequent geometry.

The antialiasing mode selected for the command list.

If the method succeeds, it returns . If it fails, it returns an error code.

hh404420 HRESULT ID2D1CommandSink::SetAntialiasMode([In] D2D1_ANTIALIAS_MODE antialiasMode) ID2D1CommandSink::SetAntialiasMode

Sets the tags that correspond to the tags in the command sink.

The first tag to associate with the primitive.

The second tag to associate with the primitive.

If the method succeeds, it returns . If it fails, it returns an error code.

hh404422 HRESULT ID2D1CommandSink::SetTags([In] unsigned longlong tag1,[In] unsigned longlong tag2) ID2D1CommandSink::SetTags

Indicates the new default antialiasing mode for text.

The antialiasing mode for the text.

If the method succeeds, it returns . If it fails, it returns an error code.

hh404423 HRESULT ID2D1CommandSink::SetTextAntialiasMode([In] D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode) ID2D1CommandSink::SetTextAntialiasMode

Indicates more detailed text rendering parameters.

The parameters to use for text rendering.

If the method succeeds, it returns . If it fails, it returns an error code.

hh404424 HRESULT ID2D1CommandSink::SetTextRenderingParams([In, Optional] IDWriteRenderingParams* textRenderingParams) ID2D1CommandSink::SetTextRenderingParams

Sets a new transform.

The transform to be set.

If the method succeeds, it returns . If it fails, it returns an error code.

The transform will be applied to the corresponding device context.

hh404425 HRESULT ID2D1CommandSink::SetTransform([In] const D2D_MATRIX_3X2_F* transform) ID2D1CommandSink::SetTransform

Sets a new primitive blend mode.

The primitive blend that will apply to subsequent primitives.

If the method succeeds, it returns . If it fails, it returns an error code.

hh404421 HRESULT ID2D1CommandSink::SetPrimitiveBlend([In] D2D1_PRIMITIVE_BLEND primitiveBlend) ID2D1CommandSink::SetPrimitiveBlend

The unit mode changes the meaning of subsequent units from device-independent pixels (DIPs) to pixels or the other way. The command sink does not record a DPI, this is implied by the playback context or other playback interface such as .

No documentation.

If the method succeeds, it returns . If it fails, it returns an error code.

The unit mode changes the interpretation of units from DIPs to pixels or vice versa.

hh404426 HRESULT ID2D1CommandSink::SetUnitMode([In] D2D1_UNIT_MODE unitMode) ID2D1CommandSink::SetUnitMode

Clears the drawing area to the specified color.

The color to which the command sink should be cleared.

If the method succeeds, it returns . If it fails, it returns an error code.

The clear color is restricted by the currently selected clip and layer bounds.

If no color is specified, the color should be interpreted by context. Examples include but are not limited to:

  • Transparent black for a premultiplied bitmap target.
  • Opaque black for an ignore bitmap target.
  • Containing no content (or white) for a printer page.
hh404397 HRESULT ID2D1CommandSink::Clear([In, Optional] const D2D_COLOR_F* color) ID2D1CommandSink::Clear

Indicates the glyphs to be drawn.

The upper left corner of the baseline.

The glyphs to render.

Additional non-rendering information about the glyphs.

The brush used to fill the glyphs.

The measuring mode to apply to the glyphs.

If the method succeeds, it returns . If it fails, it returns an error code.

DrawText and DrawTextLayout are broken down into glyph runs and rectangles by the time the command sink is processed. So, these methods aren't available on the command sink. Since the application may require additional callback processing when calling DrawTextLayout, this semantic can't be easily preserved in the command list.

hh404401 HRESULT ID2D1CommandSink::DrawGlyphRun([In] D2D_POINT_2F baselineOrigin,[In] const DWRITE_GLYPH_RUN* glyphRun,[In, Optional] const DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription,[In] ID2D1Brush* foregroundBrush,[In] DWRITE_MEASURING_MODE measuringMode) ID2D1CommandSink::DrawGlyphRun

Draws a line drawn between two points.

The start point of the line.

The end point of the line.

The brush used to fill the line.

The width of the stroke to fill the line.

The style of the stroke. If not specified, the stroke is solid.

If the method succeeds, it returns . If it fails, it returns an error code.

hh404405 HRESULT ID2D1CommandSink::DrawLine([In] D2D_POINT_2F point0,[In] D2D_POINT_2F point1,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) ID2D1CommandSink::DrawLine

Indicates the geometry to be drawn to the command sink.

The geometry to be stroked.

The brush that will be used to fill the stroked geometry.

The width of the stroke.

The style of the stroke.

An .

Ellipses and rounded rectangles are converted to the corresponding ellipse and rounded rectangle geometries before calling into the DrawGeometry method.

hh404399 HRESULT ID2D1CommandSink::DrawGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) ID2D1CommandSink::DrawGeometry

Draws a rectangle.

The rectangle to be drawn to the command sink.

The brush used to stroke the geometry.

The width of the stroke.

The style of the stroke.

If the method succeeds, it returns . If it fails, it returns an error code.

hh404407 HRESULT ID2D1CommandSink::DrawRectangle([In] const D2D_RECT_F* rect,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) ID2D1CommandSink::DrawRectangle

Draws a bitmap to the render target.

The bitmap to draw.

The destination rectangle. The default is the size of the bitmap and the location is the upper left corner of the render target.

The opacity of the bitmap.

The interpolation mode to use.

An optional source rectangle.

An optional perspective transform.

This method does not return a value.

The destinationRectangle parameter defines the rectangle in the target where the bitmap will appear (in device-independent pixels (DIPs)). This is affected by the currently set transform and the perspective transform, if set. If you specify null, then the destination rectangle is (left=0, top=0, right = width(sourceRectangle), bottom = height(sourceRectangle).

The sourceRectangle defines the sub-rectangle of the source bitmap (in DIPs). DrawBitmap clips this rectangle to the size of the source bitmap, so it's impossible to sample outside of the bitmap. If you specify null, then the source rectangle is taken to be the size of the source bitmap.

The perspectiveTransform is specified in addition to the transform on device context.

hh847972 HRESULT ID2D1CommandSink::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_F* destinationRectangle,[In] float opacity,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D_RECT_F* sourceRectangle,[In, Optional] const D2D_MATRIX_4X4_F* perspectiveTransform) ID2D1CommandSink::DrawBitmap

Draws the provided image to the command sink.

The image to be drawn to the command sink.

This defines the offset in the destination space that the image will be rendered to. The entire logical extent of the image will be rendered to the corresponding destination. If not specified, the destination origin will be (0, 0). The top-left corner of the image will be mapped to the target offset. This will not necessarily be the origin.

The corresponding rectangle in the image space will be mapped to the provided origins when processing the image.

The interpolation mode to use to scale the image if necessary.

If specified, the composite mode that will be applied to the limits of the currently selected clip.

If the method succeeds, it returns . If it fails, it returns an error code.

Because the image can itself be a command list or contain an effect graph that in turn contains a command list, this method can result in recursive processing.

hh404403 HRESULT ID2D1CommandSink::DrawImage([In] ID2D1Image* image,[In, Optional] const D2D_POINT_2F* targetOffset,[In, Optional] const D2D_RECT_F* imageRectangle,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In] D2D1_COMPOSITE_MODE compositeMode) ID2D1CommandSink::DrawImage

Draw a metafile to the device context.

The metafile to draw.

The offset from the upper left corner of the render target.

This method does not return a value.

The targetOffset defines the offset in the destination space that the image will be rendered to. The entire logical extent of the image is rendered to the corresponding destination. If you don't specify the offset, the destination origin will be (0, 0). The top, left corner of the image will be mapped to the target offset. This will not necessarily be the origin.

hh847973 HRESULT ID2D1CommandSink::DrawGdiMetafile([In] ID2D1GdiMetafile* gdiMetafile,[In, Optional] const D2D_POINT_2F* targetOffset) ID2D1CommandSink::DrawGdiMetafile

Indicates a mesh to be filled by the command sink.

The mesh object to be filled.

The brush with which to fill the mesh.

If the method succeeds, it returns . If it fails, it returns an error code.

hh404413 HRESULT ID2D1CommandSink::FillMesh([In] ID2D1Mesh* mesh,[In] ID2D1Brush* brush) ID2D1CommandSink::FillMesh

Fills an opacity mask on the command sink.

The bitmap whose alpha channel will be sampled to define the opacity mask.

The brush with which to fill the mask.

The destination rectangle in which to fill the mask. If not specified, this is the origin.

The source rectangle within the opacity mask. If not specified, this is the entire mask.

If the method succeeds, it returns . If it fails, it returns an error code.

The opacity mask bitmap must be considered to be clamped on each axis.

hh404414 HRESULT ID2D1CommandSink::FillOpacityMask([In] ID2D1Bitmap* opacityMask,[In] ID2D1Brush* brush,[In, Optional] const D2D_RECT_F* destinationRectangle,[In, Optional] const D2D_RECT_F* sourceRectangle) ID2D1CommandSink::FillOpacityMask

Indicates to the command sink a geometry to be filled.

The geometry that should be filled.

The primary brush used to fill the geometry.

A brush whose alpha channel is used to modify the opacity of the primary fill brush.

If the method succeeds, it returns . If it fails, it returns an error code.

If the opacity brush is specified, the primary brush will be a bitmap brush fixed on both the x-axis and the y-axis.

Ellipses and rounded rectangles are converted to the corresponding geometry before being passed to FillGeometry.

hh404411 HRESULT ID2D1CommandSink::FillGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[In, Optional] ID2D1Brush* opacityBrush) ID2D1CommandSink::FillGeometry

Indicates to the command sink a rectangle to be filled.

The rectangle to fill.

The brush with which to fill the rectangle.

If the method succeeds, it returns . If it fails, it returns an error code.

hh404415 HRESULT ID2D1CommandSink::FillRectangle([In] const D2D_RECT_F* rect,[In] ID2D1Brush* brush) ID2D1CommandSink::FillRectangle

Pushes a clipping rectangle onto the clip and layer stack.

The rectangle that defines the clip.

The antialias mode for the clip.

If the method succeeds, it returns . If it fails, it returns an error code.

If the current world transform is not preserving the axis, clipRectangle is transformed and the bounds of the transformed rectangle are used instead.

hh404418 HRESULT ID2D1CommandSink::PushAxisAlignedClip([In] const D2D_RECT_F* clipRect,[In] D2D1_ANTIALIAS_MODE antialiasMode) ID2D1CommandSink::PushAxisAlignedClip

Pushes a layer onto the clip and layer stack.

The parameters that define the layer.

The layer resource that receives subsequent drawing operations.

If the method succeeds, it returns . If it fails, it returns an error code.

hh404419 HRESULT ID2D1CommandSink::PushLayer([In] const D2D1_LAYER_PARAMETERS1* layerParameters1,[In, Optional] ID2D1Layer* layer) ID2D1CommandSink::PushLayer

Removes an axis-aligned clip from the layer and clip stack.

If the method succeeds, it returns . If it fails, it returns an error code.

hh404416 HRESULT ID2D1CommandSink::PopAxisAlignedClip() ID2D1CommandSink::PopAxisAlignedClip

Removes a layer from the layer and clip stack.

If the method succeeds, it returns . If it fails, it returns an error code.

hh404417 HRESULT ID2D1CommandSink::PopLayer() ID2D1CommandSink::PopLayer
Internal CommandSink Callback Return a pointer to the unmanaged version of this callback. The callback. A pointer to a shadow c++ callback HRESULT ID2D1CommandSink::BeginDraw() HRESULT ID2D1CommandSink::EndDraw() HRESULT ID2D1CommandSink::SetAntialiasMode([In] D2D1_ANTIALIAS_MODE antialiasMode) HRESULT ID2D1CommandSink::SetTags([In] unsigned longlong tag1,[In] unsigned longlong tag2) HRESULT ID2D1CommandSink::SetTextAntialiasMode([In] D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode) HRESULT ID2D1CommandSink::SetTextRenderingParams([In, Optional] IDWriteRenderingParams* textRenderingParams) HRESULT ID2D1CommandSink::SetTransform([In] const D2D_MATRIX_3X2_F* transform) Sets the blending for primitives. HRESULT ID2D1CommandSink::SetPrimitiveBlend([In] D2D1_PRIMITIVE_BLEND primitiveBlend) Sets the unit mode HRESULT ID2D1CommandSink::SetUnitMode([In] D2D1_UNIT_MODE unitMode) HRESULT ID2D1CommandSink::Clear([In, Optional] const D2D_COLOR_F* color) HRESULT ID2D1CommandSink::DrawGlyphRun([In] D2D_POINT_2F baselineOrigin,[In] const DWRITE_GLYPH_RUN* glyphRun,[In, Optional] const DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription,[In] ID2D1Brush* foregroundBrush,[In] DWRITE_MEASURING_MODE measuringMode) HRESULT ID2D1CommandSink::DrawLine([In] D2D_POINT_2F point0,[In] D2D_POINT_2F point1,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) HRESULT ID2D1CommandSink::DrawGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) HRESULT ID2D1CommandSink::DrawRectangle([In] const D2D_RECT_F* rect,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) HRESULT ID2D1CommandSink::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_F* destinationRectangle,[In] float opacity,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D_RECT_F* sourceRectangle,[In, Optional] const D2D_MATRIX_4X4_F* perspectiveTransform) HRESULT ID2D1CommandSink::DrawImage([In] ID2D1Image* image,[In, Optional] const D2D_POINT_2F* targetOffset,[In, Optional] const D2D_RECT_F* imageRectangle,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In] D2D1_COMPOSITE_MODE compositeMode) HRESULT ID2D1CommandSink::DrawGdiMetafile([In] ID2D1GdiMetafile* gdiMetafile,[In, Optional] const D2D_POINT_2F* targetOffset) [This documentation is preliminary and is subject to change.] The mesh object to be filled. The brush with which to fill the mesh. HRESULT ID2D1CommandSink::FillMesh([In] ID2D1Mesh* mesh,[In] ID2D1Brush* brush) HRESULT ID2D1CommandSink::FillOpacityMask([In] ID2D1Bitmap* opacityMask,[In] ID2D1Brush* brush,[In, Optional] const D2D_RECT_F* destinationRectangle,[In, Optional] const D2D_RECT_F* sourceRectangle) HRESULT ID2D1CommandSink::FillGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[In, Optional] ID2D1Brush* opacityBrush) HRESULT ID2D1CommandSink::FillRectangle([In] const D2D_RECT_F* rect,[In] ID2D1Brush* brush) [This documentation is preliminary and is subject to change.] The rectangle that defines the clip. Whether the given clip should be antialiased. If the current world transform is not preserving the axis, clipRectangle is transformed and the bounds of the transformed rectangle are used instead. HRESULT ID2D1CommandSink::PushAxisAlignedClip([In] const D2D_RECT_F* clipRect,[In] D2D1_ANTIALIAS_MODE antialiasMode) No documentation. No documentation. No documentation. HRESULT ID2D1CommandSink::PushLayer([In] const D2D1_LAYER_PARAMETERS1* layerParameters1,[In, Optional] ID2D1Layer* layer) [This documentation is preliminary and is subject to change.] HRESULT ID2D1CommandSink::PopAxisAlignedClip() No documentation. HRESULT ID2D1CommandSink::PopLayer()

Enables specification of information for a compute-shader rendering pass.

The transform changes the state on this render information to specify the compute shader and its dependent resources.

hh847966 ID2D1ComputeInfo ID2D1ComputeInfo
Sets the constant buffer data from a . The DataStream that contains the constant buffer data Sets the constant buffer data from a struct value. Type of the constant buffer Value of the constant buffer HRESULT ID2D1ComputeInfo::SetComputeShaderConstantBuffer([In, Buffer] const void* buffer,[In] unsigned int bufferCount) Sets the constant buffer data from a struct value. Type of the constant buffer Value of the constant buffer HRESULT ID2D1ComputeInfo::SetComputeShaderConstantBuffer([In, Buffer] const void* buffer,[In] unsigned int bufferCount) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Establishes or changes the constant buffer data for this transform.

The data applied to the constant buffer.

The number of bytes of data in the constant buffer.

If this method succeeds, it returns . Otherwise, it returns an error code.

hh847968 HRESULT ID2D1ComputeInfo::SetComputeShaderConstantBuffer([In, Buffer] const void* buffer,[In] unsigned int bufferCount) ID2D1ComputeInfo::SetComputeShaderConstantBuffer

Sets the compute shader to the given shader resource. The resource must be loaded before this call is made.

The of the shader.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

hh847967 HRESULT ID2D1ComputeInfo::SetComputeShader([In] const GUID& shaderId) ID2D1ComputeInfo::SetComputeShader

Sets the resource texture corresponding to the given shader texture index to the given texture resource. The texture resource must already have been loaded with method. This call will fail if the specified index overlaps with any input. The input indices always precede the texture LUT indices.

No documentation. No documentation.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

hh847969 HRESULT ID2D1ComputeInfo::SetResourceTexture([In] unsigned int textureIndex,[In] ID2D1ResourceTexture* resourceTexture) ID2D1ComputeInfo::SetResourceTexture

This method allows a compute-shader?based transform to select the number of thread groups to execute based on the number of output pixels it needs to fill.

If this call fails, the corresponding instance is placed into an error state and fails to draw.

hh404437 ID2D1ComputeTransform ID2D1ComputeTransform
No documentation. No documentation. HRESULT ID2D1ComputeTransform::SetComputeInfo([In] ID2D1ComputeInfo* computeInfo) [This documentation is preliminary and is subject to change.] The output rectangle that will be filled by the compute transform. An containing the number of threads of x,y,z dimensions. If this call fails, the corresponding instance is placed into an error state and fails to draw. HRESULT ID2D1ComputeTransform::CalculateThreadgroups([In] const RECT* outputRect,[Out] unsigned int* dimensionX,[Out] unsigned int* dimensionY,[Out] unsigned int* dimensionZ)

This method allows a compute-shader?based transform to select the number of thread groups to execute based on the number of output pixels it needs to fill.

If this call fails, the corresponding instance is placed into an error state and fails to draw.

hh404437 ID2D1ComputeTransform ID2D1ComputeTransform
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Sets the render information used to specify the compute shader pass.

The render information object to set.

If the method succeeds, it returns . If it fails, it returns an error code.

If this method fails, fails.

hh404450 HRESULT ID2D1ComputeTransform::SetComputeInfo([In] ID2D1ComputeInfo* computeInfo) ID2D1ComputeTransform::SetComputeInfo

This method allows a compute-shader?based transform to select the number of thread groups to execute based on the number of output pixels it needs to fill.

The output rectangle that will be filled by the compute transform.

The number of threads in the x dimension.

The number of threads in the y dimension.

The number of threads in the z dimension.

If the method succeeds, it returns . If it fails, it returns an error code.

If this call fails, the corresponding instance is placed into an error state and fails to draw.

hh404437 HRESULT ID2D1ComputeTransform::CalculateThreadgroups([In] const RECT* outputRect,[Out] unsigned int* dimensionX,[Out] unsigned int* dimensionY,[Out] unsigned int* dimensionZ) ID2D1ComputeTransform::CalculateThreadgroups
Internal ComputeTransform Callback Return a pointer to the unmanaged version of this callback. The callback. A pointer to a shadow c++ callback HRESULT ID2D1ComputeTransform::SetComputeInfo([In] ID2D1ComputeInfo* computeInfo) HRESULT ID2D1ComputeTransform::CalculateThreadgroups([In] const RECT* outputRect,[Out] unsigned int* dimensionX,[Out] unsigned int* dimensionY,[Out] unsigned int* dimensionZ) Custom Effect interface. Equivalent of C++ ID2D1EffectImpl. ID2D1EffectImpl

Allows a custom effect's interface and behavior to be specified by the effect author.

This interface is created by the effect author from a static factory registered through the ID2D1Factory::RegisterEffect method.

hh404568 ID2D1EffectImpl ID2D1EffectImpl
Creates any resources used repeatedly during subsequent rendering calls. An internal factory interface that creates and returns effect author centric types. No documentation. This moves resource creation cost to the CreateEffect call, rather than during rendering.If the implementation fails this call, the corresponding call also fails.The following example shows an effect implementing an initialize method. HRESULT ID2D1EffectImpl::Initialize([In] ID2D1EffectContext* effectContext,[In] ID2D1TransformGraph* transformGraph) Prepares an effect for the rendering process. Indicates the type of change the effect should expect. This method is called by the renderer when the effect is within an effect graph that is drawn.The method will be called:If the effect has been initialized but has not previously been drawn. If an effect property has been set since the last draw call. If the context state has changed since the effect was last drawn.The method will not otherwise be called. The transforms created by the effect will be called to handle their input and output rectangles for every draw call.Most effects defer creating any resources or specifying a topology until this call is made. They store their properties and map them to a concrete set of rendering techniques when first drawn. HRESULT ID2D1EffectImpl::PrepareForRender([In] D2D1_CHANGE_TYPE changeType) The renderer calls this method to provide the effect implementation with a way to specify its transform graph and transform graph changes. The renderer calls this method when: 1) When the effect is first initialized. 2) If the number of inputs to the effect changes. The graph to which the effect describes its transform topology through the SetDescription call.. HRESULT ID2D1EffectImpl::SetGraph([In] ID2D1TransformGraph* transformGraph) Global attribute for description. Initializes a new instance of class. Description of the custom effect Category of the custom effect Author of the custom effect Gets the DisplayName name. Gets the Description name. Gets the Category name. Gets the Author name. Base abstract class for interface. Delegate used by to create a custom effect. A new instance of custom effect Internal class used to keep reference to factory. Converts custom effect to an xml description Initializes the property bindings Initializes the xml descriptor for this effect. HRESULT ID2D1EffectImpl::Initialize([In] ID2D1EffectContext* effectContext,[In] ID2D1TransformGraph* transformGraph) Input attribute for description. Initializes a new instance of attribute. Gets the Input name.

Allows a custom effect's interface and behavior to be specified by the effect author.

This interface is created by the effect author from a static factory registered through the ID2D1Factory::RegisterEffect method.

hh404568 ID2D1EffectImpl ID2D1EffectImpl
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

The effect can use this method to do one time initialization tasks. If this method is not needed, the method can just return .

An internal context interface that creates and returns effect author?centric types.

The effect can populate the transform graph with a topology and can update it later.

If the method succeeds, it returns . If it fails, it returns an error code.

This moves resource creation cost to the CreateEffect call, rather than during rendering.

If the implementation fails this call, the corresponding call also fails.

The following example shows an effect implementing an initialize method.

hh404570 HRESULT ID2D1EffectImpl::Initialize([In] ID2D1EffectContext* effectContext,[In] ID2D1TransformGraph* transformGraph) ID2D1EffectImpl::Initialize

Prepares an effect for the rendering process.

Indicates the type of change the effect should expect.

If the method succeeds, it returns . If it fails, it returns an error code.

This method is called by the renderer when the effect is within an effect graph that is drawn.

The method will be called:

  • If the effect has been initialized but has not previously been drawn.
  • If an effect property has been set since the last draw call.
  • If the context state has changed since the effect was last drawn.

The method will not otherwise be called. The transforms created by the effect will be called to handle their input and output rectangles for every draw call.

Most effects defer creating any resources or specifying a topology until this call is made. They store their properties and map them to a concrete set of rendering techniques when first drawn.

hh404572 HRESULT ID2D1EffectImpl::PrepareForRender([In] D2D1_CHANGE_TYPE changeType) ID2D1EffectImpl::PrepareForRender

The renderer calls this method to provide the effect implementation with a way to specify its transform graph and transform graph changes.

The renderer calls this method when:

  • When the effect is first initialized.
  • If the number of inputs to the effect changes.

The graph to which the effect describes its transform topology through the SetDescription call.

An error that prevents the effect from being initialized if called as part of the CreateEffect call. If the effect fails a subsequent SetGraph call:

  • The error will be returned from the property method that caused the number of inputs to the effect to change.
  • The effect object will be placed into an error state, if subsequently used to render, the context will be placed into a temporary error state, that particular effect will fail to render and the failure will be returned on the next EndDraw or Flush call.
hh871459 HRESULT ID2D1EffectImpl::SetGraph([In] ID2D1TransformGraph* transformGraph) ID2D1EffectImpl::SetGraph
Internal CustomEffect Callback Return a pointer to the unmanaged version of this callback. The callback. A pointer to a shadow c++ callback HRESULT ID2D1EffectImpl::Initialize([In] ID2D1EffectContext* effectContext,[In] ID2D1TransformGraph* transformGraph) HRESULT ID2D1EffectImpl::PrepareForRender([In] D2D1_CHANGE_TYPE changeType) The renderer calls this method to provide the effect implementation with a way to specify its transform graph and transform graph changes. The renderer calls this method when: 1) When the effect is first initialized. 2) If the number of inputs to the effect changes. The graph to which the effect describes its transform topology through the SetDescription call.. HRESULT ID2D1EffectImpl::SetGraph([In] ID2D1TransformGraph* transformGraph)

Defines a vertex shader and the input element description to define the input layout. The combination is used to allow a custom vertex effect to create a custom vertex shader and pass it a custom layout.

The vertex shader will be loaded by the CreateVertexBuffer call that accepts the vertex buffer properties.

This structure does not need to be specified if one of the standard vertex shaders is used.

hh404301 D2D1_CUSTOM_VERTEX_BUFFER_PROPERTIES D2D1_CUSTOM_VERTEX_BUFFER_PROPERTIES
Initializes a new instance of class. Initializes a new instance of class. The vertex shader bytecode to use as a signature. const unsigned char* shaderBufferWithInputSignature The input elements in the vertex shader. const D2D1_INPUT_ELEMENT_DESC* inputElements

The unique ID of the vertex shader.

hh404301 const unsigned char* shaderBufferWithInputSignature unsigned char shaderBufferWithInputSignature

An array of input assembler stage data types.

hh404301 unsigned int shaderBufferSize unsigned int shaderBufferSize

An array of input assembler stage data types.

hh404301 const D2D1_INPUT_ELEMENT_DESC* inputElements D2D1_INPUT_ELEMENT_DESC inputElements

The number of input elements in the vertex shader.

hh404301 unsigned int elementCount unsigned int elementCount

The vertex stride.

hh404301 unsigned int stride unsigned int stride
Functions The default tolerance for geometric flattening operations. http://msdn.microsoft.com/en-us/library/windows/desktop/dd370975%28v=vs.85%29.aspx The default DPI value. Computes the appropriate flattening tolerance to pass to APIs that take a flattening tolerance (for instance, ). The matrix that will be applied subsequently to the geometry being flattened. The horizontal DPI of the render target that the geometry will be rendered onto (a choice of 96 implies no DPI correction). The vertical DPI of the render target that the geometry will be rendered onto (a choice of 96 implies no DPI correction). The maximum amount of additional scaling (on top of any scaling implied by the matrix or the DPI) that will be applied to the geometry. The flattening tolerance.

Creates a factory object that can be used to create Direct2D resources.

The threading model of the factory and the resources it creates.

A reference to the IID of that is obtained by using __uuidof().

The level of detail provided to the debugging layer.

When this method returns, contains the address to a reference to the new factory.

If this function succeeds, it returns . Otherwise, it returns an error code.

The interface provides the starting point for Direct2D. In general, objects created from a single instance of a factory object can be used with other resources created from that instance, but not with resources created by other factory instances.

dd368034 HRESULT D2D1CreateFactory([In] D2D1_FACTORY_TYPE factoryType,[In] const GUID& riid,[In, Optional] const D2D1_FACTORY_OPTIONS* pFactoryOptions,[Out] void** ppIFactory) D2D1CreateFactory

Creates a rotation transformation that rotates by the specified angle about the specified point.

The clockwise rotation angle, in degrees.

The point about which to rotate.

When this method returns, contains the new rotation transformation. You must allocate storage for this parameter.

Rotation occurs in the plane of the 2-D surface.

dd368049 void D2D1MakeRotateMatrix([In] float angle,[In] D2D_POINT_2F center,[Out] D2D_MATRIX_3X2_F* matrix) D2D1MakeRotateMatrix

Creates a skew transformation that has the specified x-axis angle, y-axis angle, and center point.

The x-axis skew angle, which is measured in degrees counterclockwise from the y-axis.

The y-axis skew angle, which is measured in degrees counterclockwise from the x-axis.

The center point of the skew operation.

When this method returns, contains the rotation transformation. You must allocate storate for this parameter.

dd368052 void D2D1MakeSkewMatrix([In] float angleX,[In] float angleY,[In] D2D_POINT_2F center,[Out] D2D_MATRIX_3X2_F* matrix) D2D1MakeSkewMatrix

Indicates whether the specified matrix is invertible.

The matrix to test.

true if the matrix was inverted; otherwise, false.

dd368045 BOOL D2D1IsMatrixInvertible([In] const D2D_MATRIX_3X2_F* matrix) D2D1IsMatrixInvertible

Tries to invert the specified matrix.

The matrix to invert.

true if the matrix was inverted; otherwise, false.

dd368044 BOOL D2D1InvertMatrix([InOut] D2D_MATRIX_3X2_F* matrix) D2D1InvertMatrix

Creates a new Direct2D device associated with the provided DXGI device.

The DXGI device the Direct2D device is associated with.

The properties to apply to the Direct2D device.

When this function returns, contains the address of a reference to a Direct2D device.

The function returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.

?

This function will also create a new that can be retrieved through .

If the creation properties are not specified, then d2dDevice will inherit its threading mode from dxgiDevice and debug tracing will not be enabled.

hh404272 HRESULT D2D1CreateDevice([In] IDXGIDevice* dxgiDevice,[In, Optional] const D2D1_CREATION_PROPERTIES* creationProperties,[Out, Fast] ID2D1Device** d2dDevice) D2D1CreateDevice

Creates a new Direct2D device context associated with a DXGI surface.

The DXGI surface the Direct2D device context is associated with.

The properties to apply to the Direct2D device context.

When this function returns, contains the address of a reference to a Direct2D device context.

The function returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.

?

This function will also create a new that can be retrieved through .

This function will also create a new that can be retrieved through .

The DXGI device will be specified implicitly through dxgiSurface.

If creationProperties are not specified, the Direct2D device will inherit its threading mode from the DXGI device implied by dxgiSurface and debug tracing will not be enabled.

hh404273 HRESULT D2D1CreateDeviceContext([In] IDXGISurface* dxgiSurface,[In, Optional] const D2D1_CREATION_PROPERTIES* creationProperties,[Out, Fast] ID2D1DeviceContext** d2dDeviceContext) D2D1CreateDeviceContext

Converts the given color from one colorspace to another.

The source color space.

The destination color space.

The source color.

The converted color.

hh847939 D2D_COLOR_F D2D1ConvertColorSpace([In] D2D1_COLOR_SPACE sourceColorSpace,[In] D2D1_COLOR_SPACE destinationColorSpace,[In] const D2D_COLOR_F* color) D2D1ConvertColorSpace

Returns the sine and cosine of an angle.

The angle to calculate.

The sine of the angle.

The cosine of the angle.

hh847940 void D2D1SinCos([In] float angle,[Out] float* s,[Out] float* c) D2D1SinCos

Returns the tangent of an angle.

The angle to calculate the tangent for.

The tangent of the angle.

hh847941 float D2D1Tan([In] float angle) D2D1Tan

Returns the length of a 3 dimensional vector.

The x value of the vector.

The y value of the vector.

The z value of the vector.

The length of the vector.

hh847942 float D2D1Vec3Length([In] float x,[In] float y,[In] float z) D2D1Vec3Length

Computes the maximum factor by which a given transform can stretch any vector.

The input transform matrix.

The scale factor.

Formally, if M is the input matrix, this method will return the maximum value of |V * M| / |V| for all vectors V, where |.| denotes length.

Note??Since this describes how M affects vectors (rather than points), the translation components (_31 and _32) of M are ignored.?
dn280381 float D2D1ComputeMaximumScaleFactor([In] const D2D_MATRIX_3X2_F* matrix) D2D1ComputeMaximumScaleFactor

Returns the interior points for a gradient mesh patch based on the points defining a Coons patch.

Note??

This function is called by the GradientMeshPatchFromCoonsPatch function and is not intended to be used directly.

?
No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation.

This function is called by the GradientMeshPatchFromCoonsPatch function and is not intended to be used directly.

mt149083 void D2D1GetGradientMeshInteriorPointsFromCoonsPatch([In] const D2D_POINT_2F* pPoint0,[In] const D2D_POINT_2F* pPoint1,[In] const D2D_POINT_2F* pPoint2,[In] const D2D_POINT_2F* pPoint3,[In] const D2D_POINT_2F* pPoint4,[In] const D2D_POINT_2F* pPoint5,[In] const D2D_POINT_2F* pPoint6,[In] const D2D_POINT_2F* pPoint7,[In] const D2D_POINT_2F* pPoint8,[In] const D2D_POINT_2F* pPoint9,[In] const D2D_POINT_2F* pPoint10,[In] const D2D_POINT_2F* pPoint11,[Out] D2D_POINT_2F* pTensorPoint11,[Out] D2D_POINT_2F* pTensorPoint12,[Out] D2D_POINT_2F* pTensorPoint21,[Out] D2D_POINT_2F* pTensorPoint22) D2D1GetGradientMeshInteriorPointsFromCoonsPatch

Represents a resource domain whose objects and device contexts can be used together.

hh404478 ID2D1Device ID2D1Device
Initializes a new instance of the class. The device. HRESULT D2D1CreateDevice([In] IDXGIDevice* dxgiDevice,[In, Optional] const D2D1_CREATION_PROPERTIES* creationProperties,[Out] ID2D1Device** d2dDevice) Initializes a new instance of the class. The device. The creation properties. HRESULT D2D1CreateDevice([In] IDXGIDevice* dxgiDevice,[In, Optional] const D2D1_CREATION_PROPERTIES* creationProperties,[Out] ID2D1Device** d2dDevice) Initializes a new instance of the class. The object used when creating the . The object used when creating the . Each call to CreateDevice returns a unique object.The object is obtained by calling QueryInterface on an ID3D10Device or an ID3D11Device. HRESULT ID2D1Factory1::CreateDevice([In] IDXGIDevice* dxgiDevice,[Out] ID2D1Device** d2dDevice) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Sets the maximum amount of texture memory Direct2D accumulates before it purges the image caches and cached texture allocations.

hh847984 GetMaximumTextureMemory / SetMaximumTextureMemory GetMaximumTextureMemory unsigned longlong ID2D1Device::GetMaximumTextureMemory()

Creates a new device context from a Direct2D device.

The options to be applied to the created device context.

When this method returns, contains the address of a reference to the new device context.

If the method succeeds, it returns . If it fails, it returns an error code.

The new device context will not have a selected target bitmap. The caller must create and select a bitmap as the target surface of the context.

hh404545 HRESULT ID2D1Device::CreateDeviceContext([In] D2D1_DEVICE_CONTEXT_OPTIONS options,[Out, Fast] ID2D1DeviceContext** deviceContext) ID2D1Device::CreateDeviceContext

Creates an object that converts Direct2D primitives stored in into a fixed page representation. The print sub-system then consumes the primitives.

No documentation. No documentation. No documentation. No documentation.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_FAILGeneric failure code.
The print format is not supported by the document target.

?

Note??This is a blocking or synchronous function and might not return immediately. How quickly this function returns depends on run-time factors such as network status, print server configuration, and printer driver implementation?factors that are difficult to predict when writing an application. Calling this function from a thread that manages interaction with the user interface could make the application appear to be unresponsive.? hh404550 HRESULT ID2D1Device::CreatePrintControl([In] IWICImagingFactory* wicFactory,[In] IPrintDocumentPackageTarget* documentTarget,[In, Optional] const D2D1_PRINT_CONTROL_PROPERTIES* printControlProperties,[Out, Fast] ID2D1PrintControl** printControl) ID2D1Device::CreatePrintControl

Sets the maximum amount of texture memory Direct2D accumulates before it purges the image caches and cached texture allocations.

The new maximum texture memory in bytes.

Note??Direct2D may exceed the maximum texture memory you set with this method for a single frame if necessary to render the frame.? hh847985 void ID2D1Device::SetMaximumTextureMemory([In] unsigned longlong maximumInBytes) ID2D1Device::SetMaximumTextureMemory

Sets the maximum amount of texture memory Direct2D accumulates before it purges the image caches and cached texture allocations.

The maximum amount of texture memory in bytes.

hh847984 unsigned longlong ID2D1Device::GetMaximumTextureMemory() ID2D1Device::GetMaximumTextureMemory

Clears all of the rendering resources used by Direct2D.

Discards only resources that haven't been used for greater than the specified time in milliseconds. The default is 0 milliseconds.

hh404542 void ID2D1Device::ClearResources([In] unsigned int millisecondsSinceUse) ID2D1Device::ClearResources

Represents a resource domain whose objects and device contexts can be used together. This interface performs all the same functions as the existing interface. It also enables control of the device's rendering priority.

dn280458 ID2D1Device1 ID2D1Device1
Initializes a new instance of the class. The object used when creating the . The object used when creating the . Each call to CreateDevice returns a unique object.The object is obtained by calling QueryInterface on an ID3D10Device or an ID3D11Device. HRESULT ID2D1Factory2::CreateDevice([In] IDXGIDevice* dxgiDevice,[Out] ID2D1Device1** d2dDevice1) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves or sets the current rendering priority of the device.

dn280459 GetRenderingPriority / SetRenderingPriority GetRenderingPriority D2D1_RENDERING_PRIORITY ID2D1Device1::GetRenderingPriority()

Retrieves the current rendering priority of the device.

The current rendering priority of the device.

dn280459 D2D1_RENDERING_PRIORITY ID2D1Device1::GetRenderingPriority() ID2D1Device1::GetRenderingPriority

Sets the priority of Direct2D rendering operations performed on any device context associated with the device.

The desired rendering priority for the device and associated contexts.

Calling this method affects the rendering priority of all device contexts associated with the device. This method can be called at any time, but is not guaranteed to take effect until the beginning of the next frame. The recommended usage is to call this method outside of BeginDraw and EndDraw blocks. Cycling this property frequently within drawing blocks will effectively reduce the benefits of any throttling that is applied.

dn280460 void ID2D1Device1::SetRenderingPriority([In] D2D1_RENDERING_PRIORITY renderingPriority) ID2D1Device1::SetRenderingPriority

Represents a resource domain whose objects and device contexts can be used together. This interface performs all the same functions as the existing interface. It also enables control of the device's rendering priority.

No documentation. No documentation. No documentation. dn280458 HRESULT ID2D1Device1::CreateDeviceContext([In] D2D1_DEVICE_CONTEXT_OPTIONS options,[Out, Fast] ID2D1DeviceContext1** deviceContext1) ID2D1Device1::CreateDeviceContext

Represents a resource domain whose objects and device contexts can be used together. This interface performs all the same functions as the existing interface. It also enables the creation of objects.

dn890786 ID2D1Device2 ID2D1Device2
Initializes a new instance of the class. The object used when creating the . The object used when creating the . Each call to CreateDevice returns a unique object.The object is obtained by calling QueryInterface on an ID3D10Device or an ID3D11Device. HRESULT ID2D1Factory3::CreateDevice([In] IDXGIDevice* dxgiDevice,[Out] ID2D1Device2** d2dDevice2) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Returns the DXGI device associated with this Direct2D device.

dn917489 GetDxgiDevice GetDxgiDevice HRESULT ID2D1Device2::GetDxgiDevice([Out] IDXGIDevice** dxgiDevice)

Creates a new from a Direct2D device.

No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn890787 HRESULT ID2D1Device2::CreateDeviceContext([In] D2D1_DEVICE_CONTEXT_OPTIONS options,[Out, Fast] ID2D1DeviceContext2** deviceContext2) ID2D1Device2::CreateDeviceContext

Flush all device contexts that reference a given bitmap.

The bitmap, created on this device, for which all referencing device contexts will be flushed.

dn890788 void ID2D1Device2::FlushDeviceContexts([In] ID2D1Bitmap* bitmap) ID2D1Device2::FlushDeviceContexts

Returns the DXGI device associated with this Direct2D device.

The DXGI device associated with this Direct2D device.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn917489 HRESULT ID2D1Device2::GetDxgiDevice([Out] IDXGIDevice** dxgiDevice) ID2D1Device2::GetDxgiDevice

Represents a resource domain whose objects and device contexts can be used together. This interface performs all the same functions as the interface. It also enables the creation of objects.

mt619824 ID2D1Device3 ID2D1Device3
Initializes a new instance of the class. The object used when creating the . The object used when creating the . Each call to CreateDevice returns a unique object.The object is obtained by calling QueryInterface on an ID3D10Device or an ID3D11Device. HRESULT ID2D1Factory3::CreateDevice([In] IDXGIDevice* dxgiDevice,[Out] ID2D1Device2** d2dDevice2) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Creates a new from this Direct2D device.

No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

mt619825 HRESULT ID2D1Device3::CreateDeviceContext([In] D2D1_DEVICE_CONTEXT_OPTIONS options,[Out, Fast] ID2D1DeviceContext3** deviceContext3) ID2D1Device3::CreateDeviceContext

Represents a resource domain whose objects and device contexts can be used together. This interface performs all the same functions as the interface. It also enables the creation of objects.

mt736464 ID2D1Device4 ID2D1Device4
Initializes a new instance of the class. The object used when creating the . The object used when creating the . Each call to CreateDevice returns a unique object.The object is obtained by calling QueryInterface on an ID3D10Device or an ID3D11Device. HRESULT ID2D1Factory5::CreateDevice([In] IDXGIDevice* dxgiDevice,[Out] ID2D1Device5** d2dDevice4) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets or sets the maximum capacity of the color glyph cache.

mt736466 GetMaximumColorGlyphCacheMemory / SetMaximumColorGlyphCacheMemory GetMaximumColorGlyphCacheMemory unsigned longlong ID2D1Device4::GetMaximumColorGlyphCacheMemory()

Creates a new device context from a Direct2D device.

The options to be applied to the created device context.

When this method returns, contains the address of a reference to the new device context.

If the method succeeds, it returns . If it fails, it returns an error code.

The new device context will not have a selected target bitmap. The caller must create and select a bitmap as the target surface of the context.

hh404545 HRESULT ID2D1Device4::CreateDeviceContext([In] D2D1_DEVICE_CONTEXT_OPTIONS options,[Out, Fast] ID2D1DeviceContext4** deviceContext4) ID2D1Device4::CreateDeviceContext

Sets the maximum capacity of the color glyph cache.

The maximum capacity of the color glyph cache.

The color glyph cache is used to store color bitmap glyphs and SVG glyphs, enabling faster performance if the same glyphs are needed again. The capacity determines the amount of memory that D2D may use to store glyphs that the application does not already reference. If the application references a glyph using GetColorBitmapGlyphImage or GetSvgGlyphImage, after it has been evicted, this glyph does not count toward the cache capacity.

mt736467 void ID2D1Device4::SetMaximumColorGlyphCacheMemory([In] unsigned longlong maximumInBytes) ID2D1Device4::SetMaximumColorGlyphCacheMemory

Gets the maximum capacity of the color glyph cache.

Returns the maximum capacity of the color glyph cache in bytes.

mt736466 unsigned longlong ID2D1Device4::GetMaximumColorGlyphCacheMemory() ID2D1Device4::GetMaximumColorGlyphCacheMemory

Represents a resource domain whose objects and device contexts can be used together.

hh404478 ID2D1Device5 ID2D1Device5
Initializes a new instance of the class. The object used when creating the . The object used when creating the . Each call to CreateDevice returns a unique object.The object is obtained by calling QueryInterface on an ID3D10Device or an ID3D11Device. HRESULT ID2D1Factory3::CreateDevice([In] IDXGIDevice* dxgiDevice,[Out] ID2D1Device2** d2dDevice2) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion. No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1Device5::CreateDeviceContext([In] D2D1_DEVICE_CONTEXT_OPTIONS options,[Out, Fast] ID2D1DeviceContext5** deviceContext5) ID2D1Device5::CreateDeviceContext

Represents a set of state and command buffers that are used to render to a target.

The device context can render to a target bitmap or a command list.

Any resource created from a device context can be shared with any other resource created from a device context when both contexts are created on the same device.

hh404479 ID2D1DeviceContext ID2D1DeviceContext
Initializes a new instance of the class. The surface. HRESULT D2D1CreateDeviceContext([In] IDXGISurface* dxgiSurface,[In, Optional] const D2D1_CREATION_PROPERTIES* creationProperties,[Out] ID2D1DeviceContext** d2dDeviceContext) Initializes a new instance of the class. The surface. The creation properties. HRESULT D2D1CreateDeviceContext([In] IDXGISurface* dxgiSurface,[In, Optional] const D2D1_CREATION_PROPERTIES* creationProperties,[Out] ID2D1DeviceContext** d2dDeviceContext) Initializes a new instance of the class using an existing . The device. The options to be applied to the created device context. The new device context will not have a selected target bitmap. The caller must create and select a bitmap as the target surface of the context. HRESULT ID2D1Device::CreateDeviceContext([In] D2D1_DEVICE_CONTEXT_OPTIONS options,[Out] ID2D1DeviceContext** deviceContext) No documentation. No documentation. No documentation. No documentation. No documentation. void ID2D1DeviceContext::DrawImage([In] ID2D1Image* image,[In, Optional] const D2D_POINT_2F* targetOffset,[In, Optional] const D2D_RECT_F* imageRectangle,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In] D2D1_COMPOSITE_MODE compositeMode) No documentation. No documentation. No documentation. No documentation. void ID2D1DeviceContext::DrawImage([In] ID2D1Image* image,[In, Optional] const D2D_POINT_2F* targetOffset,[In, Optional] const D2D_RECT_F* imageRectangle,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In] D2D1_COMPOSITE_MODE compositeMode) No documentation. No documentation. No documentation. No documentation. No documentation. void ID2D1DeviceContext::DrawImage([In] ID2D1Image* image,[In, Optional] const D2D_POINT_2F* targetOffset,[In, Optional] const D2D_RECT_F* imageRectangle,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In] D2D1_COMPOSITE_MODE compositeMode) No documentation. No documentation. No documentation. No documentation. void ID2D1DeviceContext::DrawImage([In] ID2D1Image* image,[In, Optional] const D2D_POINT_2F* targetOffset,[In, Optional] const D2D_RECT_F* imageRectangle,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In] D2D1_COMPOSITE_MODE compositeMode) Draws the bitmap. The bitmap. The opacity. The interpolation mode. void ID2D1DeviceContext::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_F* destinationRectangle,[In] float opacity,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D_RECT_F* sourceRectangle,[In, Optional] const D2D_MATRIX_4X4_F* perspectiveTransform) Draws the bitmap. The bitmap. The opacity. The interpolation mode. The perspective transform ref. void ID2D1DeviceContext::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_F* destinationRectangle,[In] float opacity,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D_RECT_F* sourceRectangle,[In, Optional] const D2D_MATRIX_4X4_F* perspectiveTransform) Draws the bitmap. The bitmap. The opacity. The interpolation mode. The source rectangle. The perspective transform ref. void ID2D1DeviceContext::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_F* destinationRectangle,[In] float opacity,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D_RECT_F* sourceRectangle,[In, Optional] const D2D_MATRIX_4X4_F* perspectiveTransform) No documentation. No documentation. No documentation. void ID2D1DeviceContext::PushLayer([In] const D2D1_LAYER_PARAMETERS1* layerParameters,[In, Optional] ID2D1Layer* layer) Gets the effect invalid rectangles. The effect. HRESULT ID2D1DeviceContext::GetEffectInvalidRectangles([In] ID2D1Effect* effect,[Out, Buffer] D2D_RECT_F* rectangles,[In] unsigned int rectanglesCount) Gets the effect required input rectangles. The render effect. The input descriptions. HRESULT ID2D1DeviceContext::GetEffectRequiredInputRectangles([In] ID2D1Effect* renderEffect,[In, Optional] const D2D_RECT_F* renderImageRectangle,[In, Buffer] const D2D1_EFFECT_INPUT_DESCRIPTION* inputDescriptions,[Out, Buffer] D2D_RECT_F* requiredInputRects,[In] unsigned int inputCount) Gets the effect required input rectangles. The render effect. The render image rectangle. The input descriptions. HRESULT ID2D1DeviceContext::GetEffectRequiredInputRectangles([In] ID2D1Effect* renderEffect,[In, Optional] const D2D_RECT_F* renderImageRectangle,[In, Buffer] const D2D1_EFFECT_INPUT_DESCRIPTION* inputDescriptions,[Out, Buffer] D2D_RECT_F* requiredInputRects,[In] unsigned int inputCount) No documentation. No documentation. No documentation. void ID2D1DeviceContext::FillOpacityMask([In] ID2D1Bitmap* opacityMask,[In] ID2D1Brush* brush,[In, Optional] const D2D_RECT_F* destinationRectangle,[In, Optional] const D2D_RECT_F* sourceRectangle) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the device associated with a device context.

The application can retrieve the device even if it is created from an earlier render target code-path. The application must use an interface and then call GetDevice. Some functionality for controlling all of the resources for a set of device contexts is maintained only on an object.

hh404513 GetDevice GetDevice void ID2D1DeviceContext::GetDevice([Out] ID2D1Device** device)

Gets or sets the target currently associated with the device context.

If a target is not associated with the device context, target will contain null when the methods returns.

If the currently selected target is a bitmap rather than a command list, the application can gain access to the initial bitmaps created by using one of the following methods:

  • CreateHwndRenderTarget
  • CreateDxgiSurfaceRenderTarget
  • CreateWicBitmapRenderTarget
  • CreateDCRenderTarget
  • CreateCompatibleRenderTarget

It is not possible for an application to destroy these bitmaps. All of these bitmaps are bindable as bitmap targets. However not all of these bitmaps can be used as bitmap sources for methods.

CreateDxgiSurfaceRenderTarget will create a bitmap that is usable as a bitmap source if the DXGI surface is bindable as a shader resource view.

CreateCompatibleRenderTarget will always create bitmaps that are usable as a bitmap source.

will copy from the to the original bitmap associated with it. will copy from the original bitmap to the .

objects will be locked in the following circumstances:

  • BeginDraw has been called and the currently selected target bitmap is a WIC bitmap.
  • A WIC bitmap is set as the target of a device context after BeginDraw has been called and before EndDraw has been called.
  • Any of the ID2D1Bitmap::Copy* methods are called with a WIC bitmap as either the source or destination.

objects will be unlocked in the following circumstances:

  • EndDraw is called and the currently selected target bitmap is a WIC bitmap.
  • A WIC bitmap is removed as the target of a device context between the calls to BeginDraw and EndDraw.
  • Any of the ID2D1Bitmap::Copy* methods are called with a WIC bitmap as either the source or destination.

Direct2D will only lock bitmaps that are not currently locked.

Calling QueryInterface for will always succeed. will return a device context corresponding to the currently bound target bitmap. GetDC will fail if the target bitmap was not created with the GDI_COMPATIBLE flag set.

will return if there are any outstanding references to the original target bitmap associated with the render target.

Although the target can be a command list, it cannot be any other type of image. It cannot be the output image of an effect.

hh404523 GetTarget / SetTarget GetTarget void ID2D1DeviceContext::GetTarget([Out, Optional] ID2D1Image** image)

Gets or sets the rendering controls that have been applied to the context.

hh404519 GetRenderingControls / SetRenderingControls GetRenderingControls void ID2D1DeviceContext::GetRenderingControls([Out] D2D1_RENDERING_CONTROLS* renderingControls)

Returns or sets the currently set primitive blend used by the device context.

hh404517 GetPrimitiveBlend / SetPrimitiveBlend GetPrimitiveBlend D2D1_PRIMITIVE_BLEND ID2D1DeviceContext::GetPrimitiveBlend()

Gets or sets the mode that is being used to interpret values by the device context.

hh404525 GetUnitMode / SetUnitMode GetUnitMode D2D1_UNIT_MODE ID2D1DeviceContext::GetUnitMode()

Creates a bitmap that can be used as a target surface, for reading back to the CPU, or as a source for the DrawBitmap and APIs. In addition, color context information can be passed to the bitmap.

No documentation. No documentation. No documentation. No documentation. No documentation.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.
D3DERR_OUTOFVIDEOMEMORYDirect3D does not have enough display memory to perform the operation.

?

The new bitmap can be used as a target for SetTarget if it is created with .

hh404480 HRESULT ID2D1DeviceContext::CreateBitmap([In] D2D_SIZE_U size,[In, Optional] const void* sourceData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES1* bitmapProperties,[Out, Fast] ID2D1Bitmap1** bitmap) ID2D1DeviceContext::CreateBitmap

Creates a Direct2D bitmap by copying a WIC bitmap.

The WIC bitmap source to copy from.

A bitmap properties structure that specifies bitmap creation options.

The address of the newly created bitmap object.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

Starting with Windows?8.1, the bitmapProperties parameter is optional. When it is not specified, the created bitmap inherits the pixel format and alpha mode from wicBitmapSource. For a list of supported pixel formats and alpha modes, see Supported Pixel Formats and Alpha Modes.

When the bitmapProperties parameter is specified, the value in bitmapProperties->pixelFormat must either be or must match the WIC pixel format in wicBitmapSource.

When bitmapProperties->pixelFormat.alphaMode is set to , the newly created bitmap inherits the alpha mode from wicBitmapSource. When bitmapProperties->pixelFormat.alphaMode is set to , , or , this forces the newly created bitmap to use the specified alpha mode.

hh847971 HRESULT ID2D1DeviceContext::CreateBitmapFromWicBitmap([In] IWICBitmapSource* wicBitmapSource,[In, Optional] const D2D1_BITMAP_PROPERTIES1* bitmapProperties,[Out] ID2D1Bitmap1** bitmap) ID2D1DeviceContext::CreateBitmapFromWicBitmap

Creates a color context.

The space of color context to create.

A buffer containing the ICC profile bytes used to initialize the color context when space is . For other types, the parameter is ignored and should be set to null.

The size in bytes of Profile.

When this method returns, contains the address of a reference to a new color context object.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.

?

The new color context can be used in to initialize the color context of a created bitmap.

When space is , profile and profileSize must be specified. Otherwise, these parameters should be set to null and zero respectively. When the space is , the model field of the profile header is inspected to determine if this profile is sRGB or scRGB and the color space is updated respectively. Otherwise the space remains custom.

hh404485 HRESULT ID2D1DeviceContext::CreateColorContext([In] D2D1_COLOR_SPACE space,[In, Buffer, Optional] const unsigned char* profile,[In] unsigned int profileSize,[Out, Fast] ID2D1ColorContext** colorContext) ID2D1DeviceContext::CreateColorContext

Creates a color context by loading it from the specified filename. The profile bytes are the contents of the file specified by Filename.

The path to the file containing the profile bytes to initialize the color context with.

When this method returns, contains the address of a reference to a new color context.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.

?

The new color context can be used in to initialize the color context of a created bitmap. The model field of the profile header is inspected to determine whether this profile is sRGB or scRGB and the color space is updated respectively. Otherwise the space is custom.

hh404488 HRESULT ID2D1DeviceContext::CreateColorContextFromFilename([In] const wchar_t* filename,[Out, Fast] ID2D1ColorContext** colorContext) ID2D1DeviceContext::CreateColorContextFromFilename

Creates a color context from an . The D2D1ColorContext space of the resulting context varies, see Remarks for more info.

No documentation. No documentation.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.

?

The new color context can be used in to initialize the color context of a created bitmap. The model field of the profile header is inspected to determine whether this profile is sRGB or scRGB and the color space is updated respectively. Otherwise the space is custom.

hh404491 HRESULT ID2D1DeviceContext::CreateColorContextFromWicColorContext([In] IWICColorContext* wicColorContext,[Out, Fast] ID2D1ColorContext** colorContext) ID2D1DeviceContext::CreateColorContextFromWicColorContext

Creates a bitmap from a DXGI surface that can be set as a target surface or have additional color context information specified.

The DXGI surface from which the bitmap can be created.

Note??The DXGI surface must have been created from the same Direct3D device that the Direct2D device context is associated with. ?

The bitmap properties specified in addition to the surface.

When this method returns, contains the address of a reference to a new bitmap object.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.
D3DERR_OUTOFVIDEOMEMORYDirect3D does not have enough display memory to perform the operation.

?

If the bitmap properties are not specified, the following information is assumed:

  • The bitmap DPI is 96.
  • The pixel format matches that of the surface.
  • The returned bitmap will inherit the bind flags of the DXGI surface.
    • However, only the subset of flags meaningful to Direct2D will be inherited. For example, D3D10_USAGE_DYNAMIC is not compatible with any public Direct2D flags.
  • The color context is unknown.
  • The alpha mode of the bitmap will be premultiplied (common case) or straight (A8).

If the bitmap properties are specified, the bitmap properties will be used as follows:

  • The bitmap DPI will be specified by the bitmap properties.
  • If both dpiX and dpiY are 0, the bitmap DPI will be 96.
  • The pixel format must be compatible with the shader resource view or render target view of the surface.
  • The bitmap options must be compatible with the bind flags of the DXGI surface. However, they may be a subset. This will influence what resource views are created by the bitmap.
  • The color context information will be used from the bitmap properties, if specified.
hh404482 HRESULT ID2D1DeviceContext::CreateBitmapFromDxgiSurface([In] IDXGISurface* surface,[In, Optional] const D2D1_BITMAP_PROPERTIES1* bitmapProperties,[Out, Fast] ID2D1Bitmap1** bitmap) ID2D1DeviceContext::CreateBitmapFromDxgiSurface

Creates an effect for the specified class ID.

The class ID of the effect to create. See Built-in Effects for a list of effect IDs.

When this method returns, contains the address of a reference to a new effect.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.
D3DERR_OUTOFVIDEOMEMORYDirect3D does not have enough display memory to perform the operation.
The specified effect is not registered by the system.
The effect requires capabilities not supported by the D2D device.

?

If the created effect is a custom effect that is implemented in a DLL, this doesn't increment the reference count for that DLL. If the application deletes an effect while that effect is loaded, the resulting behavior is unpredictable.

hh404500 HRESULT ID2D1DeviceContext::CreateEffect([In] const GUID& effectId,[Out, Fast] ID2D1Effect** effect) ID2D1DeviceContext::CreateEffect

Creates a gradient stop collection, enabling the gradient to contain color channels with values outside of [0,1] and also enabling rendering to a high-color render target with interpolation in sRGB space.

An array of color values and offsets.

The number of elements in the gradientStops array.

Specifies both the input color space and the space in which the color interpolation occurs.

The color space that colors will be converted to after interpolation occurs.

The precision of the texture used to hold interpolated values.

Note??This method will fail if the underlying Direct3D device does not support the requested buffer precision. Use to determine what is supported. ?

Defines how colors outside of the range defined by the stop collection are determined.

Defines how colors are interpolated. is the default, see Remarks for more info.

The new gradient stop collection.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.

?

This method linearly interpolates between the color stops. An optional color space conversion is applied post-interpolation. Whether and how this gamma conversion is applied is determined by the pre- and post-interpolation. This method will fail if the device context does not support the requested buffer precision.

In order to get the desired result, you need to ensure that the inputs are specified in the correct color space.

You must always specify colors in straight alpha, regardless of interpolation mode being premultiplied or straight. The interpolation mode only affects the interpolated values. Likewise, the stops returned by will always have straight alpha.

If you specify , then all stops are premultiplied before interpolation, and then un-premultiplied before color conversion.

Starting with Windows?8, the interpolation behavior of this method has changed.

The table here shows the behavior in Windows?7 and earlier.

GammaBefore Interpolation BehaviorAfter Interpolation BehaviorGetColorInteroplationGamma (output color space)
1.0Clamps the inputs and then converts from sRGB to scRGB.Converts from scRGB to sRGB post-interpolation.1.0
2.2Clamps the inputs.No Operation2.2

?

The table here shows the behavior in Windows?8 and later.

GammaBefore Interpolation BehaviorAfter Interpolation BehaviorGetColorInteroplationGamma (output color space)
sRGB to scRGBNo OperationClamps the outputs and then converts from sRGB to scRGB.1.0
scRGB to sRGBNo OperationClamps the outputs and then converts from sRGB to scRGB.2.2
sRGB to sRGBNo OperationNo Operation2.2
scRGB to scRGBNo OperationNo Operation1.0

?

hh404502 HRESULT ID2D1DeviceContext::CreateGradientStopCollection([In, Buffer] const D2D1_GRADIENT_STOP* straightAlphaGradientStops,[In] unsigned int straightAlphaGradientStopsCount,[In] D2D1_COLOR_SPACE preInterpolationSpace,[In] D2D1_COLOR_SPACE postInterpolationSpace,[In] D2D1_BUFFER_PRECISION bufferPrecision,[In] D2D1_EXTEND_MODE extendMode,[In] D2D1_COLOR_INTERPOLATION_MODE colorInterpolationMode,[Out, Fast] ID2D1GradientStopCollection1** gradientStopCollection1) ID2D1DeviceContext::CreateGradientStopCollection

Creates an image brush. The input image can be any type of image, including a bitmap, effect, or a command list.

The image to be used as a source for the image brush.

The properties specific to an image brush.

Properties common to all brushes.

When this method returns, contains the address of a reference to the input rectangles.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.

?

The image brush can be used to fill an arbitrary geometry, an opacity mask or text.

This sample illustrates drawing a rectangle with an image brush.

	
            CreatePatternBrush( __in  *pDeviceContext, __deref_out  **ppImageBrush )	
            {  hr = ;  *pOldTarget = null; pDeviceContext->GetTarget(&pOldTarget);  *pCommandList = null; hr = pDeviceContext->CreateCommandList(&pCommandList); if (SUCCEEDED(hr)) {    pDeviceContext->SetTarget(pCommandList); hr = RenderPatternToCommandList(pDeviceContext); } pDeviceContext->SetTarget(pOldTarget);  *pImageBrush = null; if (SUCCEEDED(hr)) {         hr = pDeviceContext->CreateImageBrush( pCommandList, D2D1::ImageBrushProperties( D2D1::RectF(198, 298, 370, 470), , ,  ), &pImageBrush ); } // Fill a rectangle with the image brush. if (SUCCEEDED(hr)) { pDeviceContext->FillRectangle( D2D1::RectF(0, 0, 100, 100), pImageBrush); } SafeRelease(&pImageBrush); SafeRelease(&pCommandList); SafeRelease(&pOldTarget); return hr;	
            }
hh404506 HRESULT ID2D1DeviceContext::CreateImageBrush([In, Optional] ID2D1Image* image,[In] const D2D1_IMAGE_BRUSH_PROPERTIES* imageBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1ImageBrush** imageBrush) ID2D1DeviceContext::CreateImageBrush

Creates a bitmap brush, the input image is a Direct2D bitmap object.

The bitmap to use as the brush.

A bitmap brush properties structure.

A brush properties structure.

The address of the newly created bitmap brush object.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

hh847970 HRESULT ID2D1DeviceContext::CreateBitmapBrush([In, Optional] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_BITMAP_BRUSH_PROPERTIES1* bitmapBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1BitmapBrush1** bitmapBrush) ID2D1DeviceContext::CreateBitmapBrush

Creates a object.

No documentation.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.

?

A can store Direct2D commands to be displayed later through or through an image brush.

hh404494 HRESULT ID2D1DeviceContext::CreateCommandList([Out, Fast] ID2D1CommandList** commandList) ID2D1DeviceContext::CreateCommandList

Indicates whether the format is supported by the device context. The formats supported are usually determined by the underlying hardware.

The DXGI format to check.

Returns TRUE if the format is supported. Returns if the format is not supported.

You can use supported formats in the structure to create bitmaps and render targets. Direct2D doesn't support all DXGI formats, even though they may have some level of Direct3D support by the hardware.

hh847982 BOOL ID2D1DeviceContext::IsDxgiFormatSupported([In] DXGI_FORMAT format) ID2D1DeviceContext::IsDxgiFormatSupported

Indicates whether the buffer precision is supported by the underlying Direct3D device.

No documentation.

Returns TRUE if the buffer precision is supported. Returns if the buffer precision is not supported.

dn441541 BOOL ID2D1DeviceContext::IsBufferPrecisionSupported([In] D2D1_BUFFER_PRECISION bufferPrecision) ID2D1DeviceContext::IsBufferPrecisionSupported

Gets the bounds of an image without the world transform of the context applied.

The image whose bounds will be calculated.

When this method returns, contains a reference to the bounds of the image in device independent pixels (DIPs) and in local space.

The image bounds don't include multiplication by the world transform. They do reflect the current DPI, unit mode, and interpolation mode of the context. To get the bounds that include the world transform, use .

The returned bounds reflect which pixels would be impacted by calling DrawImage with a target offset of (0,0) and an identity world transform matrix. They do not reflect the current clip rectangle set on the device context or the extent of the context's current target image.

hh404515 HRESULT ID2D1DeviceContext::GetImageLocalBounds([In] ID2D1Image* image,[Out] D2D_RECT_F* localBounds) ID2D1DeviceContext::GetImageLocalBounds

Gets the bounds of an image with the world transform of the context applied.

The image whose bounds will be calculated.

When this method returns, contains a reference to the bounds of the image in device independent pixels (DIPs).

The image bounds reflect the current DPI, unit mode, and world transform of the context. To get bounds which don't include the world transform, use .

The returned bounds reflect which pixels would be impacted by calling DrawImage with the same image and a target offset of (0,0). They do not reflect the current clip rectangle set on the device context or the extent of the context?s current target image.

hh847979 HRESULT ID2D1DeviceContext::GetImageWorldBounds([In] ID2D1Image* image,[Out] D2D_RECT_F* worldBounds) ID2D1DeviceContext::GetImageWorldBounds

Gets the world-space bounds in DIPs of the glyph run using the device context DPI.

The origin of the baseline for the glyph run.

The glyph run to render.

The DirectWrite measuring mode that indicates how glyph metrics are used to measure text when it is formatted.

The bounds of the glyph run in DIPs and in world space.

The image bounds reflect the current DPI, unit mode, and world transform of the context.

hh847978 HRESULT ID2D1DeviceContext::GetGlyphRunWorldBounds([In] D2D_POINT_2F baselineOrigin,[In] const DWRITE_GLYPH_RUN* glyphRun,[In] DWRITE_MEASURING_MODE measuringMode,[Out] D2D_RECT_F* bounds) ID2D1DeviceContext::GetGlyphRunWorldBounds

Gets the device associated with a device context.

When this method returns, contains the address of a reference to a Direct2D device associated with this device context.

The application can retrieve the device even if it is created from an earlier render target code-path. The application must use an interface and then call GetDevice. Some functionality for controlling all of the resources for a set of device contexts is maintained only on an object.

hh404513 void ID2D1DeviceContext::GetDevice([Out] ID2D1Device** device) ID2D1DeviceContext::GetDevice

The bitmap or command list to which the Direct2D device context will now render.

No documentation.

The target can be changed at any time, including while the context is drawing.

The target can be either a bitmap created with the flag, or it can be a command list. Other kinds of images cannot be set as a target. For example, you cannot set the output of an effect as target. If the target is not valid the context will enter the error state.

You cannot use SetTarget to render to a bitmap/command list from multiple device contexts simultaneously. An image is considered ?being rendered to? if it has ever been set on a device context within a BeginDraw/EndDraw timespan. If an attempt is made to render to an image through multiple device contexts, all subsequent device contexts after the first will enter an error state.

Callers wishing to attach an image to a second device context should first call EndDraw on the first device context.

Here is an example of the correct calling order.

pDC1->BeginDraw();	
            pDC1->SetTarget(pImage);	
            // ?	
            pDC1->EndDraw(); pDC2->BeginDraw();	
            pDC2->SetTarget(pImage);	
            // ?	
            pDC2->EndDraw();	
            

Here is an example of the incorrect calling order.

pDC1->BeginDraw();	
            pDC2->BeginDraw(); pDC1->SetTarget(pImage); // ... pDC1->SetTarget(null); pDC2->SetTarget(pImage); // This call is invalid, even though pImage is no longer set on pDC1. // ... pDC1->EndDraw(); // This EndDraw SUCCEEDs.	
            pDC2->EndDraw(); // This EndDraw FAILs 
Note??Changing the target does not change the bitmap that an render target presents from, nor does it change the bitmap that a DC render target blts to/from.?

This API makes it easy for an application to use a bitmap as a source (like in DrawBitmap) and as a destination at the same time. Attempting to use a bitmap as a source on the same device context to which it is bound as a target will put the device context into the error state.

It is acceptable to have a bitmap bound as a target bitmap on multiple render targets at once. Applications that do this must properly synchronize rendering with Flush or EndDraw.

You can change the target at any time, including while the context is drawing.

You can set the target to null, in which case drawing calls will put the device context into an error state with . Calling SetTarget with a null target does not restore the original target bitmap to the device context.

If the device context has an outstanding , the context will enter the error state. The target will not be changed.

If the bitmap and the device context are not in the same resource domain, the context will enter \ error state. The target will not be changed.

returns the size of the current target bitmap (or 0, 0) if there is no bitmap bound). returns the pixel size of the current bitmap scaled by the DPI of the render target. SetTarget does not affect the DPI of the render target.

returns the pixel format of the current target bitmap (or , if there is none).

copies from the currently bound target bitmap.

hh404533 void ID2D1DeviceContext::SetTarget([In, Optional] ID2D1Image* image) ID2D1DeviceContext::SetTarget

Gets the target currently associated with the device context.

When this method returns, contains the address of a reference to the target currently associated with the device context.

If a target is not associated with the device context, target will contain null when the methods returns.

If the currently selected target is a bitmap rather than a command list, the application can gain access to the initial bitmaps created by using one of the following methods:

  • CreateHwndRenderTarget
  • CreateDxgiSurfaceRenderTarget
  • CreateWicBitmapRenderTarget
  • CreateDCRenderTarget
  • CreateCompatibleRenderTarget

It is not possible for an application to destroy these bitmaps. All of these bitmaps are bindable as bitmap targets. However not all of these bitmaps can be used as bitmap sources for methods.

CreateDxgiSurfaceRenderTarget will create a bitmap that is usable as a bitmap source if the DXGI surface is bindable as a shader resource view.

CreateCompatibleRenderTarget will always create bitmaps that are usable as a bitmap source.

will copy from the to the original bitmap associated with it. will copy from the original bitmap to the .

objects will be locked in the following circumstances:

  • BeginDraw has been called and the currently selected target bitmap is a WIC bitmap.
  • A WIC bitmap is set as the target of a device context after BeginDraw has been called and before EndDraw has been called.
  • Any of the ID2D1Bitmap::Copy* methods are called with a WIC bitmap as either the source or destination.

objects will be unlocked in the following circumstances:

  • EndDraw is called and the currently selected target bitmap is a WIC bitmap.
  • A WIC bitmap is removed as the target of a device context between the calls to BeginDraw and EndDraw.
  • Any of the ID2D1Bitmap::Copy* methods are called with a WIC bitmap as either the source or destination.

Direct2D will only lock bitmaps that are not currently locked.

Calling QueryInterface for will always succeed. will return a device context corresponding to the currently bound target bitmap. GetDC will fail if the target bitmap was not created with the GDI_COMPATIBLE flag set.

will return if there are any outstanding references to the original target bitmap associated with the render target.

Although the target can be a command list, it cannot be any other type of image. It cannot be the output image of an effect.

hh404523 void ID2D1DeviceContext::GetTarget([Out, Optional] ID2D1Image** image) ID2D1DeviceContext::GetTarget

Sets the rendering controls for the given device context.

The rendering controls to be applied.

The rendering controls allow the application to tune the precision, performance, and resource usage of rendering operations.

hh404530 void ID2D1DeviceContext::SetRenderingControls([In] const D2D1_RENDERING_CONTROLS* renderingControls) ID2D1DeviceContext::SetRenderingControls

Gets the rendering controls that have been applied to the context.

When this method returns, contains a reference to the rendering controls for this context.

hh404519 void ID2D1DeviceContext::GetRenderingControls([Out] D2D1_RENDERING_CONTROLS* renderingControls) ID2D1DeviceContext::GetRenderingControls

Changes the primitive blend mode that is used for all rendering operations in the device context.

The primitive blend to use.

The primitive blend will apply to all of the primitive drawn on the context, unless this is overridden with the compositeMode parameter on the DrawImage API.

The primitive blend applies to the interior of any primitives drawn on the context. In the case of DrawImage, this will be implied by the image rectangle, offset and world transform.

If the primitive blend is anything other than then ClearType rendering will be turned off. If the application explicitly forces ClearType rendering in these modes, the drawing context will be placed in an error state. will be returned from either EndDraw or Flush.

hh404527 void ID2D1DeviceContext::SetPrimitiveBlend([In] D2D1_PRIMITIVE_BLEND primitiveBlend) ID2D1DeviceContext::SetPrimitiveBlend

Returns the currently set primitive blend used by the device context.

The current primitive blend. The default value is .

hh404517 D2D1_PRIMITIVE_BLEND ID2D1DeviceContext::GetPrimitiveBlend() ID2D1DeviceContext::GetPrimitiveBlend

Sets what units will be used to interpret values passed into the device context.

An enumeration defining how passed-in units will be interpreted by the device context.

This method will affect all properties and parameters affected by SetDpi and GetDpi. This affects all coordinates, lengths, and other properties that are not explicitly defined as being in another unit. For example:

  • SetUnitMode will affect a coordinate passed into ID2D1DeviceContext::DrawLine, and the scaling of a geometry passed into ID2D1DeviceContext::FillGeometry.
  • SetUnitMode will not affect the value returned by .
hh404539 void ID2D1DeviceContext::SetUnitMode([In] D2D1_UNIT_MODE unitMode) ID2D1DeviceContext::SetUnitMode

Gets the mode that is being used to interpret values by the device context.

The unit mode.

hh404525 D2D1_UNIT_MODE ID2D1DeviceContext::GetUnitMode() ID2D1DeviceContext::GetUnitMode

Draws a series of glyphs to the device context.

Origin of first glyph in the series.

The glyphs to render.

Supplementary glyph series information.

The brush that defines the text color.

The measuring mode of the glyph series, used to determine the advances and offsets. The default value is .

The glyphRunDescription is ignored when rendering, but can be useful for printing and serialization of rendering commands, such as to an XPS or SVG file. This extends , which lacked the glyph run description.

hh404508 void ID2D1DeviceContext::DrawGlyphRun([In] D2D_POINT_2F baselineOrigin,[In] const DWRITE_GLYPH_RUN* glyphRun,[In, Optional] const DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription,[In] ID2D1Brush* foregroundBrush,[In] DWRITE_MEASURING_MODE measuringMode) ID2D1DeviceContext::DrawGlyphRun

A command list cannot reference effects which are part of effect graphs that consume the command list.

No documentation. No documentation. No documentation. No documentation. No documentation. jj835880 void ID2D1DeviceContext::DrawImage([In] ID2D1Image* image,[In, Optional] const D2D_POINT_2F* targetOffset,[In, Optional] const D2D_RECT_F* imageRectangle,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In] D2D1_COMPOSITE_MODE compositeMode) ID2D1DeviceContext::DrawImage

Draw a metafile to the device context.

The metafile to draw.

The offset from the upper left corner of the render target.

jj841147 void ID2D1DeviceContext::DrawGdiMetafile([In] ID2D1GdiMetafile* gdiMetafile,[In, Optional] const D2D_POINT_2F* targetOffset) ID2D1DeviceContext::DrawGdiMetafile

Draws a bitmap to the render target.

The bitmap to draw.

The destination rectangle. The default is the size of the bitmap and the location is the upper left corner of the render target.

The opacity of the bitmap.

The interpolation mode to use.

An optional source rectangle.

An optional perspective transform.

The destinationRectangle parameter defines the rectangle in the target where the bitmap will appear (in device-independent pixels (DIPs)). This is affected by the currently set transform and the perspective transform, if set. If null is specified, then the destination rectangle is (left=0, top=0, right = width(sourceRectangle), bottom = height(sourceRectangle)).

The sourceRectangle parameter defines the sub-rectangle of the source bitmap (in DIPs). DrawBitmap will clip this rectangle to the size of the source bitmap, thus making it impossible to sample outside of the bitmap. If null is specified, then the source rectangle is taken to be the size of the source bitmap.

If you specify perspectiveTransform it is applied to the rect in addition to the transform set on the render target.

jj841144 void ID2D1DeviceContext::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_F* destinationRectangle,[In] float opacity,[In] D2D1_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D_RECT_F* sourceRectangle,[In, Optional] const D2D_MATRIX_4X4_F* perspectiveTransform) ID2D1DeviceContext::DrawBitmap

Push a layer onto the clip and layer stack of the device context.

The parameters that defines the layer.

The layer resource to push on the device context that receives subsequent drawing operations.

Note??If a layer is not specified, Direct2D manages the layer resource automatically. ?
hh847983 void ID2D1DeviceContext::PushLayer([In] const D2D1_LAYER_PARAMETERS1* layerParameters,[In, Optional] ID2D1Layer* layer) ID2D1DeviceContext::PushLayer

This indicates that a portion of an effect's input is invalid. This method can be called many times.

You can use this method to propagate invalid rectangles through an effect graph. You can query Direct2D using the GetEffectInvalidRectangles method.

Note??Direct2D does not automatically use these invalid rectangles to reduce the region of an effect that is rendered.?

You can also use this method to invalidate caches that have accumulated while rendering effects that have the property set to true.

No documentation. No documentation. No documentation.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

hh847980 HRESULT ID2D1DeviceContext::InvalidateEffectInputRectangle([In] ID2D1Effect* effect,[In] unsigned int input,[In] const D2D_RECT_F* inputRectangle) ID2D1DeviceContext::InvalidateEffectInputRectangle

Gets the number of invalid output rectangles that have accumulated on the effect.

The effect to count the invalid rectangles on.

The returned rectangle count.

hh847975 HRESULT ID2D1DeviceContext::GetEffectInvalidRectangleCount([In] ID2D1Effect* effect,[Out] unsigned int* rectangleCount) ID2D1DeviceContext::GetEffectInvalidRectangleCount

Gets the invalid rectangles that have accumulated since the last time the effect was drawn and EndDraw was then called on the device context.

No documentation. No documentation. No documentation.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

Note??Direct2D does not automatically use these invalid rectangles to reduce the region of an effect that is rendered.?

You can use the InvalidateEffectInputRectangle method to specify invalidated rectangles for Direct2D to propagate through an effect graph.

If multiple invalid rectangles are requested, the rectangles that this method returns may overlap. When this is the case, the rectangle count might be lower than the count that GetEffectInvalidRectangleCount.

hh847976 HRESULT ID2D1DeviceContext::GetEffectInvalidRectangles([In] ID2D1Effect* effect,[Out, Buffer] D2D_RECT_F* rectangles,[In] unsigned int rectanglesCount) ID2D1DeviceContext::GetEffectInvalidRectangles

Returns the input rectangles that are required to be supplied by the caller to produce the given output rectangle.

The image whose output is being rendered.

The portion of the output image whose inputs are being inspected.

A list of the inputs whos rectangles are being queried.

The input rectangles returned to the caller.

The number of inputs.

A failure code, this will typically only be because an effect in the chain returned some error.

The caller should be very careful not to place a reliance on the required input rectangles returned. Small changes for correctness to an effect's behavior can result in different rectangles being returned. In addition, different kinds of optimization applied inside the render can also influence the result.

hh847977 HRESULT ID2D1DeviceContext::GetEffectRequiredInputRectangles([In] ID2D1Effect* renderEffect,[In, Optional] const D2D_RECT_F* renderImageRectangle,[In, Buffer] const D2D1_EFFECT_INPUT_DESCRIPTION* inputDescriptions,[Out, Buffer] D2D_RECT_F* requiredInputRects,[In] unsigned int inputCount) ID2D1DeviceContext::GetEffectRequiredInputRectangles

Fill using the alpha channel of the supplied opacity mask bitmap. The brush opacity will be modulated by the mask. The render target antialiasing mode must be set to aliased.

The bitmap that acts as the opacity mask

The brush to use for filling the primitive.

The destination rectangle to output to in the render target

The source rectangle from the opacity mask bitmap.

hh847974 void ID2D1DeviceContext::FillOpacityMask([In] ID2D1Bitmap* opacityMask,[In] ID2D1Brush* brush,[In, Optional] const D2D_RECT_F* destinationRectangle,[In, Optional] const D2D_RECT_F* sourceRectangle) ID2D1DeviceContext::FillOpacityMask

Enables creation and drawing of geometry realization objects.

dn280461 ID2D1DeviceContext1 ID2D1DeviceContext1
Initializes a new instance of the class using an existing . The device. The options to be applied to the created device context. The new device context will not have a selected target bitmap. The caller must create and select a bitmap as the target surface of the context. HRESULT ID2D1Device1::CreateDeviceContext([In] D2D1_DEVICE_CONTEXT_OPTIONS options,[Out] ID2D1DeviceContext1** deviceContext1) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Creates a device-dependent representation of the fill of the geometry that can be subsequently rendered.

The geometry to realize.

The flattening tolerance to use when converting Beziers to line segments. This parameter shares the same units as the coordinates of the geometry.

When this method returns, contains the address of a reference to a new geometry realization object.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.

?

This method is used in conjunction with . The D2D1::ComputeFlatteningTolerance helper API may be used to determine the proper flattening tolerance.

If the provided stroke style specifies a stroke transform type other than , then the stroke will be realized assuming the identity transform and a DPI of 96.

dn280462 HRESULT ID2D1DeviceContext1::CreateFilledGeometryRealization([In] ID2D1Geometry* geometry,[In] float flatteningTolerance,[Out, Fast] ID2D1GeometryRealization** geometryRealization) ID2D1DeviceContext1::CreateFilledGeometryRealization

Creates a device-dependent representation of the stroke of a geometry that can be subsequently rendered.

The geometry to realize.

The flattening tolerance to use when converting Beziers to line segments. This parameter shares the same units as the coordinates of the geometry.

The width of the stroke. This parameter shares the same units as the coordinates of the geometry.

The stroke style (optional).

When this method returns, contains the address of a reference to a new geometry realization object.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.

?

This method is used in conjunction with . The D2D1::ComputeFlatteningTolerance helper API may be used to determine the proper flattening tolerance.

If the provided stroke style specifies a stroke transform type other than , then the stroke will be realized assuming the identity transform and a DPI of 96.

dn280463 HRESULT ID2D1DeviceContext1::CreateStrokedGeometryRealization([In] ID2D1Geometry* geometry,[In] float flatteningTolerance,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[Out, Fast] ID2D1GeometryRealization** geometryRealization) ID2D1DeviceContext1::CreateStrokedGeometryRealization

Renders a given geometry realization to the target with the specified brush.

The geometry realization to be rendered.

The brush to render the realization with.

This method respects all currently set state (transform, DPI, unit mode, target image, clips, layers); however, artifacts such as faceting may appear when rendering the realizations with a large effective scale (either via the transform or the DPI). Callers should create their realizations with an appropriate flattening tolerance using either D2D1_DEFAULT_FLATTENING_TOLERANCE or ComputeFlatteningTolerance to compensate for this.

Additionally, callers should be aware of the safe render bounds when creating geometry realizations. If a geometry extends outside of [-524,287, 524,287] DIPs in either the X- or the Y- direction in its original (pre-transform) coordinate space, then it may be clipped to those bounds when it is realized. This clipping will be visible even if the realization is subsequently transformed to fit within the safe render bounds.

dn280464 void ID2D1DeviceContext1::DrawGeometryRealization([In] ID2D1GeometryRealization* geometryRealization,[In] ID2D1Brush* brush) ID2D1DeviceContext1::DrawGeometryRealization

This interface performs all the same functions as the interface, plus it enables functionality such as ink rendering, gradient mesh rendering, and improved image loading.

dn890789 ID2D1DeviceContext2 ID2D1DeviceContext2
Initializes a new instance of the class using an existing . The device. The options to be applied to the created device context. The new device context will not have a selected target bitmap. The caller must create and select a bitmap as the target surface of the context. HRESULT ID2D1Device2::CreateDeviceContext([In] D2D1_DEVICE_CONTEXT_OPTIONS options,[Out] ID2D1DeviceContext2** deviceContext2) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Creates a new object that starts at the given point.

No documentation. No documentation.

if successful, otherwise a failure .

dn900368 HRESULT ID2D1DeviceContext2::CreateInk([In] const D2D1_INK_POINT* startPoint,[Out, Fast] ID2D1Ink** ink) ID2D1DeviceContext2::CreateInk

Creates a new object, for use with ink rendering methods such as DrawInk.

No documentation. No documentation.

if successful, otherwise a failure .

dn900369 HRESULT ID2D1DeviceContext2::CreateInkStyle([In, Optional] const D2D1_INK_STYLE_PROPERTIES* inkStyleProperties,[Out, Fast] ID2D1InkStyle** inkStyle) ID2D1DeviceContext2::CreateInkStyle

Creates a new instance using the given array of patches.

No documentation. No documentation. No documentation.

if successful, otherwise a failure .

dn890790 HRESULT ID2D1DeviceContext2::CreateGradientMesh([In, Buffer] const D2D1_GRADIENT_MESH_PATCH* patches,[In] unsigned int patchesCount,[Out, Fast] ID2D1GradientMesh** gradientMesh) ID2D1DeviceContext2::CreateGradientMesh

Creates an image source object from a WIC bitmap source, while populating all pixel memory within the image source. The image is loaded and stored while using a minimal amount of memory.

The WIC bitmap source to create the image source from.

Options for creating the image source. Default options are used if null.

Receives the new image source instance.

Receives the new image source instance.

if successful, otherwise a failure .

This method creates an image source which can be used to draw the image.

This method supports images that exceed the maximum texture size. Large images are internally stored within a sparse tile cache.

This API supports the same set of pixel formats and alpha modes supported by CreateBitmapFromWicBitmap. If the GPU does not support a given pixel format, this method will return . This method does not apply adjustments such as gamma or alpha premultiplication which affect the appearance of the image.

This method automatically selects an appropriate storage format to minimize GPU memory usage., such as using separate luminance and chrominance textures for JPEG images.

If the loadingOptions argument is null, D2D uses .

dn890793 HRESULT ID2D1DeviceContext2::CreateImageSourceFromWic([In] IWICBitmapSource* wicBitmapSource,[In] D2D1_IMAGE_SOURCE_LOADING_OPTIONS loadingOptions,[In] D2D1_ALPHA_MODE alphaMode,[Out, Fast] ID2D1ImageSourceFromWic** imageSource) ID2D1DeviceContext2::CreateImageSourceFromWic

Creates a 3D lookup table for mapping a 3-channel input to a 3-channel output. The table data must be provided in 4-channel format.

Precision of the input lookup table data.

Number of lookup table elements per dimension (X, Y, Z).

Buffer holding the lookup table data.

Size of the lookup table data buffer.

An array containing two values. The first value is the size in bytes from one row (X dimension) of LUT data to the next. The second value is the size in bytes from one LUT data plane (X and Y dimensions) to the next.

Receives the new lookup table instance.

if successful, otherwise a failure .

dn900373 HRESULT ID2D1DeviceContext2::CreateLookupTable3D([In] D2D1_BUFFER_PRECISION precision,[In, Buffer] const unsigned int* extents,[In, Buffer] const unsigned char* data,[In] unsigned int dataCount,[In, Buffer] const unsigned int* strides,[Out, Fast] ID2D1LookupTable3D** lookupTable) ID2D1DeviceContext2::CreateLookupTable3D

Creates an image source from a set of DXGI surface(s). The YCbCr surface(s) are converted to RGBA automatically during subsequent drawing.

The DXGI surfaces to create the image source from.

The number of surfaces provided; must be between one and three.

The color space of the input.

Options controlling color space conversions.

Receives the new image source instance.

if successful, otherwise a failure .

This method creates an image source which can be used to draw the image. This method supports surfaces that use a limited set of DXGI formats and DXGI color space types. Only the below set of combinations of color space types, surface formats, and surface counts are supported:

Color Space TypeSurface Count(s)Surface Format(s)
1 Standard D2D-supported pixel formats:
1, 2, 3 When Surface count is 1:

When Surface Count is 2:

  • {DXGI_FORMAT_R8_UNORM, }

When Surface Count is 3:

  • {DXGI_FORMAT_R8_UNORM, , }

1,2,3

When Surface count is 1:

When Surface Count is 2:

  • {DXGI_FORMAT_R8_UNORM, }

When Surface Count is 3:

  • {DXGI_FORMAT_R8_UNORM, , }

?

The GPU must also have sufficient support for a pixel format to be supported by D2D. To determine whether D2D supports a format, call IsDxgiFormatSupported.

This API converts YCbCr formats to sRGB using the provided color space type and options. RGBA data is assumed to be in the desired space, and D2D does not apply any conversion.

If multiple surfaces are provided, this method infers whether chroma planes are subsampled (by 2x) from the relative sizes of each corresponding source rectangle (or if the source rectangles parameter is null, the bounds of each surface). The second and third rectangle must each be equal in size to the first rectangle, or to the first rectangle with one or both dimensions scaled by 0.5 (while rounding up).

If provided, the source rectangles must be within the bounds of the corresponding surface. The source rectangles may have different origins. In this case, this method shifts the data from each plane to align with one another.

dn890791 HRESULT ID2D1DeviceContext2::CreateImageSourceFromDxgi([In, Buffer] IDXGISurface** surfaces,[In] unsigned int surfaceCount,[In] DXGI_COLOR_SPACE_TYPE colorSpace,[In] D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS options,[Out, Fast] ID2D1ImageSource** imageSource) ID2D1DeviceContext2::CreateImageSourceFromDxgi

Creates an image source from a set of DXGI surface(s). The YCbCr surface(s) are converted to RGBA automatically during subsequent drawing.

The DXGI surfaces to create the image source from.

The number of surfaces provided; must be between one and three.

The color space of the input.

Options controlling color space conversions.

Receives the new image source instance.

if successful, otherwise a failure .

This method creates an image source which can be used to draw the image. This method supports surfaces that use a limited set of DXGI formats and DXGI color space types. Only the below set of combinations of color space types, surface formats, and surface counts are supported:

Color Space TypeSurface Count(s)Surface Format(s)
1 Standard D2D-supported pixel formats:
1, 2, 3 When Surface count is 1:

When Surface Count is 2:

  • {DXGI_FORMAT_R8_UNORM, }

When Surface Count is 3:

  • {DXGI_FORMAT_R8_UNORM, , }

1,2,3

When Surface count is 1:

When Surface Count is 2:

  • {DXGI_FORMAT_R8_UNORM, }

When Surface Count is 3:

  • {DXGI_FORMAT_R8_UNORM, , }

?

The GPU must also have sufficient support for a pixel format to be supported by D2D. To determine whether D2D supports a format, call IsDxgiFormatSupported.

This API converts YCbCr formats to sRGB using the provided color space type and options. RGBA data is assumed to be in the desired space, and D2D does not apply any conversion.

If multiple surfaces are provided, this method infers whether chroma planes are subsampled (by 2x) from the relative sizes of each corresponding source rectangle (or if the source rectangles parameter is null, the bounds of each surface). The second and third rectangle must each be equal in size to the first rectangle, or to the first rectangle with one or both dimensions scaled by 0.5 (while rounding up).

If provided, the source rectangles must be within the bounds of the corresponding surface. The source rectangles may have different origins. In this case, this method shifts the data from each plane to align with one another.

dn890791 HRESULT ID2D1DeviceContext2::CreateImageSourceFromDxgi([In, Buffer] IDXGISurface** surfaces,[In] unsigned int surfaceCount,[In] DXGI_COLOR_SPACE_TYPE colorSpace,[In] D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS options,[Out, Fast] ID2D1ImageSource** imageSource) ID2D1DeviceContext2::CreateImageSourceFromDxgi

Creates an image source from a set of DXGI surface(s). The YCbCr surface(s) are converted to RGBA automatically during subsequent drawing.

The DXGI surfaces to create the image source from.

The number of surfaces provided; must be between one and three.

The color space of the input.

Options controlling color space conversions.

Receives the new image source instance.

if successful, otherwise a failure .

This method creates an image source which can be used to draw the image. This method supports surfaces that use a limited set of DXGI formats and DXGI color space types. Only the below set of combinations of color space types, surface formats, and surface counts are supported:

Color Space TypeSurface Count(s)Surface Format(s)
1 Standard D2D-supported pixel formats:
1, 2, 3 When Surface count is 1:

When Surface Count is 2:

  • {DXGI_FORMAT_R8_UNORM, }

When Surface Count is 3:

  • {DXGI_FORMAT_R8_UNORM, , }

1,2,3

When Surface count is 1:

When Surface Count is 2:

  • {DXGI_FORMAT_R8_UNORM, }

When Surface Count is 3:

  • {DXGI_FORMAT_R8_UNORM, , }

?

The GPU must also have sufficient support for a pixel format to be supported by D2D. To determine whether D2D supports a format, call IsDxgiFormatSupported.

This API converts YCbCr formats to sRGB using the provided color space type and options. RGBA data is assumed to be in the desired space, and D2D does not apply any conversion.

If multiple surfaces are provided, this method infers whether chroma planes are subsampled (by 2x) from the relative sizes of each corresponding source rectangle (or if the source rectangles parameter is null, the bounds of each surface). The second and third rectangle must each be equal in size to the first rectangle, or to the first rectangle with one or both dimensions scaled by 0.5 (while rounding up).

If provided, the source rectangles must be within the bounds of the corresponding surface. The source rectangles may have different origins. In this case, this method shifts the data from each plane to align with one another.

dn890791 HRESULT ID2D1DeviceContext2::CreateImageSourceFromDxgi([In, Buffer] IDXGISurface** surfaces,[In] unsigned int surfaceCount,[In] DXGI_COLOR_SPACE_TYPE colorSpace,[In] D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS options,[Out, Fast] ID2D1ImageSource** imageSource) ID2D1DeviceContext2::CreateImageSourceFromDxgi

Returns the world bounds of a given gradient mesh.

The gradient mesh whose world bounds will be calculated.

When this method returns, contains a reference to the bounds of the gradient mesh, in device independent pixels (DIPs).

if successful, otherwise a failure .

The world bounds reflect the current DPI, unit mode, and world transform of the context. They indicate which pixels would be impacted by calling DrawGradientMesh with the given gradient mesh. They do not reflect the current clip rectangle set on the device context or the extent of the context?s current target.

dn900380 HRESULT ID2D1DeviceContext2::GetGradientMeshWorldBounds([In] ID2D1GradientMesh* gradientMesh,[Out] D2D_RECT_F* pBounds) ID2D1DeviceContext2::GetGradientMeshWorldBounds

Renders the given ink object using the given brush and ink style.

The ink object to be rendered.

The brush with which to render the ink object.

The ink style to use when rendering the ink object.

dn900379 void ID2D1DeviceContext2::DrawInk([In] ID2D1Ink* ink,[In] ID2D1Brush* brush,[In, Optional] ID2D1InkStyle* inkStyle) ID2D1DeviceContext2::DrawInk

Renders a given gradient mesh to the target.

The gradient mesh to be rendered.

dn900378 void ID2D1DeviceContext2::DrawGradientMesh([In] ID2D1GradientMesh* gradientMesh) ID2D1DeviceContext2::DrawGradientMesh

Draws a metafile to the device context using the given source and destination rectangles.

The metafile to draw.

The rectangle in the target where the metafile will be drawn, relative to the upper left corner (defined in DIPs) of the render target. If null is specified, the destination rectangle is {0, 0, w, h}, where w and h are the width and height of the metafile as reported by .

The rectangle of the source metafile that will be drawn, relative to the upper left corner (defined in DIPs) of the metafile. If null is specified, the source rectangle is the value returned by .

dn900375 void ID2D1DeviceContext2::DrawGdiMetafile([In] ID2D1GdiMetafile* gdiMetafile,[In, Optional] const D2D_RECT_F* destinationRectangle,[In, Optional] const D2D_RECT_F* sourceRectangle) ID2D1DeviceContext2::DrawGdiMetafile

Creates an image source which shares resources with an original.

The original image.

Properties for the source image.

Receives the new image source.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn934381 HRESULT ID2D1DeviceContext2::CreateTransformedImageSource([In] ID2D1ImageSource* imageSource,[In] const D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES* properties,[Out, Fast] ID2D1TransformedImageSource** transformedImageSource) ID2D1DeviceContext2::CreateTransformedImageSource

This interface performs all the same functions as the interface, plus it enables functionality for creating and drawing sprite batches.

mt619826 ID2D1DeviceContext3 ID2D1DeviceContext3
Initializes a new instance of the class using an existing . The device. The options to be applied to the created device context. The new device context will not have a selected target bitmap. The caller must create and select a bitmap as the target surface of the context. HRESULT ID2D1Device3::CreateDeviceContext([In] D2D1_DEVICE_CONTEXT_OPTIONS options,[Out] ID2D1DeviceContext3** deviceContext3) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Creates a new, empty sprite batch. After creating a sprite batch, use to add sprites to it, then use to draw it.

No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

mt619827 HRESULT ID2D1DeviceContext3::CreateSpriteBatch([Out, Fast] ID2D1SpriteBatch** spriteBatch) ID2D1DeviceContext3::CreateSpriteBatch

Renders all sprites in the given sprite batch to the device context using the specified drawing options.

The sprite batch to draw.

The bitmap from which the sprites are to be sourced. Each sprite?s source rectangle refers to a portion of this bitmap.

The interpolation mode to use when drawing this sprite batch. This determines how Direct2D interpolates pixels within the drawn sprites if scaling is performed.

The bitmap from which the sprites are to be sourced. Each sprite?s source rectangle refers to a portion of this bitmap.

The interpolation mode to use when drawing this sprite batch. This determines how Direct2D interpolates pixels within the drawn sprites if scaling is performed.

The additional drawing options, if any, to be used for this sprite batch.

mt619829 void ID2D1DeviceContext3::DrawSpriteBatch([In] ID2D1SpriteBatch* spriteBatch,[In] unsigned int startIndex,[In] unsigned int spriteCount,[In] ID2D1Bitmap* bitmap,[In] D2D1_BITMAP_INTERPOLATION_MODE interpolationMode,[In] D2D1_SPRITE_OPTIONS spriteOptions) ID2D1DeviceContext3::DrawSpriteBatch

This interface performs all the same functions as the interface, plus it enables functionality for handling new types of color font glyphs.

mt736468 ID2D1DeviceContext4 ID2D1DeviceContext4
Initializes a new instance of the class using an existing . The device. The options to be applied to the created device context. The new device context will not have a selected target bitmap. The caller must create and select a bitmap as the target surface of the context. HRESULT ID2D1Device4::CreateDeviceContext([In] D2D1_DEVICE_CONTEXT_OPTIONS options,[Out] ID2D1DeviceContext4** DeviceContext4) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Creates an SVG glyph style object.

On completion points to the created object.

This method returns an success or error code.

mt750183 HRESULT ID2D1DeviceContext4::CreateSvgGlyphStyle([Out] ID2D1SvgGlyphStyle** svgGlyphStyle) ID2D1DeviceContext4::CreateSvgGlyphStyle

Represents a set of state and command buffers that are used to render to a target.

The device context can render to a target bitmap or a command list.

No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation.

Any resource created from a device context can be shared with any other resource created from a device context when both contexts are created on the same device.

hh404479 void ID2D1DeviceContext4::DrawTextW([In, Buffer] const wchar_t* string,[In] unsigned int stringLength,[In] IDWriteTextFormat* textFormat,[In] const D2D_RECT_F* layoutRect,[In, Optional] ID2D1Brush* defaultFillBrush,[In, Optional] ID2D1SvgGlyphStyle* svgGlyphStyle,[In] unsigned int colorPaletteIndex,[In] D2D1_DRAW_TEXT_OPTIONS options,[In] DWRITE_MEASURING_MODE measuringMode) ID2D1DeviceContext4::DrawTextW

Draws a text layout object. If the layout is not subsequently changed, this can be more efficient than DrawText when drawing the same layout repeatedly.

The point, described in device-independent pixels, at which the upper-left corner of the text described by textLayout is drawn.

The formatted text to draw. Any drawing effects that do not inherit from are ignored. If there are drawing effects that inherit from that are not brushes, this method fails and the render target is put in an error state.

The brush used to paint the text.

The values for context-fill, context-stroke, and context-value that are used when rendering SVG glyphs.

The index used to select a color palette within a color font.

A value that indicates whether the text should be snapped to pixel boundaries and whether the text should be clipped to the layout rectangle. The default value is , which indicates that text should be snapped to pixel boundaries and it should not be clipped to the layout rectangle.

mt750187 void ID2D1DeviceContext4::DrawTextLayout([In] D2D_POINT_2F origin,[In] IDWriteTextLayout* textLayout,[In, Optional] ID2D1Brush* defaultFillBrush,[In, Optional] ID2D1SvgGlyphStyle* svgGlyphStyle,[In] unsigned int colorPaletteIndex,[In] D2D1_DRAW_TEXT_OPTIONS options) ID2D1DeviceContext4::DrawTextLayout

Draws a color bitmap glyph run using one of the bitmap formats.

Specifies the format of the glyph image. Supported formats are , , , or . This method will result in an error if the color glyph run does not contain the requested format.

Only one format can be specified at a time, combinations of flags are not valid input.

The origin of the baseline for the glyph run.

The glyphs to render.

Indicates the measuring method.

Specifies the pixel snapping policy when rendering color bitmap glyphs.

mt750184 void ID2D1DeviceContext4::DrawColorBitmapGlyphRun([In] DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat,[In] D2D_POINT_2F baselineOrigin,[In] const DWRITE_GLYPH_RUN* glyphRun,[In] DWRITE_MEASURING_MODE measuringMode,[In] D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION bitmapSnapOption) ID2D1DeviceContext4::DrawColorBitmapGlyphRun

Draws a color glyph run that has the format of .

The origin of the baseline for the glyph run.

The glyphs to render.

The brush used to paint the specified glyphs.

Values for context-fill, context-stroke, and context-value that are used when rendering SVG glyphs.

The index used to select a color palette within a color font. Note that this not the same as the paletteIndex in the struct, which is not relevant for SVG glyphs.

Indicates the measuring method used for text layout.

mt750185 void ID2D1DeviceContext4::DrawSvgGlyphRun([In] D2D_POINT_2F baselineOrigin,[In] const DWRITE_GLYPH_RUN* glyphRun,[In, Optional] ID2D1Brush* defaultFillBrush,[In, Optional] ID2D1SvgGlyphStyle* svgGlyphStyle,[In] unsigned int colorPaletteIndex,[In] DWRITE_MEASURING_MODE measuringMode) ID2D1DeviceContext4::DrawSvgGlyphRun

Retrieves an image of the color bitmap glyph from the color glyph cache. If the cache does not already contain the requested resource, it will be created. This method may be used to extend the lifetime of a glyph image even after it is evicted from the color glyph cache.

The format for the glyph image. If there is no image data in the requested format for the requested glyph, this method will return an error.

The origin for the glyph.

Reference to a font face which contains font face type, appropriate file references, face identification data and various font data such as metrics, names and glyph outlines.

The specified font size affects the choice of which bitmap to use from the font. It also affects the output glyphTransform, causing it to properly scale the glyph.

Index of the glyph.

If true, specifies that glyphs are rotated 90 degrees to the left and vertical metrics are used. Vertical writing is achieved by specifying isSideways as true and rotating the entire run 90 degrees to the right via a rotate transform.

The transform to apply to the image. This input transform affects the choice of which bitmap to use from the font. It is also factored into the output glyphTransform.

Dots per inch along the x-axis.

Dots per inch along the y-axis.

Output transform, which transforms from the glyph's space to the same output space as the worldTransform. This includes the input glyphOrigin, the glyph's offset from the glyphOrigin, and any other required transformations.

On completion contains the retrieved glyph image.

This method returns an success or error code.

mt750189 HRESULT ID2D1DeviceContext4::GetColorBitmapGlyphImage([In] DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat,[In] D2D_POINT_2F glyphOrigin,[In] IDWriteFontFace* fontFace,[In] float fontEmSize,[In] unsigned short glyphIndex,[In] BOOL isSideways,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float dpiX,[In] float dpiY,[Out] D2D_MATRIX_3X2_F* glyphTransform,[Out] ID2D1Image** glyphImage) ID2D1DeviceContext4::GetColorBitmapGlyphImage

Retrieves an image of the SVG glyph from the color glyph cache. If the cache does not already contain the requested resource, it will be created. This method may be used to extend the lifetime of a glyph image even after it is evicted from the color glyph cache.

Origin of the glyph.

Reference to a font face which contains font face type, appropriate file references, face identification data and various font data such as metrics, names and glyph outlines.

The specified font size affects the output glyphTransform, causing it to properly scale the glyph.

Index of the glyph to retrieve.

If true, specifies that glyphs are rotated 90 degrees to the left and vertical metrics are used. Vertical writing is achieved by specifying isSideways as true and rotating the entire run 90 degrees to the right via a rotate transform.

The transform to apply to the image.

Describes how the area is painted.

The values for context-fill, context-stroke, and context-value that are used when rendering SVG glyphs.

The index used to select a color palette within a color font. Note that this not the same as the paletteIndex in the struct, which is not relevant for SVG glyphs.

Output transform, which transforms from the glyph's space to the same output space as the worldTransform. This includes the input glyphOrigin, the glyph's offset from the glyphOrigin, and any other required transformations.

On completion, contains the retrieved glyph image.

This method returns an success or error code.

mt750190 HRESULT ID2D1DeviceContext4::GetSvgGlyphImage([In] D2D_POINT_2F glyphOrigin,[In] IDWriteFontFace* fontFace,[In] float fontEmSize,[In] unsigned short glyphIndex,[In] BOOL isSideways,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In, Optional] ID2D1Brush* defaultFillBrush,[In, Optional] ID2D1SvgGlyphStyle* svgGlyphStyle,[In] unsigned int colorPaletteIndex,[Out] D2D_MATRIX_3X2_F* glyphTransform,[Out] ID2D1CommandList** glyphImage) ID2D1DeviceContext4::GetSvgGlyphImage

Represents a set of state and command buffers that are used to render to a target.

The device context can render to a target bitmap or a command list.

Any resource created from a device context can be shared with any other resource created from a device context when both contexts are created on the same device.

hh404479 ID2D1DeviceContext5 ID2D1DeviceContext5
Initializes a new instance of the class using an existing . The device. The options to be applied to the created device context. The new device context will not have a selected target bitmap. The caller must create and select a bitmap as the target surface of the context. HRESULT ID2D1Device5::CreateDeviceContext([In] D2D1_DEVICE_CONTEXT_OPTIONS options,[Out] ID2D1DeviceContext5** DeviceContext5) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion. No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1DeviceContext5::CreateSvgDocument([In, Optional] IStream* inputXmlStream,[In] D2D_SIZE_F viewportSize,[Out] ID2D1SvgDocument** svgDocument) ID2D1DeviceContext5::CreateSvgDocument No documentation. No documentation. void ID2D1DeviceContext5::DrawSvgDocument([In] ID2D1SvgDocument* svgDocument) ID2D1DeviceContext5::DrawSvgDocument

Creates a color context from a DXGI color space type. It is only valid to use this with the Color Management Effect in 'Best' mode.

The color space to create the color context from.

The created color context.

This method returns an success or error code.

mt797807 HRESULT ID2D1DeviceContext5::CreateColorContextFromDxgiColorSpace([In] DXGI_COLOR_SPACE_TYPE colorSpace,[Out, Fast] ID2D1ColorContext1** colorContext) ID2D1DeviceContext5::CreateColorContextFromDxgiColorSpace
No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1DeviceContext5::CreateColorContextFromSimpleColorProfile([In] const D2D1_SIMPLE_COLOR_PROFILE* simpleProfile,[Out, Fast] ID2D1ColorContext1** colorContext) ID2D1DeviceContext5::CreateColorContextFromSimpleColorProfile

Issues drawing commands to a GDI device context.

dd371213 ID2D1DCRenderTarget ID2D1DCRenderTarget
Creates a render target that draws to a Windows Graphics Device Interface (GDI) device context. Before you can render with a DC render target, you must use the render target's {{BindDC}} method to associate it with a GDI DC. Do this for each different DC and whenever there is a change in the size of the area you want to draw to.To enable the DC render target to work with GDI, set the render target's DXGI format to and alpha mode to or D2D1_ALPHA_MODE_IGNORE.Your application should create render targets once and hold on to them for the life of the application or until the render target's {{EndDraw}} method returns the {{D2DERR_RECREATE_TARGET}} error. When you receive this error, recreate the render target (and any resources it created). an instance of The rendering mode, pixel format, remoting options, DPI information, and the minimum DirectX support required for hardware rendering. To enable the device context (DC) render target to work with GDI, set the DXGI format to and the alpha mode to or D2D1_ALPHA_MODE_IGNORE. For more information about pixel formats, see {{Supported Pixel Formats and Alpha Modes}}. Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Binds the render target to the device context to which it issues drawing commands.

The device context to which the render target issues drawing commands.

The dimensions of the handle to a device context () to which the render target is bound.

If this method succeeds, it returns . Otherwise, it returns an error code.

Before you can render with the DC render target, you must use its BindDC method to associate it with a GDI DC. You do this each time you use a different DC, or the size of the area you want to draw to changes.

dd371214 HRESULT ID2D1DCRenderTarget::BindDC([In] const HDC hDC,[In] const RECT* pSubRect) ID2D1DCRenderTarget::BindDC

This interface is used to describe a GPU rendering pass on a vertex or pixel shader. It is passed to .

hh847986 ID2D1DrawInfo ID2D1DrawInfo
Sets the constant buffer data from a for the Vertex stage. The DataStream that contains the constant buffer data Sets the constant buffer data from a struct value for the Vertex stage. Type of the constant buffer Value of the constant buffer HRESULT ID2D1ComputeInfo::SetComputeShaderConstantBuffer([In, Buffer] const void* buffer,[In] unsigned int bufferCount) Sets the constant buffer data from a struct value for the Vertex Stage. Type of the constant buffer Value of the constant buffer HRESULT ID2D1ComputeInfo::SetComputeShaderConstantBuffer([In, Buffer] const void* buffer,[In] unsigned int bufferCount) Sets the constant buffer data from a for the Pixel stage. The DataStream that contains the constant buffer data Sets the constant buffer data from a struct value for the Pixel stage. Type of the constant buffer Value of the constant buffer HRESULT ID2D1ComputeInfo::SetComputeShaderConstantBuffer([In, Buffer] const void* buffer,[In] unsigned int bufferCount) Sets the constant buffer data from a struct value for the Pixel Stage. Type of the constant buffer Value of the constant buffer HRESULT ID2D1ComputeInfo::SetComputeShaderConstantBuffer([In, Buffer] const void* buffer,[In] unsigned int bufferCount) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Sets the constant buffer for this transform's pixel shader.

The data applied to the constant buffer.

The number of bytes of data in the constant buffer

If this method succeeds, it returns . Otherwise, it returns an error code.

hh847988 HRESULT ID2D1DrawInfo::SetPixelShaderConstantBuffer([In, Buffer] const void* buffer,[In] unsigned int bufferCount) ID2D1DrawInfo::SetPixelShaderConstantBuffer

Sets the resource texture corresponding to the given shader texture index.

The index of the texture to be bound to the pixel shader.

The created resource texture.

If the method succeeds, it returns . If it fails, it returns an error code.

hh847989 HRESULT ID2D1DrawInfo::SetResourceTexture([In] unsigned int textureIndex,[In] ID2D1ResourceTexture* resourceTexture) ID2D1DrawInfo::SetResourceTexture

Sets the constant buffer for this transform's vertex shader.

The data applied to the constant buffer

The number of bytes of data in the constant buffer.

If the method succeeds, it returns . If it fails, it returns an error code.

hh847991 HRESULT ID2D1DrawInfo::SetVertexShaderConstantBuffer([In, Buffer] const void* buffer,[In] unsigned int bufferCount) ID2D1DrawInfo::SetVertexShaderConstantBuffer

Set the shader instructions for this transform.

The resource id for the shader.

Additional information provided to the renderer to indicate the operations the pixel shader does.

If the method succeeds, it returns . If it fails, it returns an error code.

If this call fails, the corresponding instance is placed into an error state and will fail to Draw, it will place the context into an error state which can be retrieved through the ID2D1DeviceContext::EndDraw call.

Specifying pixelOptions other than can enable the renderer to perform certain optimizations such as combining various parts of the effect graph together. If this information does not accurately describe the shader, indeterminate rendering artifacts can result.

hh847987 HRESULT ID2D1DrawInfo::SetPixelShader([In] const GUID& shaderId,[In] D2D1_PIXEL_OPTIONS pixelOptions) ID2D1DrawInfo::SetPixelShader

Sets a vertex buffer, a corresponding vertex shader, and options to control how the vertices are to be handled by the Direct2D context.

The vertex buffer, if this is cleared, the default vertex shader and mapping to the transform rectangles will be used.

Options that influence how the renderer will interact with the vertex shader.

How the vertices will be blended with the output texture.

The set of vertices to use from the buffer.

The of the vertex shader.

If the method succeeds, it returns . If it fails, it returns an error code.

The vertex shaders associated with the vertex buffer through the vertex shader must have been loaded through the method before this call is made.

If you pass the vertex option , then the method fails unless the blend description is exactly this:

 blendDesc =  { , , , , , , { 1.0f, 1.0f, 1.0f, 1.0f } };

If this call fails, the corresponding instance is placed into an error state and fails to draw.

If blendDescription is null, a foreground-over blend mode is used.

hh847990 HRESULT ID2D1DrawInfo::SetVertexProcessing([In, Optional] ID2D1VertexBuffer* vertexBuffer,[In] D2D1_VERTEX_OPTIONS vertexOptions,[In, Optional] const D2D1_BLEND_DESCRIPTION* blendDescription,[In, Optional] const D2D1_VERTEX_RANGE* vertexRange,[In, Optional] const GUID* vertexShader) ID2D1DrawInfo::SetVertexProcessing

Represents the drawing state of a render target: the antialiasing mode, transform, tags, and text-rendering options.

dd371218 ID2D1DrawingStateBlock ID2D1DrawingStateBlock
Creates an that can be used with the {{SaveDrawingState}} and {{RestoreDrawingState}} methods of a render target. an instance of Creates an that can be used with the {{SaveDrawingState}} and {{RestoreDrawingState}} methods of a render target. an instance of A structure that contains antialiasing, transform, and tags information. Creates an that can be used with the {{SaveDrawingState}} and {{RestoreDrawingState}} methods of a render target. an instance of Optional text parameters that indicate how text should be rendered. Creates an that can be used with the {{SaveDrawingState}} and {{RestoreDrawingState}} methods of a render target. an instance of A structure that contains antialiasing, transform, and tags information. Optional text parameters that indicate how text should be rendered. Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves or sets the antialiasing mode, transform, and tags portion of the drawing state.

dd371223 GetDescription / SetDescription GetDescription void ID2D1DrawingStateBlock::GetDescription([Out] D2D1_DRAWING_STATE_DESCRIPTION* stateDescription)

Retrieves or sets the text-rendering configuration of the drawing state.

dd371227 GetTextRenderingParams / SetTextRenderingParams GetTextRenderingParams void ID2D1DrawingStateBlock::GetTextRenderingParams([Out, Optional] IDWriteRenderingParams** textRenderingParams)

Retrieves the antialiasing mode, transform, and tags portion of the drawing state.

When this method returns, contains the antialiasing mode, transform, and tags portion of the drawing state. You must allocate storage for this parameter.

dd371223 void ID2D1DrawingStateBlock::GetDescription([Out] D2D1_DRAWING_STATE_DESCRIPTION* stateDescription) ID2D1DrawingStateBlock::GetDescription

Specifies the antialiasing mode, transform, and tags portion of the drawing state.

The antialiasing mode, transform, and tags portion of the drawing state.

dd371231 void ID2D1DrawingStateBlock::SetDescription([In] const D2D1_DRAWING_STATE_DESCRIPTION* stateDescription) ID2D1DrawingStateBlock::SetDescription

Specifies the text-rendering configuration of the drawing state.

The text-rendering configuration of the drawing state, or null to use default settings.

dd371237 void ID2D1DrawingStateBlock::SetTextRenderingParams([In, Optional] IDWriteRenderingParams* textRenderingParams) ID2D1DrawingStateBlock::SetTextRenderingParams

Retrieves the text-rendering configuration of the drawing state.

When this method returns, contains the address of a reference to an object that describes the text-rendering configuration of the drawing state.

dd371227 void ID2D1DrawingStateBlock::GetTextRenderingParams([Out, Optional] IDWriteRenderingParams** textRenderingParams) ID2D1DrawingStateBlock::GetTextRenderingParams

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.

Note??You can get an using the method or you can use the QueryInterface method on an object.?
hh871452 ID2D1DrawingStateBlock1 ID2D1DrawingStateBlock1
Creates an that can be used with the {{SaveDrawingState}} and {{RestoreDrawingState}} methods of a render target. an instance of Creates an that can be used with the {{SaveDrawingState}} and {{RestoreDrawingState}} methods of a render target. an instance of A structure that contains antialiasing, transform, and tags information. Creates an that can be used with the {{SaveDrawingState}} and {{RestoreDrawingState}} methods of a render target. an instance of Optional text parameters that indicate how text should be rendered. Creates an that can be used with the {{SaveDrawingState}} and {{RestoreDrawingState}} methods of a render target. an instance of A structure that contains antialiasing, transform, and tags information. Optional text parameters that indicate how text should be rendered. Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets or sets the antialiasing mode, transform, tags, primitive blend, and unit mode portion of the drawing state.

hh871453 GetDescription / SetDescription GetDescription void ID2D1DrawingStateBlock1::GetDescription([Out] D2D1_DRAWING_STATE_DESCRIPTION1* stateDescription)

Gets the antialiasing mode, transform, tags, primitive blend, and unit mode portion of the drawing state.

When this method returns, contains the antialiasing mode, transform, tags, primitive blend, and unit mode portion of the drawing state. You must allocate storage for this parameter.

hh871453 void ID2D1DrawingStateBlock1::GetDescription([Out] D2D1_DRAWING_STATE_DESCRIPTION1* stateDescription) ID2D1DrawingStateBlock1::GetDescription

Sets the associated with this drawing state block.

No documentation. hh871454 void ID2D1DrawingStateBlock1::SetDescription([In] const D2D1_DRAWING_STATE_DESCRIPTION1* stateDescription) ID2D1DrawingStateBlock1::SetDescription

A specialized implementation of the Shantzis calculations to a transform implemented on the GPU. These calculations are described in the paper A model for efficient and flexible image computing.

The information required to specify a ?Pass? in the rendering algorithm on a Pixel Shader is passed to the implementation through the SetDrawInfo method.

hh847992 ID2D1DrawTransform ID2D1DrawTransform
Sets the GPU render information for the transform. The interface to specify the GPU-based transform pass.. HRESULT ID2D1DrawTransform::SetDrawInfo([In] ID2D1DrawInfo* drawInfo)

A specialized implementation of the Shantzis calculations to a transform implemented on the GPU. These calculations are described in the paper A model for efficient and flexible image computing.

The information required to specify a ?Pass? in the rendering algorithm on a Pixel Shader is passed to the implementation through the SetDrawInfo method.

hh847992 ID2D1DrawTransform ID2D1DrawTransform
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Provides the GPU render info interface to the transform implementation.

The interface supplied back to the calling method to allow it to specify the GPU based transform pass.

Any value can be returned when implementing this method. A failure will be returned from the corresponding ID2D1DeviceContext::EndDraw call.

The transform can maintain a reference to this interface for its lifetime. If any properties change on the transform, it can apply these changes to the corresponding drawInfo interface.

This is also used to determine that the corresponding nodes in the graph are dirty.

hh847993 HRESULT ID2D1DrawTransform::SetDrawInfo([In] ID2D1DrawInfo* drawInfo) ID2D1DrawTransform::SetDrawInfo
Internal DrawTransform Callback Return a pointer to the unmanaged version of this callback. The callback. A pointer to a shadow c++ callback HRESULT ID2D1DrawTransform::SetDrawInfo([In] ID2D1DrawInfo* drawInfo)

Represents a basic image-processing construct in Direct2D.

An effect takes zero or more input images, and has an output image. The images that are input into and output from an effect are lazily evaluated. This definition is sufficient to allow an arbitrary graph of effects to be created from the application by feeding output images into the input image of the next effect in the chain.

hh404566 ID2D1Effect ID2D1Effect
Initializes a new instance of the class. The device context. The class ID of the effect to create. If no sufficient memory to complete the call, or if it does not have enough display memory to perform the operation, or if the specified effect is not registered by the system. The created effect does not increment the reference count for the dynamic-link library (DLL) from which the effect was created. If the application deletes an effect while that effect is loaded, the resulting behavior will be unpredictable. HRESULT ID2D1DeviceContext::CreateEffect([In] const GUID& effectId,[Out, Fast] ID2D1Effect** effect) Initializes a new instance of the class. The effect context. The class ID of the effect to create. No documentation. HRESULT ID2D1EffectContext::CreateEffect([In] const GUID& effectId,[Out] ID2D1Effect** effect) Sets the input by using the output of a given effect. Index of the input Effect output to use as input To invalidate Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion. Constant ArithmeticComposite. CLSID_D2D1ArithmeticComposite Constant Atlas. CLSID_D2D1Atlas Constant BitmapSource. CLSID_D2D1BitmapSource Constant Blend. CLSID_D2D1Blend Constant Border. CLSID_D2D1Border Constant Brightness. CLSID_D2D1Brightness Constant ColorManagement. CLSID_D2D1ColorManagement Constant ColorMatrix. CLSID_D2D1ColorMatrix Constant Composite. CLSID_D2D1Composite Constant ConvolveMatrix. CLSID_D2D1ConvolveMatrix Constant Crop. CLSID_D2D1Crop Constant DirectionalBlur. CLSID_D2D1DirectionalBlur Constant DiscreteTransfer. CLSID_D2D1DiscreteTransfer Constant DisplacementMap. CLSID_D2D1DisplacementMap Constant DistantDiffuse. CLSID_D2D1DistantDiffuse Constant DistantSpecular. CLSID_D2D1DistantSpecular Constant DpiCompensation. CLSID_D2D1DpiCompensation Constant Flood. CLSID_D2D1Flood Constant GammaTransfer. CLSID_D2D1GammaTransfer Constant GaussianBlur. CLSID_D2D1GaussianBlur Constant Scale. CLSID_D2D1Scale Constant Histogram. CLSID_D2D1Histogram Constant HueRotation. CLSID_D2D1HueRotation Constant LinearTransfer. CLSID_D2D1LinearTransfer Constant LuminanceToAlpha. CLSID_D2D1LuminanceToAlpha Constant Morphology. CLSID_D2D1Morphology Constant OpacityMetadata. CLSID_D2D1OpacityMetadata Constant PointDiffuse. CLSID_D2D1PointDiffuse Constant PointSpecular. CLSID_D2D1PointSpecular Constant Premultiply. CLSID_D2D1Premultiply Constant Saturation. CLSID_D2D1Saturation Constant Shadow. CLSID_D2D1Shadow Constant SpotDiffuse. CLSID_D2D1SpotDiffuse Constant SpotSpecular. CLSID_D2D1SpotSpecular Constant TableTransfer. CLSID_D2D1TableTransfer Constant Tile. CLSID_D2D1Tile Constant Turbulence. CLSID_D2D1Turbulence Constant UnPremultiply. CLSID_D2D1UnPremultiply Constant YCbCr. CLSID_D2D1YCbCr Constant Contrast. CLSID_D2D1Contrast Constant RgbToHue. CLSID_D2D1RgbToHue Constant HueToRgb. CLSID_D2D1HueToRgb Constant ChromaKey. CLSID_D2D1ChromaKey Constant Emboss. CLSID_D2D1Emboss Constant Exposure. CLSID_D2D1Exposure Constant Grayscale. CLSID_D2D1Grayscale Constant Invert. CLSID_D2D1Invert Constant Posterize. CLSID_D2D1Posterize Constant Sepia. CLSID_D2D1Sepia Constant Sharpen. CLSID_D2D1Sharpen Constant Straighten. CLSID_D2D1Straighten Constant TemperatureTint. CLSID_D2D1TemperatureTint Constant Vignette. CLSID_D2D1Vignette Constant EdgeDetection. CLSID_D2D1EdgeDetection Constant HighlightsShadows. CLSID_D2D1HighlightsShadows Constant LookupTable3D. CLSID_D2D1LookupTable3D Constant Opacity. CLSID_D2D1Opacity Constant AlphaMask. CLSID_D2D1AlphaMask Constant CrossFade. CLSID_D2D1CrossFade Constant Tint. CLSID_D2D1Tint Constant AffineTransform2D. CLSID_D2D12DAffineTransform Constant PerspectiveTransform3D. CLSID_D2D13DPerspectiveTransform Constant Transform3D. CLSID_D2D13DTransform

Gets or sets the number of inputs to the effect.

hh404582 GetInputCount / SetInputCount GetInputCount unsigned int ID2D1Effect::GetInputCount()

Gets the output image from the effect.

The output image can be set as an input to another effect, or can be directly passed into the in order to render the effect.

It is also possible to use QueryInterface to retrieve the same output image.

hh404585 GetOutput GetOutput void ID2D1Effect::GetOutput([Out] ID2D1Image** outputImage)

Sets the given input image by index.

The index of the image to set.

The input image to set.

Whether to invalidate the graph at the location of the effect input

If the input index is out of range, the input image is ignored.

hh404591 void ID2D1Effect::SetInput([In] unsigned int index,[In, Optional] ID2D1Image* input,[In] BOOL invalidate) ID2D1Effect::SetInput

Allows the application to change the number of inputs to an effect.

The number of inputs to the effect.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_INVALIDARGOne or more arguments are invalid.
E_OUTOFMEMORYFailed to allocate necessary memory.

?

Most effects do not support a variable number of inputs. Use with the and values to determine the number of inputs supported by an effect.

If the input count is less than the minimum or more than the maximum supported inputs, the call will fail.

If the input count is unchanged, the call will succeed with .

Any inputs currently selected on the effect will be unaltered by this call unless the number of inputs is made smaller. If the number of inputs is made smaller, inputs beyond the selected range will be released.

If the method fails, the existing input and input count will remain unchanged.

hh404594 HRESULT ID2D1Effect::SetInputCount([In] unsigned int inputCount) ID2D1Effect::SetInputCount

Represents a basic image-processing construct in Direct2D.

No documentation.

An effect takes zero or more input images, and has an output image. The images that are input into and output from an effect are lazily evaluated. This definition is sufficient to allow an arbitrary graph of effects to be created from the application by feeding output images into the input image of the next effect in the chain.

hh404566 void ID2D1Effect::GetInput([In] unsigned int index,[Out, Optional] ID2D1Image** input) ID2D1Effect::GetInput

Gets the number of inputs to the effect.

This method returns the number of inputs to the effect.

hh404582 unsigned int ID2D1Effect::GetInputCount() ID2D1Effect::GetInputCount

Gets the output image from the effect.

When this method returns, contains the address of a reference to the output image for the effect.

The output image can be set as an input to another effect, or can be directly passed into the in order to render the effect.

It is also possible to use QueryInterface to retrieve the same output image.

hh404585 void ID2D1Effect::GetOutput([Out] ID2D1Image** outputImage) ID2D1Effect::GetOutput
Class used to instantiate custom effects. Type of the custom effect Initializes a new instance of a custom class. The device context. If no sufficient memory to complete the call, or if it does not have enough display memory to perform the operation, or if the specified effect is not registered by the system. The created effect does not increment the reference count for the dynamic-link library (DLL) from which the effect was created. If the application deletes an effect while that effect is loaded, the resulting behavior will be unpredictable. HRESULT ID2D1DeviceContext::CreateEffect([In] const GUID& effectId,[Out, Fast] ID2D1Effect** effect) Initializes a new instance of a custom class. The device context. Effect ID. If no sufficient memory to complete the call, or if it does not have enough display memory to perform the operation, or if the specified effect is not registered by the system. The created effect does not increment the reference count for the dynamic-link library (DLL) from which the effect was created. If the application deletes an effect while that effect is loaded, the resulting behavior will be unpredictable. HRESULT ID2D1DeviceContext::CreateEffect([In] const GUID& effectId,[Out, Fast] ID2D1Effect** effect) Initializes a new instance of the class. The effect context. No documentation. HRESULT ID2D1EffectContext::CreateEffect([In] const GUID& effectId,[Out] ID2D1Effect** effect)

Provides factory methods and other state management for effect and transform authors.

This interface is passed to an effect implementation through the method. In order to prevent applications casually gaining access to this interface, and to separate reference counts between the public and private interfaces, it is not possible to call QueryInterface between the and the .

Each call to ID2D1Effect::Initialize will be provided a different interface. This interface tracks resource allocations for the effect. When the effect is released, the corresponding allocations will also be released.

hh404459 ID2D1EffectContext ID2D1EffectContext
Gets the DPI. Gets the maximum feature level supported by this instance. An array of feature levels The maximum feature level selected from the array Loads a pixel shader. An unique identifier associated with the shader bytecode. The bytecode of the shader. HRESULT ID2D1EffectContext::LoadPixelShader([In] const GUID& shaderId,[In, Buffer] const unsigned char* shaderBuffer,[In] unsigned int shaderBufferCount) Loads a vertex shader. An unique identifier associated with the shader bytecode. The bytecode of the shader. HRESULT ID2D1EffectContext::LoadVertexShader([In] const GUID& resourceId,[In, Buffer] const unsigned char* shaderBuffer,[In] unsigned int shaderBufferCount) Loads a compute shader. An unique identifier associated with the shader bytecode. The bytecode of the shader. HRESULT ID2D1EffectContext::LoadComputeShader([In] const GUID& resourceId,[In, Buffer] const unsigned char* shaderBuffer,[In] unsigned int shaderBufferCount) Check if this device is supporting a feature. The feature to check. Returns true if this device supports this feature, otherwise false. Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the unit mapping that an effect will use for properties that could be in either dots per inch (dpi) or pixels.

The dpi on the x-axis.

The dpi on the y-axis.

If the is , both dpiX and dpiY will be set to 96.

hh404472 void ID2D1EffectContext::GetDpi([Out] float* dpiX,[Out] float* dpiY) ID2D1EffectContext::GetDpi

Creates a Direct2D effect for the specified class ID. This is the same as so custom effects can create other effects and wrap them in a transform.

No documentation. No documentation.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.
D3DERR_OUTOFVIDEOMEMORYDirect3D does not have enough display memory to perform the operation.
The specified effect is not registered by the system.

?

The created effect does not reference count the DLL from which the effect was created. If the caller unregisters an effect while this effect is loaded, the resulting behavior is unpredictable.

hh404467 HRESULT ID2D1EffectContext::CreateEffect([In] const GUID& effectId,[Out, Fast] ID2D1Effect** effect) ID2D1EffectContext::CreateEffect

This indicates the maximum feature level from the provided list which is supported by the device. If none of the provided levels are supported, then this API fails with .

The feature levels provided by the application.

The count of feature levels provided by the application

The maximum feature level from the featureLevels list which is supported by the D2D device.

hh404473 HRESULT ID2D1EffectContext::GetMaximumSupportedFeatureLevel([In, Buffer] const D3D_FEATURE_LEVEL* featureLevels,[In] unsigned int featureLevelsCount,[Out] D3D_FEATURE_LEVEL* maximumSupportedFeatureLevel) ID2D1EffectContext::GetMaximumSupportedFeatureLevel

Wraps an effect graph into a single transform node and then inserted into a transform graph. This allows an effect to aggregate other effects. This will typically be done in order to allow the effect properties to be re-expressed with a different contract, or to allow different components to integrate each-other?s effects.

The effect to be wrapped in a transform node.

The returned transform node that encapsulates the effect graph.

hh404470 HRESULT ID2D1EffectContext::CreateTransformNodeFromEffect([In] ID2D1Effect* effect,[Out] ID2D1TransformNode** transformNode) ID2D1EffectContext::CreateTransformNodeFromEffect

This creates a blend transform that can be inserted into a transform graph.

The number of inputs to the blend transform.

Describes the blend transform that is to be created.

The returned blend transform.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

hh404461 HRESULT ID2D1EffectContext::CreateBlendTransform([In] unsigned int numInputs,[In] const D2D1_BLEND_DESCRIPTION* blendDescription,[Out, Fast] ID2D1BlendTransform** transform) ID2D1EffectContext::CreateBlendTransform

Creates a transform that extends its input infinitely in every direction based on the passed in extend mode.

The extend mode in the X-axis direction.

The extend mode in the Y-axis direction.

The returned transform.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

hh404463 HRESULT ID2D1EffectContext::CreateBorderTransform([In] D2D1_EXTEND_MODE extendModeX,[In] D2D1_EXTEND_MODE extendModeY,[Out, Fast] ID2D1BorderTransform** transform) ID2D1EffectContext::CreateBorderTransform

Creates and returns an offset transform.

The offset amount.

When this method returns, contains the address of a reference to an offset transform object.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

An offset transform is used to offset an input bitmap without having to insert a rendering pass. An offset transform is automatically inserted by an Affine transform if the transform evaluates to a pixel-aligned transform.

hh404468 HRESULT ID2D1EffectContext::CreateOffsetTransform([In] POINT offset,[Out, Fast] ID2D1OffsetTransform** transform) ID2D1EffectContext::CreateOffsetTransform

Creates and returns a bounds adjustment transform.

The initial output rectangle for the bounds adjustment transform.

The returned bounds adjustment transform.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

A support transform can be used for two different reasons.

  • To indicate that a region of its input image is already transparent black. This can increase efficiency for rendering bitmaps. Note??If the indicated region does NOT contain only transparent black pixels, then rendering results are undefined. ?
  • To increase the size of the input image. The expanded area will be treated as transparent black
hh871456 HRESULT ID2D1EffectContext::CreateBoundsAdjustmentTransform([In] const RECT* outputRectangle,[Out, Fast] ID2D1BoundsAdjustmentTransform** transform) ID2D1EffectContext::CreateBoundsAdjustmentTransform

Loads the given shader by its unique ID. Loading the shader multiple times is ignored. When the shader is loaded it is also handed to the driver to JIT, if it hasn?t been already.

The unique id that identifies the shader.

The buffer that contains the shader to register.

The size of the shader buffer in bytes.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

The shader you specify must be compiled, not in raw HLSL code.

hh404476 HRESULT ID2D1EffectContext::LoadPixelShader([In] const GUID& shaderId,[In, Buffer] const unsigned char* shaderBuffer,[In] unsigned int shaderBufferCount) ID2D1EffectContext::LoadPixelShader

Loads the given shader by its unique ID. Loading the shader multiple times is ignored. When the shader is loaded it is also handed to the driver to JIT, if it hasn?t been already.

The unique id that identifies the shader.

The buffer that contains the shader to register.

The size of the shader buffer in bytes.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

The shader you specify must be compiled, not in raw HLSL code.

hh404477 HRESULT ID2D1EffectContext::LoadVertexShader([In] const GUID& resourceId,[In, Buffer] const unsigned char* shaderBuffer,[In] unsigned int shaderBufferCount) ID2D1EffectContext::LoadVertexShader

Loads the given shader by its unique ID. Loading the shader multiple times is ignored. When the shader is loaded it is also handed to the driver to JIT, if it hasn?t been already.

The unique id that identifies the shader.

The buffer that contains the shader to register.

The size of the shader buffer in bytes.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

The shader you specify must be compiled, not in raw HLSL code.

hh404475 HRESULT ID2D1EffectContext::LoadComputeShader([In] const GUID& resourceId,[In, Buffer] const unsigned char* shaderBuffer,[In] unsigned int shaderBufferCount) ID2D1EffectContext::LoadComputeShader

This tests to see if the given shader is loaded.

The unique id that identifies the shader.

Whether the shader is loaded.

hh404474 BOOL ID2D1EffectContext::IsShaderLoaded([In] const GUID& shaderId) ID2D1EffectContext::IsShaderLoaded

Creates or finds the given resource texture, depending on whether a resource id is specified. It also optionally initializes the texture with the specified data.

An optional reference to the unique id that identifies the lookup table.

The properties used to create the resource texture.

The optional data to be loaded into the resource texture.

An optional reference to the stride to advance through the resource texture, according to dimension.

The size, in bytes, of the data.

The returned texture that can be used as a resource in a Direct2D effect.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

hh404469 HRESULT ID2D1EffectContext::CreateResourceTexture([In, Optional] const GUID* resourceId,[In] const void* resourceTextureProperties,[In, Buffer, Optional] const unsigned char* data,[In, Buffer, Optional] const unsigned int* strides,[In] unsigned int dataSize,[Out, Fast] ID2D1ResourceTexture** resourceTexture) ID2D1EffectContext::CreateResourceTexture

Finds the given resource texture if it has already been created with with the same .

No documentation. No documentation. hh871457 HRESULT ID2D1EffectContext::FindResourceTexture([In] const GUID* resourceId,[Out] ID2D1ResourceTexture** resourceTexture) ID2D1EffectContext::FindResourceTexture

Creates a vertex buffer or finds a standard vertex buffer and optionally initializes it with vertices. The returned buffer can be specified in the render info to specify both a vertex shader and or to pass custom vertices to the standard vertex shader used by Direct2D.

No documentation. No documentation. No documentation. No documentation.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

hh404471 HRESULT ID2D1EffectContext::CreateVertexBuffer([In] const D2D1_VERTEX_BUFFER_PROPERTIES* vertexBufferProperties,[In, Optional] const GUID* resourceId,[In, Optional] const void* customVertexBufferProperties,[Out, Fast] ID2D1VertexBuffer** buffer) ID2D1EffectContext::CreateVertexBuffer

This finds the given vertex buffer if it has already been created with with the same .

No documentation. No documentation. hh871458 HRESULT ID2D1EffectContext::FindVertexBuffer([In] const GUID* resourceId,[Out] ID2D1VertexBuffer** buffer) ID2D1EffectContext::FindVertexBuffer

Creates a color context from a color space.

If the color space is Custom, the context is initialized from the profile and profileSize parameters.

If the color space is not Custom, the context is initialized with the profile bytes associated with the color space. The profile and profileSize parameters are ignored.

The space of color context to create.

A buffer containing the ICC profile bytes used to initialize the color context when space is . For other types, the parameter is ignored and should be set to null.

The size in bytes of Profile.

When this method returns, contains the address of a reference to a new color context object.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.

?

hh404464 HRESULT ID2D1EffectContext::CreateColorContext([In] D2D1_COLOR_SPACE space,[In, Buffer, Optional] const unsigned char* profile,[In] unsigned int profileSize,[Out, Fast] ID2D1ColorContext** colorContext) ID2D1EffectContext::CreateColorContext

Creates a color context by loading it from the specified filename. The profile bytes are the contents of the file specified by filename.

The path to the file containing the profile bytes to initialize the color context with.

When this method returns, contains the address of a reference to a new color context.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.

?

hh404465 HRESULT ID2D1EffectContext::CreateColorContextFromFilename([In] const wchar_t* filename,[Out, Fast] ID2D1ColorContext** colorContext) ID2D1EffectContext::CreateColorContextFromFilename

Creates a color context from an . The D2D1ColorContext space of the resulting context varies, see Remarks for more info.

No documentation. No documentation.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.

?

The new color context can be used in to initialize the color context of a created bitmap. The model field of the profile header is inspected to determine whether this profile is sRGB or scRGB and the color space is updated respectively. Otherwise the space is custom.

hh404466 HRESULT ID2D1EffectContext::CreateColorContextFromWicColorContext([In] IWICColorContext* wicColorContext,[Out, Fast] ID2D1ColorContext** colorContext) ID2D1EffectContext::CreateColorContextFromWicColorContext

This indicates whether an optional capability is supported by the D3D device.

The feature to query support for.

A structure indicating information about how or if the feature is supported.

The size of the featureSupportData parameter.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

hh871455 HRESULT ID2D1EffectContext::CheckFeatureSupport([In] D2D1_FEATURE feature,[Out, Buffer] void* featureSupportData,[In] unsigned int featureSupportDataSize) ID2D1EffectContext::CheckFeatureSupport

Indicates whether the buffer precision is supported by the underlying Direct2D device.

No documentation.

Returns TRUE if the buffer precision is supported. Returns if the buffer precision is not supported.

hh847981 BOOL ID2D1EffectContext::IsBufferPrecisionSupported([In] D2D1_BUFFER_PRECISION bufferPrecision) ID2D1EffectContext::IsBufferPrecisionSupported

Describes features of an effect.

Note??The caller should not rely heavily on the input rectangles returned by this structure. They can change due to subtle changes in effect implementations and due to optimization changes in the effect rendering system.? hh404305 D2D1_EFFECT_INPUT_DESCRIPTION D2D1_EFFECT_INPUT_DESCRIPTION
Gets or sets the effect.

The effect whose input connection is being specified.

hh404305 ID2D1Effect* effect ID2D1Effect effect

The input index of the effect that is being considered.

hh404305 unsigned int inputIndex unsigned int inputIndex

The amount of data that would be available on the input. This can be used to query this information when the data is not yet available.

hh404305 D2D_RECT_F inputRectangle D2D_RECT_F inputRectangle
Built in AffineTransform2D effect. Initializes a new instance of effect. The interpolation mode used to scale the image. There are 6 scale modes that range in quality and speed. If you don't select a mode, the effect uses the interpolation mode of the device context. See for more info. The mode used to calculate the border of the image, soft or hard. See modes for more info. The 3x2 matrix to transform the image using the Direct2D matrix transform. In the high quality cubic interpolation mode, the sharpness level of the scaling filter as a float between 0 and 1. The values are unitless. You can use sharpness to adjust the quality of an image when you scale the image. The sharpness factor affects the shape of the kernel. The higher the sharpness factor, the smaller the kernel. This property affects only the high quality cubic interpolation mode. Built in ArithmeticComposite effect. Initializes a new instance of effect. The coefficients for the equation used to composite the two input images. The coefficients are unitless and unbounded. Whether the effect clamps color values to between 0 and 1 before the effect passes the values to the next effect in the graph. The effect clamps the values before it premultiplies the alpha. if you set this to TRUE the effect will clamp the values. If you set this to FALSE, the effect will not clamp the color values, but other effects and the output surface may clamp the values if they are not of high enough precision. Built in Atlas effect. Initializes a new instance of effect. The portion of the image passed to the next effect. The portion of the image passed to the next effect. Built in BitmapSource effect. Initializes a new instance of effect. The containing the image data to be loaded. The scale amount in the X and Y direction. The effect multiplies the width by the X value and the height by the Y value. This property is a defined as: (X scale, Y scale). The scale amounts are FLOAT, unitless, and must be positive or 0. The interpolation mode used to scale the image. See Interpolation modes for more info. If the mode disables the mipmap, then BitmapSouce will cache the image at the resolution determined by the Scale and EnableDPICorrection properties. If you set this to true, the effect will scale the input image to convert the DPI reported by IWICBitmapSource to the DPI of the device context. The effect uses the interpolation mode you set with the InterpolationMode property. If you set this to false, the effect uses a DPI of 96.0 for the output image. The alpha mode of the output. This can be either premultiplied or straight. See Alpha modes for more info. A flip and/or rotation operation to be performed on the image. See Orientation for more info. Built in Blend effect. Initializes a new instance of effect. The blend mode used for the effect. See Blend modes for more info. Built in Border effect. Initializes a new instance of effect. The edge mode in the X direction for the effect. You can set this to clamp, wrap, or mirror. See Edge modes for more info. The edge mode in the Y direction for the effect. You can set this to clamp, wrap, or mirror. See Edge modes for more info. Built in Brightness effect. Initializes a new instance of effect. The upper portion of the brightness transfer curve. The white point adjusts the appearance of the brighter portions of the image. This property is for both the x value and the y value, in that order. Each of the values of this property are between 0 and 1, inclusive. The lower portion of the brightness transfer curve. The black point adjusts the appearance of the darker portions of the image. This property is for both the x value and the y value, in that order. Each of the values of this property are between 0 and 1, inclusive. Built in ColorManagement effect. Initializes a new instance of effect. The source color context. Default null The rendering intent for the source context. The destination color context. Default null The rendering intent for the destination context. The alpha mode of this color management. Built in ColorMatrix effect. Initializes a new instance of effect. A 5x4 matrix of float values. The elements in the matrix are not bounded and are unitless. The default is the identity matrix. The alpha mode of the output. This can be either premultiplied or straight. See Alpha modes for more info. Whether the effect clamps color values to between 0 and 1 before the effect passes the values to the next effect in the graph. The effect clamps the values before it premultiplies the alpha . if you set this to TRUE the effect will clamp the values. If you set this to FALSE, the effect will not clamp the color values, but other effects and the output surface may clamp the values if they are not of high enough precision. Built in Composite effect. Initializes a new instance of effect. The mode used for the effect. Built in ConvolveMatrix effect. Initializes a new instance of effect. The size of one unit in the kernel. The units are in (DIPs/kernel unit), where a kernel unit is the size of the element in the convolution kernel. A value of 1 (DIP/kernel unit) corresponds to one pixel in a image at 96 DPI. The interpolation mode the effect uses to scale the image to the corresponding kernel unit length. There are six scale modes that range in quality and speed. If you don't select a mode, the effect uses the interpolation mode of the device context. See Scale modes for more info The width of the kernel matrix. The units are specified in kernel units. The height of the kernel matrix. The units are specified in kernel units. The kernel matrix to be applied to the image. The kernel elements aren't bounded and are specified as floats. The first set of KernelSizeX numbers in the FLOAT[] corresponds to the first row in the kernel. The second set of KernelSizeX numbers correspond to the second row, and so on up to KernelSizeY rows. The kernel matrix is applied to a pixel and then the result is divided by this value. 0 behaves as a value of float epsilon. The effect applies the kernel matrix, the divisor, and then the bias is added to the result. The bias is unbounded and unitless. Shifts the convolution kernel from a centered position on the output pixel to a position you specify left/right and up/down. The offset is defined in kernel units. With some offsets and kernel sizes, the convolution kernel’s samples won't land on a pixel image center. The pixel values for the kernel sample are computed by bilinear interpolation. Specifies whether the convolution kernel is applied to the alpha channel or only the color channels. If you set this to TRUE the convolution kernel is applied only to the color channels. If you set this to FALSE the convolution kernel is applied to all channels. The mode used to calculate the border of the image, soft or hard. See modes for more info. Whether the effect clamps color values to between 0 and 1 before the effect passes the values to the next effect in the graph. The effect clamps the values before it premultiplies the alpha . if you set this to TRUE the effect will clamp the values. If you set this to FALSE, the effect will not clamp the color values, but other effects and the output surface may clamp the values if they are not of high enough precision. Built in Crop effect. Initializes a new instance of effect. The region to be cropped specified as a vector in the form (left, top, width, height). The units are in DIPs. The rectangle will be truncated if it overlaps the edge boundaries of the input image. Built in DirectionalBlur effect. Initializes a new instance of effect. Gets or sets the amount of blur to be applied to the image. Default: 1.0f You can compute the blur radius of the kernel by multiplying the standard deviation by 3. The units of both the standard deviation and blur radius are DIPs. A value of zero DIPs disables this effect entirely. The angle of the blur relative to the x-axis, in the counterclockwise direction. The units are specified in degrees. The blur kernel is first generated using the same process as for the Gaussian Blur effect. The kernel values are then transformed according to the blur angle using this equation and then applied to the bitmap. offset2D – amount of transformation introduced in the blur kernel as a result of the blur angle. dist – distance from the center of the kernel to the current position in the kernel. offset2d = (dist * cos(⁡θ), dist * sin(⁡θ) ) You can compute the blur radius of the kernel by multiplying the standard deviation by 3. The units of both the standard deviation and blur radius are DIPs. A value of zero DIPs disables this effect entirely. The optimization mode. See modes for more info. Default value is . The mode used to calculate the border of the image, soft or hard. See modes for more info. Built in DiscreteTransfer effect. Initializes a new instance of effect. The list of values used to define the transfer function for the Red channel. If you set this to TRUE the effect does not apply the transfer function to the Red channel. If you set this to FALSE the effect applies the RedDiscreteTransfer function to the Red channel. The list of values that define the transfer function for the Green channel. If you set this to TRUE the effect does not apply the transfer function to the Green channel. If you set this to FALSE the effect applies the GreenDiscreteTransfer function to the Green channel. The list of values that define the transfer function for the Blue channel. If you set this to TRUE the effect does not apply the transfer function to the Blue channel. If you set this to FALSE the effect applies the BlueDiscreteTransfer function to the Blue channel. The list of values that define the transfer function for the Alpha channel. If you set this to TRUE the effect does not apply the transfer function to the Alpha channel. If you set this to FALSE the effect applies the AlphaDiscreteTransfer function to the Alpha channel. Whether the effect clamps color values to between 0 and 1 before the effect passes the values to the next effect in the graph. The effect clamps the values before it premultiplies the alpha . if you set this to TRUE the effect will clamp the values. If you set this to FALSE, the effect will not clamp the color values, but other effects and the output surface may clamp the values if they are not of high enough precision. Built in DisplacementMap effect. Initializes a new instance of effect. Multiplies the intensity of the selected channel from the displacement image. The higher you set this property, the more the effect displaces the pixels The effect extracts the intensity from this color channel and uses it to spatially displace the image in the X direction. See Color channels for more info. The effect extracts the intensity from this color channel and uses it to spatially displace the image in the Y direction. See Color channels for more info. Built in DistantDiffuse effect. Initializes a new instance of effect. The direction angle of the light source in the XY plane relative to the X-axis in the counter clock wise direction. The units are in degrees and must be between 0 and 360 degrees. The direction angle of the light source in the YZ plane relative to the Y-axis in the counter clock wise direction. The units are in degrees and must be between 0 and 360 degrees. The ratio of diffuse reflection to amount of incoming light. This property must be between 0 and 10,000 and is unitless. The scale factor in the Z direction. The value is unitless and must be between 0 and 10,000. The color of the incoming light. This property is exposed as a – (R, G, B) and used to compute LR, LG, LB. The size of an element in the Sobel kernel used to generate the surface normal in the X and Y direction. This property maps to the dx and dy values in the Sobel gradient. This property is a (Kernel Unit Length X, Kernel Unit Length Y) and is defined in (device-independent pixels (DIPs)/Kernel Unit). The effect uses bilinear interpolation to scale the bitmap to match size of kernel elements. The interpolation mode the effect uses to scale the image to the corresponding kernel unit length. There are six scale modes that range in quality and speed. If you don't select a mode, the effect uses the interpolation mode of the device context. See Scale modes for more info. Built in DistantSpecular effect. Initializes a new instance of effect. The direction angle of the light source in the XY plane relative to the X-axis in the counter clock wise direction. The units are in degrees and must be between 0 and 360 degrees. The direction angle of the light source in the YZ plane relative to the Y-axis in the counter clock wise direction. The units are in degrees and must be between 0 and 360 degrees. The exponent for the specular term in the Phong lighting equation. A larger value corresponds to a more reflective surface. The value is unitless and must be between 1.0 and 128. The ratio of specular reflection to the incoming light. The value is unitless and must be between 0 and 10,000. The scale factor in the Z direction. The value is unitless and must be between 0 and 10,000. The color of the incoming light. This property is exposed as a – (R, G, B) and used to compute LR, LG, LB. The size of an element in the Sobel kernel used to generate the surface normal in the X and Y direction. This property maps to the dx and dy values in the Sobel gradient. This property is a (Kernel Unit Length X, Kernel Unit Length Y) and is defined in (device-independent pixels (DIPs)/Kernel Unit). The effect uses bilinear interpolation to scale the bitmap to match size of kernel elements. The interpolation mode the effect uses to scale the image to the corresponding kernel unit length. There are six scale modes that range in quality and speed. If you don't select a mode, the effect uses the interpolation mode of the device context. See Scale modes for more info. Built in DpiCompensation effect. Initializes a new instance of effect. The Dpi interpolation mode. The mode used to calculate the border of the image, soft or hard. See modes for more info. The input dpi. Built in Flood effect. Initializes a new instance of effect. The color and opacity of the bitmap. This property is a . The individual values for each channel are of type FLOAT, unbounded and unitless. The effect doesn't modify the values for the channels. The RGBA values for each channel range from 0 to 1. Built in GammaTransfer effect. Initializes a new instance of effect. The amplitude of the gamma transfer function for the Red channel. The exponent of the gamma transfer function for the Red channel. The offset of the gamma transfer function for the Red channel. If you set this to TRUE it does not apply the transfer function to the Red channel. An identity transfer function is used. If you set this to FALSE it applies the gamma transfer function to the Red channel. The amplitude of the gamma transfer function for the Green channel. The exponent of the gamma transfer function for the Green channel. The offset of the gamma transfer function for the Green channel. If you set this to TRUE it does not apply the transfer function to the Green channel. An identity transfer function is used. If you set this to FALSE it applies the gamma transfer function to the Green channel. The amplitude of the gamma transfer function for the Blue channel. The exponent of the gamma transfer function for the Blue channel. The offset of the gamma transfer function for the Blue channel. If you set this to TRUE it does not apply the transfer function to the Blue channel. An identity transfer function is used. If you set this to FALSE it applies the gamma transfer function to the Blue channel. The amplitude of the gamma transfer function for the Alpha channel. The exponent of the gamma transfer function for the Alpha channel. The offset of the gamma transfer function for the Alpha channel. If you set this to TRUE it does not apply the transfer function to the Alpha channel. An identity transfer function is used. If you set this to FALSE it applies the gamma transfer function to the Alpha channel. Whether the effect clamps color values to between 0 and 1 before the effect passes the values to the next effect in the graph. The effect clamps the values before it premultiplies the alpha . if you set this to TRUE the effect will clamp the values. If you set this to FALSE, the effect will not clamp the color values, but other effects and the output surface may clamp the values if they are not of high enough precision. Built in GaussianBlur effect. Initializes a new instance of effect. Gets or sets the amount of blur to be applied to the image. Default: 1.0f You can compute the blur radius of the kernel by multiplying the standard deviation by 3. The units of both the standard deviation and blur radius are DIPs. A value of zero DIPs disables this effect entirely. The optimization mode. See modes for more info. Default value is . The mode used to calculate the border of the image, soft or hard. See modes for more info. Built in Histogram effect. Initializes a new instance of effect. Specifies the number of bins used for the histogram. The range of intensity values that fall into a particular bucket depend on the number of specified buckets. Specifies the channel used to generate the histogram. This effect has a single data output corresponding to the specified channel. See Channel selectors for more info. The output array. Built in HueRotate effect. Initializes a new instance of effect. The angle to rotate the hue, in degrees. Built in LinearTransfer effect. Initializes a new instance of effect. TThe Y-intercept of the linear function for the Red channel. The slope of the linear function for the Red channel. If you set this to TRUE it does not apply the transfer function to the Red channel. An identity transfer function is used. If you set this to FALSE it applies the gamma transfer function to the Red channel. The Y-intercept of the linear function for the Green channel. The slope of the linear function for the Green channel. If you set this to TRUE it does not apply the transfer function to the Green channel. An identity transfer function is used. If you set this to FALSE it applies the gamma transfer function to the Green channel. The Y-intercept of the linear function for the Blue channel. The slope of the linear function for the Blue channel. If you set this to TRUE it does not apply the transfer function to the Blue channel. An identity transfer function is used. If you set this to FALSE it applies the gamma transfer function to the Blue channel. The Y-intercept of the linear function for the Alpha channel. The slope of the linear function for the Alpha channel. If you set this to TRUE it does not apply the transfer function to the Alpha channel. An identity transfer function is used. If you set this to FALSE it applies the gamma transfer function to the Alpha channel. Whether the effect clamps color values to between 0 and 1 before the effect passes the values to the next effect in the graph. The effect clamps the values before it premultiplies the alpha . if you set this to TRUE the effect will clamp the values. If you set this to FALSE, the effect will not clamp the color values, but other effects and the output surface may clamp the values if they are not of high enough precision. Built in LuminanceToAlpha effect. Initializes a new instance of effect. Built in Morphology effect. Initializes a new instance of effect. The morphology mode. The available modes are erode (flatten) and dilate (thicken). See Morphology modes for more info. Size of the kernel in the X direction. The units are in DIPs. Size of the kernel in the Y direction. The units are in DIPs. The namespace provides a managed Direct2D1 built in Effects API. hh706327 Direct2D1 Effects Direct2D1 Effects Marks an area of an input image as opaque, so internal rendering optimizations to the graph are possible. This effect doesn't modify the image itself to be opaque. It modifies data associated with the image so the renderer assumes the specified region is opaque. Creates a new instance of the class. The device context where this effect is attached to. The portion of the source image that is opaque. The default is the entire input image. Rotates the image in 3 dimensions as if viewed from a distance. The is more convenient than the effect, but only exposes a subset of the functionality. You can compute a full 3D transformation matrix and apply a more arbitrary transform matrix to an image using the effect. Creates a new instance of the class. The device context where this effect is attached to. Image interpolation mode. The border mode. The perspective depth. The perspective origin. The transformation local offset. The transformation global offset. The transformation rotation origin. The transformation rotation. Built in PointDiffuse effect. Initializes a new instance of effect. The light position of the point light source. The property is a D2D1_VECTOR_3F defined as (x, y, z). The units are in device-independent pixels (DIPs) and the values are unitless and unbounded. The ratio of diffuse reflection to amount of incoming light. This property must be between 0 and 10,000 and is unitless. The scale factor in the Z direction. The value is unitless and must be between 0 and 10,000. The color of the incoming light. This property is exposed as a – (R, G, B) and used to compute LR, LG, LB. The size of an element in the Sobel kernel used to generate the surface normal in the X and Y direction. This property maps to the dx and dy values in the Sobel gradient. This property is a (Kernel Unit Length X, Kernel Unit Length Y) and is defined in (device-independent pixels (DIPs)/Kernel Unit). The effect uses bilinear interpolation to scale the bitmap to match size of kernel elements. The interpolation mode the effect uses to scale the image to the corresponding kernel unit length. There are six scale modes that range in quality and speed. If you don't select a mode, the effect uses the interpolation mode of the device context. See Scale modes for more info. Built in PointSpecular effect. Initializes a new instance of effect. The light position of the point light source. The property is a D2D1_VECTOR_3F defined as (x, y, z). The units are in device-independent pixels (DIPs) and the values are unitless and unbounded. The exponent for the specular term in the Phong lighting equation. A larger value corresponds to a more reflective surface. The value is unitless and must be between 1.0 and 128. The ratio of specular reflection to the incoming light. The value is unitless and must be between 0 and 10,000. The scale factor in the Z direction. The value is unitless and must be between 0 and 10,000. The color of the incoming light. This property is exposed as a – (R, G, B) and used to compute LR, LG, LB. The size of an element in the Sobel kernel used to generate the surface normal in the X and Y direction. This property maps to the dx and dy values in the Sobel gradient. This property is a (Kernel Unit Length X, Kernel Unit Length Y) and is defined in (device-independent pixels (DIPs)/Kernel Unit). The effect uses bilinear interpolation to scale the bitmap to match size of kernel elements. The interpolation mode the effect uses to scale the image to the corresponding kernel unit length. There are six scale modes that range in quality and speed. If you don't select a mode, the effect uses the interpolation mode of the device context. See Scale modes for more info. Built in Premultiply effect. Initializes a new instance of effect. Built in Saturation effect. Initializes a new instance of effect. The saturation of the image. You can set the saturation to a value between 0 and 1. If you set it to 1 the output image is fully saturated. If you set it to 0 the output image is monochrome. The saturation value is unitless. Built in Scale effect. Initializes a new instance of effect. The scale amount in the X and Y direction as a ratio of the output size to the input size. This property a defined as: (X scale, Y scale). The scale amounts are FLOAT, unitless, and must be positive or 0. The image scaling center point. This property is a defined as: (point X, point Y). The units are in DIPs. Use the center point property to scale around a point other than the upper-left corner. The mode used to calculate the border of the image, soft or hard. See Border modes for more info. In the high quality cubic interpolation mode, the sharpness level of the scaling filter as a float between 0 and 1. The values are unitless. You can use sharpness to adjust the quality of an image when you scale the image down. The sharpness factor affects the shape of the kernel. The higher the sharpness factor, the smaller the kernel. This property affects only the high quality cubic interpolation mode. The interpolation mode the effect uses to scale the image. There are 6 scale modes that range in quality and speed. If you don't select a mode, the effect uses the interpolation mode of the device context. See Interpolation modes for more info. Built in Shadow effect. Initializes a new instance of effect. The amount of blur to be applied to the alpha channel of the image. You can compute the blur radius of the kernel by multiplying the standard deviation by 3. The units of both the standard deviation and blur radius are DIPs. This property is the same as the Gaussian Blur standard deviation property. The color of the drop shadow. This property is a defined as: (R, G, B, A). The level of performance optimization. Builtin SpotDiffuse effect. Initializes a new instance of effect. The light position of the point light source. The property is a defined as (x, y, z). The units are in device-independent pixels (DIPs) and the values are unitless and unbounded. Where the spot light is focused. The property is exposed as a with – (x, y, z). The units are in DIPs and the values are unbounded. The focus of the spot light. This property is unitless and is defined between 0 and 200. The cone angle that restricts the region where the light is projected. No light is projected outside the cone. The limiting cone angle is the angle between the spot light axis (the axis between the LightPosition and PointsAt properties) and the spot light cone. This property is defined in degrees and must be between 0 to 90 degrees. The ratio of diffuse reflection to amount of incoming light. This property must be between 0 and 10,000 and is unitless. The scale factor in the Z direction. The value is unitless and must be between 0 and 10,000. The color of the incoming light. This property is exposed as a – (R, G, B) and used to compute LR, LG, LB. The size of an element in the Sobel kernel used to generate the surface normal in the X and Y direction. This property maps to the dx and dy values in the Sobel gradient. This property is a (Kernel Unit Length X, Kernel Unit Length Y) and is defined in (device-independent pixels (DIPs)/Kernel Unit). The effect uses bilinear interpolation to scale the bitmap to match size of kernel elements. The interpolation mode the effect uses to scale the image to the corresponding kernel unit length. There are six scale modes that range in quality and speed. If you don't select a mode, the effect uses the interpolation mode of the device context. See Scale modes for more info. Built in SpotSpecular effect. Initializes a new instance of effect. The light position of the point light source. The property is a D2D1_VECTOR_3F defined as (x, y, z). The units are in device-independent pixels (DIPs) and the values are unitless and unbounded. Where the spot light is focused. The property is exposed as a with – (x, y, z). The units are in DIPs and the values are unbounded. The focus of the spot light. This property is unitless and is defined between 0 and 200. The cone angle that restricts the region where the light is projected. No light is projected outside the cone. The limiting cone angle is the angle between the spot light axis (the axis between the LightPosition and PointsAt properties) and the spot light cone. This property is defined in degrees and must be between 0 to 90 degrees. The exponent for the specular term in the Phong lighting equation. A larger value corresponds to a more reflective surface. The value is unitless and must be between 1.0 and 128. The ratio of specular reflection to the incoming light. The value is unitless and must be between 0 and 10,000. The scale factor in the Z direction. The value is unitless and must be between 0 and 10,000. The color of the incoming light. This property is exposed as a – (R, G, B) and used to compute LR, LG, LB. The size of an element in the Sobel kernel used to generate the surface normal in the X and Y direction. This property maps to the dx and dy values in the Sobel gradient. This property is a (Kernel Unit Length X, Kernel Unit Length Y) and is defined in (device-independent pixels (DIPs)/Kernel Unit). The effect uses bilinear interpolation to scale the bitmap to match size of kernel elements. The interpolation mode the effect uses to scale the image to the corresponding kernel unit length. There are six scale modes that range in quality and speed. If you don't select a mode, the effect uses the interpolation mode of the device context. See Scale modes for more info. Built in TableTransfer effect. Initializes a new instance of effect. The list of values used to define the transfer function for the Red channel. If you set this to TRUE the effect does not apply the transfer function to the Red channel. If you set this to FALSE the effect applies the RedTableTransfer function to the Red channel. The list of values that define the transfer function for the Green channel. If you set this to TRUE the effect does not apply the transfer function to the Green channel. If you set this to FALSE the effect applies the GreenTableTransfer function to the Green channel. The list of values that define the transfer function for the Blue channel. If you set this to TRUE the effect does not apply the transfer function to the Blue channel. If you set this to FALSE the effect applies the BlueTableTransfer function to the Blue channel. The list of values that define the transfer function for the Alpha channel. If you set this to TRUE the effect does not apply the transfer function to the Alpha channel. If you set this to FALSE the effect applies the AlphaTableTransfer function to the Alpha channel. Whether the effect clamps color values to between 0 and 1 before the effect passes the values to the next effect in the graph. The effect clamps the values before it premultiplies the alpha . if you set this to TRUE the effect will clamp the values. If you set this to FALSE, the effect will not clamp the color values, but other effects and the output surface may clamp the values if they are not of high enough precision. Built in Tile effect. Initializes a new instance of effect. The region to be tiled specified as a vector in the form (left, top, width, height). The units are in DIPs. Built in Transform3D effect. Initializes a new instance of effect. The interpolation mode used to scale the image. There are 6 scale modes that range in quality and speed. If you don't select a mode, the effect uses the interpolation mode of the device context. See for more info. The mode used to calculate the border of the image, soft or hard. See modes for more info. A 4x4 transform matrix applied to the projection plane. Built in Turbulence effect. Initializes a new instance of effect. The coordinates where the turbulence output is generated. The algorithm used to generate the Perlin noise is position dependent, so a different offset results in a different output. This property is not bounded and the units are specified in DIPs The offset does not have the same effect as a translation because the noise function output is infinite and the function will wrap around the tile. The base frequencies in the X and Y direction.. This property is a float and must be greater than 0. The units are specified in 1/DIPs. A value of 1 (1/DIPs) for the base frequency results in the Perlin noise completing an entire cycle between two pixels. The ease interpolation for these pixels results in completely random pixels, since there is no correlation between the pixels. A value of 0.1(1/DIPs) for the base frequency, the Perlin noise function repeats every 10 DIPs. This results in correlation between pixels and the typical turbulence effect is visible The number of octaves for the noise function. This property is an int and must be greater than 0. The seed for the pseudo random generator. This property is unbounded. The turbulence noise mode. This property can be either fractal sum or turbulence. Indicates whether to generate a bitmap based on Fractal Noise or the Turbulence function. See Noise modes for more info. Turns stitching on or off. The base frequency is adjusted so that output bitmap can be stitched. This is useful if you want to tile multiple copies of the turbulence effect output. true: The output bitmap can be tiled (using the tile effect) without the appearance of seams. The base frequency is adjusted so that output bitmap can be stitched. false: The base frequency is not adjusted, so seams may appear between tiles if the bitmap is tiled. Built in Premultiply effect. Initializes a new instance of effect. The built-in YCbCr effect. Initializes a new instance of the effect. The device context where this effect instance is attached to. Gets or sets the chroma subsampling of the input chroma image. Gets or sets the axis-aligned affine transform of the image. Axis aligned transforms include Scale, Flips, and 90 degree rotations. Gets or sets the interpolation mode.

Contains the center point, x-radius, and y-radius of an ellipse.

dd368097 D2D1_ELLIPSE D2D1_ELLIPSE
Initializes a new instance of the struct. The center. The radius X. The radius Y.

The center point of the ellipse.

dd368097 D2D_POINT_2F point D2D_POINT_2F point

The X-radius of the ellipse.

dd368097 float radiusX float radiusX

The Y-radius of the ellipse.

dd368097 float radiusY float radiusY

Represents an ellipse.

dd371239 ID2D1EllipseGeometry ID2D1EllipseGeometry
Creates an . an instance of A value that describes the center point, x-radius, and y-radius of the ellipse geometry. Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the structure that describes this ellipse geometry.

dd371243 GetEllipse GetEllipse void ID2D1EllipseGeometry::GetEllipse([Out] D2D1_ELLIPSE* ellipse)

Gets the structure that describes this ellipse geometry.

No documentation. dd371243 void ID2D1EllipseGeometry::GetEllipse([Out] D2D1_ELLIPSE* ellipse) ID2D1EllipseGeometry::GetEllipse

Creates Direct2D resources.

The interface is the starting point for using Direct2D; it's what you use to create other Direct2D resources that you can use to draw or describe shapes.

A factory defines a set of CreateResource methods that can produce the following drawing resources:

  • Render targets: objects that render drawing commands.
  • Drawing state blocks: objects that store drawing state information, such as the current transformation and antialiasing mode.
  • Geometries: objects that represent simple and potentially complex shapes.

To create an , you use one of the CreateFactory methods. You should retain the instance for as long as you use Direct2D resources; in general, you shouldn't need to recreate it when the application is running. For more information about Direct2D resources, see the Resources Overview.

dd371246 ID2D1Factory ID2D1Factory
Default Constructor for a . Default Constructor for a . Default Constructor for a . Retrieves the current desktop dots per inch (DPI). To refresh this value, call {{ReloadSystemMetrics}}. Use this method to obtain the system DPI when setting physical pixel values, such as when you specify the size of a window. Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Forces the factory to refresh any system defaults that it might have changed since factory creation.

If this method succeeds, it returns . Otherwise, it returns an error code.

You should call this method before calling the GetDesktopDpi method, to ensure that the system DPI is current.

dd371319 HRESULT ID2D1Factory::ReloadSystemMetrics() ID2D1Factory::ReloadSystemMetrics

Retrieves the current desktop dots per inch (DPI). To refresh this value, call ReloadSystemMetrics.

No documentation. No documentation.

Use this method to obtain the system DPI when setting physical pixel values, such as when you specify the size of a window.

dd371316 void ID2D1Factory::GetDesktopDpi([Out] float* dpiX,[Out] float* dpiY) ID2D1Factory::GetDesktopDpi

Creates an .

No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371289 HRESULT ID2D1Factory::CreateRectangleGeometry([In] const D2D_RECT_F* rectangle,[Out, Fast] ID2D1RectangleGeometry** rectangleGeometry) ID2D1Factory::CreateRectangleGeometry

Creates an .

No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371293 HRESULT ID2D1Factory::CreateRoundedRectangleGeometry([In] const D2D1_ROUNDED_RECT* roundedRectangle,[Out, Fast] ID2D1RoundedRectangleGeometry** roundedRectangleGeometry) ID2D1Factory::CreateRoundedRectangleGeometry

Creates an .

No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371270 HRESULT ID2D1Factory::CreateEllipseGeometry([In] const D2D1_ELLIPSE* ellipse,[Out, Fast] ID2D1EllipseGeometry** ellipseGeometry) ID2D1Factory::CreateEllipseGeometry

Creates an , which is an object that holds other geometries.

No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

Geometry groups are a convenient way to group several geometries simultaneously so all figures of several distinct geometries are concatenated into one. To create a object, call the CreateGeometryGroup method on the object, passing in the fillMode with possible values of (alternate) and , an array of geometry objects to add to the geometry group, and the number of elements in this array.

dd371273 HRESULT ID2D1Factory::CreateGeometryGroup([In] D2D1_FILL_MODE fillMode,[In, Buffer] ID2D1Geometry** geometries,[In] unsigned int geometriesCount,[Out, Fast] ID2D1GeometryGroup** geometryGroup) ID2D1Factory::CreateGeometryGroup

Creates an , which is an object that holds other geometries.

No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

Geometry groups are a convenient way to group several geometries simultaneously so all figures of several distinct geometries are concatenated into one. To create a object, call the CreateGeometryGroup method on the object, passing in the fillMode with possible values of (alternate) and , an array of geometry objects to add to the geometry group, and the number of elements in this array.

dd371273 HRESULT ID2D1Factory::CreateGeometryGroup([In] D2D1_FILL_MODE fillMode,[In, Buffer] ID2D1Geometry** geometries,[In] unsigned int geometriesCount,[Out, Fast] ID2D1GeometryGroup** geometryGroup) ID2D1Factory::CreateGeometryGroup

Creates an , which is an object that holds other geometries.

No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

Geometry groups are a convenient way to group several geometries simultaneously so all figures of several distinct geometries are concatenated into one. To create a object, call the CreateGeometryGroup method on the object, passing in the fillMode with possible values of (alternate) and , an array of geometry objects to add to the geometry group, and the number of elements in this array.

dd371273 HRESULT ID2D1Factory::CreateGeometryGroup([In] D2D1_FILL_MODE fillMode,[In, Buffer] ID2D1Geometry** geometries,[In] unsigned int geometriesCount,[Out, Fast] ID2D1GeometryGroup** geometryGroup) ID2D1Factory::CreateGeometryGroup

Transforms the specified geometry and stores the result as an object.

No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

Like other resources, a transformed geometry inherits the resource space and threading policy of the factory that created it. This object is immutable.

When stroking a transformed geometry with the DrawGeometry method, the stroke width is not affected by the transform applied to the geometry. The stroke width is only affected by the world transform.

dd371307 HRESULT ID2D1Factory::CreateTransformedGeometry([In] ID2D1Geometry* sourceGeometry,[In] const D2D_MATRIX_3X2_F* transform,[Out, Fast] ID2D1TransformedGeometry** transformedGeometry) ID2D1Factory::CreateTransformedGeometry

Creates an empty .

No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371282 HRESULT ID2D1Factory::CreatePathGeometry([Out, Fast] ID2D1PathGeometry** pathGeometry) ID2D1Factory::CreatePathGeometry

Creates an that describes start cap, dash pattern, and other features of a stroke.

No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371301 HRESULT ID2D1Factory::CreateStrokeStyle([In] const D2D1_STROKE_STYLE_PROPERTIES* strokeStyleProperties,[In, Buffer, Optional] const float* dashes,[In] unsigned int dashesCount,[Out, Fast] ID2D1StrokeStyle** strokeStyle) ID2D1Factory::CreateStrokeStyle

Creates an that can be used with the SaveDrawingState and RestoreDrawingState methods of a render target.

No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371253 HRESULT ID2D1Factory::CreateDrawingStateBlock([In, Optional] const D2D1_DRAWING_STATE_DESCRIPTION* drawingStateDescription,[In, Optional] IDWriteRenderingParams* textRenderingParams,[Out, Fast] ID2D1DrawingStateBlock** drawingStateBlock) ID2D1Factory::CreateDrawingStateBlock

Creates a render target that renders to a Microsoft Windows Imaging Component (WIC) bitmap.

The bitmap that receives the rendering output of the render target.

The rendering mode, pixel format, remoting options, DPI information, and the minimum DirectX support required for hardware rendering. For information about supported pixel formats, see Supported Pixel Formats and Alpha Modes.

When this method returns, contains the address of the reference to the object created by this method.

If this method succeeds, it returns . Otherwise, it returns an error code.

You must use for the minLevel member of the renderTargetProperties parameter with this method.

Your application should create render targets once and hold onto them for the life of the application or until the error is received. When you receive this error, you need to recreate the render target (and any resources it created).

Note?? This method isn't supported on Windows Phone and will fail when called on a device with error code 0x8899000b (?There is no hardware rendering device available for this operation?). Because the Windows Phone Emulator supports WARP rendering, this method will fail when called on the emulator with a different error code, 0x88982f80 (wincodec_err_unsupportedpixelformat).

dd371309 HRESULT ID2D1Factory::CreateWicBitmapRenderTarget([In] IWICBitmap* target,[In] const D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties,[Out, Fast] ID2D1RenderTarget** renderTarget) ID2D1Factory::CreateWicBitmapRenderTarget

Creates an , a render target that renders to a window.

No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

When you create a render target and hardware acceleration is available, you allocate resources on the computer's GPU. By creating a render target once and retaining it as long as possible, you gain performance benefits. Your application should create render targets once and hold onto them for the life of the application or until the error is received. When you receive this error, you need to recreate the render target (and any resources it created).

dd371279 HRESULT ID2D1Factory::CreateHwndRenderTarget([In] const D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties,[In] const D2D1_HWND_RENDER_TARGET_PROPERTIES* hwndRenderTargetProperties,[Out, Fast] ID2D1HwndRenderTarget** hwndRenderTarget) ID2D1Factory::CreateHwndRenderTarget

Creates a render target that draws to a DirectX Graphics Infrastructure (DXGI) surface.

The to which the render target will draw.

The rendering mode, pixel format, remoting options, DPI information, and the minimum DirectX support required for hardware rendering. For information about supported pixel formats, see Supported Pixel Formats and Alpha Modes.

When this method returns, contains the address of the reference to the object created by this method.

If this method succeeds, it returns . Otherwise, it returns an error code.

To write to a Direct3D surface, you obtain an and pass it to the CreateDxgiSurfaceRenderTarget method to create a DXGI surface render target; you can then use the DXGI surface render target to draw 2-D content to the DXGI surface.

A DXGI surface render target is a type of . Like other Direct2D render targets, you can use it to create resources and issue drawing commands.

The DXGI surface render target and the DXGI surface must use the same DXGI format. If you specify the DXGI_FORMAT_UNKOWN format when you create the render target, it will automatically use the surface's format.

The DXGI surface render target does not perform DXGI surface synchronization.

For more information about creating and using DXGI surface render targets, see the Direct2D and Direct3D Interoperability Overview.

To work with Direct2D, the Direct3D device that provides the must be created with the D3D10_CREATE_DEVICE_BGRA_SUPPORT flag.

When you create a render target and hardware acceleration is available, you allocate resources on the computer's GPU. By creating a render target once and retaining it as long as possible, you gain performance benefits. Your application should create render targets once and hold onto them for the life of the application or until the render target's EndDraw method returns the error. When you receive this error, you need to recreate the render target (and any resources it created).

dd371264 HRESULT ID2D1Factory::CreateDxgiSurfaceRenderTarget([In] IDXGISurface* dxgiSurface,[In] const D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties,[Out, Fast] ID2D1RenderTarget** renderTarget) ID2D1Factory::CreateDxgiSurfaceRenderTarget

Creates a render target that draws to a Windows Graphics Device Interface (GDI) device context.

The rendering mode, pixel format, remoting options, DPI information, and the minimum DirectX support required for hardware rendering. To enable the device context (DC) render target to work with GDI, set the DXGI format to and the alpha mode to or . For more information about pixel formats, see Supported Pixel Formats and Alpha Modes.

When this method returns, dcRenderTarget contains the address of the reference to the created by the method.

If this method succeeds, it returns . Otherwise, it returns an error code.

Before you can render with a DC render target, you must use the render target's BindDC method to associate it with a GDI DC. Do this for each different DC and whenever there is a change in the size of the area you want to draw to.

To enable the DC render target to work with GDI, set the render target's DXGI format to and alpha mode to or .

Your application should create render targets once and hold on to them for the life of the application or until the render target's EndDraw method returns the error. When you receive this error, recreate the render target (and any resources it created).

dd371248 HRESULT ID2D1Factory::CreateDCRenderTarget([In] const D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties,[Out, Fast] ID2D1DCRenderTarget** dcRenderTarget) ID2D1Factory::CreateDCRenderTarget

Creates Direct2D resources.

The interface is used to create devices, register and unregister effects, and enumerate effects properties. Effects are registered and unregistered globally. The registration APIs are placed on this interface for convenience.

hh404596 ID2D1Factory1 ID2D1Factory1
Default Constructor for a . Default Constructor for a . Default Constructor for a . Get the effects registered HRESULT ID2D1Factory1::GetRegisteredEffects([Out, Buffer, Optional] GUID* effects,[In] unsigned int effectsCount,[Out, Optional] unsigned int* effectsReturned,[Out, Optional] unsigned int* effectsRegistered) Register a factory. Register a factory. Register a . Type of Register a . Type of Unregister a . Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Creates a object.

No documentation. No documentation.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.
D3DERR_OUTOFVIDEOMEMORYDirect3D does not have enough display memory to perform the operation.

?

The Direct2D device defines a resource domain in which a set of Direct2D objects and Direct2D device contexts can be used together. Each call to CreateDevice returns a unique object, even if you pass the same multiple times.

hh404599 HRESULT ID2D1Factory1::CreateDevice([In] IDXGIDevice* dxgiDevice,[Out, Fast] ID2D1Device** d2dDevice) ID2D1Factory1::CreateDevice

Creates a object.

No documentation. No documentation. No documentation. No documentation.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.

?

It is valid to specify a dash array only if is also specified.

hh404605 HRESULT ID2D1Factory1::CreateStrokeStyle([In] const D2D1_STROKE_STYLE_PROPERTIES1* strokeStyleProperties,[In, Buffer, Optional] const float* dashes,[In] unsigned int dashesCount,[Out, Fast] ID2D1StrokeStyle1** strokeStyle) ID2D1Factory1::CreateStrokeStyle

Creates an object.

No documentation.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.

?

hh404602 HRESULT ID2D1Factory1::CreatePathGeometry([Out, Fast] ID2D1PathGeometry1** pathGeometry) ID2D1Factory1::CreatePathGeometry

Creates a new drawing state block, this can be used in subsequent SaveDrawingState and RestoreDrawingState operations on the render target.

The drawing state description structure.

The address of the newly created drawing state block.

The address of the newly created drawing state block.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.

?

jj841162 HRESULT ID2D1Factory1::CreateDrawingStateBlock([In, Optional] const D2D1_DRAWING_STATE_DESCRIPTION1* drawingStateDescription,[In, Optional] IDWriteRenderingParams* textRenderingParams,[Out, Fast] ID2D1DrawingStateBlock1** drawingStateBlock) ID2D1Factory1::CreateDrawingStateBlock

Creates a new object that you can use to replay metafile content.

No documentation. No documentation.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.

?

hh847995 HRESULT ID2D1Factory1::CreateGdiMetafile([In] IStream* metafileStream,[Out] ID2D1GdiMetafile** metafile) ID2D1Factory1::CreateGdiMetafile

Registers an effect within the factory instance with the property XML specified as a stream.

The identifier of the effect to be registered.

A list of the effect properties, types, and metadata.

An array of properties and methods.

This binds a property by name to a particular method implemented by the effect author to handle the property. The name must be found in the corresponding propertyXml.

The number of bindings in the binding array.

The static factory that is used to create the corresponding effect.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

Direct2D effects must define their properties at registration time via registration XML. An effect declares several required system properties, and can also declare custom properties. See Custom effects for more information about formatting the propertyXml parameter.

RegisterEffect is both atomic and reference counted. To unregister an effect, call UnregisterEffect with the classId of the effect.

Important??RegisterEffect does not hold a reference to the DLL or executable file in which the effect is contained. The application must independently make sure that the lifetime of the DLL or executable file completely contains all instances of each registered and created effect.?

Aside from the built-in effects that are globally registered, this API registers effects only for this factory, derived device, and device context interfaces.

hh847996 HRESULT ID2D1Factory1::RegisterEffectFromStream([In] const GUID& classId,[In] IStream* propertyXml,[In, Buffer, Optional] const D2D1_PROPERTY_BINDING* bindings,[In] unsigned int bindingsCount,[In] const __function__stdcall* effectFactory) ID2D1Factory1::RegisterEffectFromStream

Registers an effect within the factory instance with the property XML specified as a string.

The identifier of the effect to be registered.

A list of the effect properties, types, and metadata.

An array of properties and methods.

This binds a property by name to a particular method implemented by the effect author to handle the property. The name must be found in the corresponding propertyXml.

The number of bindings in the binding array.

The static factory that is used to create the corresponding effect.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

Direct2D effects must define their properties at registration time via registration XML. An effect declares several required system properties, and can also declare custom properties. See Custom effects for more information about formatting the propertyXml parameter.

RegisterEffect is both atomic and reference counted. To unregister an effect, call UnregisterEffect with the classId of the effect.

Important??RegisterEffect does not hold a reference to the DLL or executable file in which the effect is contained. The application must independently make sure that the lifetime of the DLL or executable file completely contains all instances of each registered and created effect.?

Aside from the built-in effects that are globally registered, this API registers effects only for this factory and derived device and device context interfaces.

hh404614 HRESULT ID2D1Factory1::RegisterEffectFromString([In] const GUID& classId,[In] const wchar_t* propertyXml,[In, Buffer, Optional] const D2D1_PROPERTY_BINDING* bindings,[In] unsigned int bindingsCount,[In] const __function__stdcall* effectFactory) ID2D1Factory1::RegisterEffectFromString

Unregisters an effect within the factory instance that corresponds to the classId provided.

The identifier of the effect to be unregistered.

if the effect is not registered, otherwise.

In order for the effect to be fully unloaded, you must call UnregisterEffect the same number of times that you have registered the effect.

The UnregisterEffect method unregisters only those effects that are registered on the same factory. It cannot be used to unregister a built-in effect.

hh404617 HRESULT ID2D1Factory1::UnregisterEffect([In] const GUID& classId) ID2D1Factory1::UnregisterEffect

Returns the class IDs of the currently registered effects and global effects on this factory.

When this method returns, contains an array of effects. null if no effects are retrieved.

The capacity of the effects array.

When this method returns, contains the number of effects copied into effects.

When this method returns, contains the number of effects currently registered in the system.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
HRESULT_FROM_WIN32()effectsRegistered is larger than effectCount.

?

The set of class IDs will be atomically returned by the API. The set will not be interrupted by other threads registering or unregistering effects.

If effectsRegistered is larger than effectCount, the supplied array will still be filled to capacity with the current set of registered effects. This method returns the CLSIDs for all global effects and all effects registered to this factory.

hh404612 HRESULT ID2D1Factory1::GetRegisteredEffects([Out, Buffer, Optional] GUID* effects,[In] unsigned int effectsCount,[Out, Optional] unsigned int* effectsReturned,[Out, Optional] unsigned int* effectsRegistered) ID2D1Factory1::GetRegisteredEffects

Retrieves the properties of an effect.

The ID of the effect to retrieve properties from.

When this method returns, contains the address of a reference to the property interface that can be used to query the metadata of the effect.

The returned effect properties will have all the mutable properties for the effect set to a default of null, or an empty value.

  • Value types will be zero-filled.
  • Blob and string types will be zero-length.
  • Array types will have length 1 and the element of the array will conform to the previous rules.

This method cannot be used to return the properties for any effect not visible to .

hh404608 HRESULT ID2D1Factory1::GetEffectProperties([In] const GUID& effectId,[Out] ID2D1Properties** properties) ID2D1Factory1::GetEffectProperties

Creates Direct2D resources.

This interface also enables the creation of objects.

dn280481 ID2D1Factory2 ID2D1Factory2
Creates a new instance of the class. Creates a new instance of the class with the specified . The factory threading type. Creates a new instance of the class with the specified and . The factory threading type. The factory debug level. Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Creates an object.

No documentation. No documentation.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.
D3DERR_OUTOFVIDEOMEMORYDirect3D does not have enough display memory to perform the operation.

?

The Direct2D device defines a resource domain in which a set of Direct2D objects and Direct2D device contexts can be used together. Each call to CreateDevice returns a unique object, even if you pass the same multiple times.

dn280482 HRESULT ID2D1Factory2::CreateDevice([In] IDXGIDevice* dxgiDevice,[Out, Fast] ID2D1Device1** d2dDevice1) ID2D1Factory2::CreateDevice

Provides access to an device context that can accept GDI drawing commands.

You don't create an object directly; instead, you use the QueryInterface method of an existing render target instance to provide an version of that render target.

Not all render targets support the interface. The render target must be GDI-compatible (the flag was specified when creating the render target), use the pixel format, and use the or alpha mode.

Note that the QueryInterface method always succeeds; if the render target doesn't support the interface, calling GetDC will fail. (For render targets created through the CreateCompatibleRenderTarget method, the render target that created it must have these settings.)

To test whether a given render target supports the interface, create a that specifies GDI compatibility and the appropriate pixel format, then call the render target's IsSupported method to see whether the render target is GDI-compatible.

dd371321 ID2D1GdiInteropRenderTarget ID2D1GdiInteropRenderTarget
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves the device context associated with this render target.

A value that specifies whether the device context should be cleared.

When this method returns, contains the device context associated with this render target. You must allocate storage for this parameter.

Calling this method flushes the render target.

This command can be called only after BeginDraw and before EndDraw.

Note??In Windows?7 and earlier, you should not call GetDC between PushAxisAlignedClip/PopAxisAlignedClip commands or between PushLayer/PopLayer. However, this restriction does not apply to Windows?8 and later.?

ReleaseDC must be called once for each call to GetDC.

dd371323 HRESULT ID2D1GdiInteropRenderTarget::GetDC([In] D2D1_DC_INITIALIZE_MODE mode,[Out] HDC* hdc) ID2D1GdiInteropRenderTarget::GetDC

Indicates that drawing with the device context retrieved using the GetDC method is finished.

No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

ReleaseDC must be called once for each call to GetDC.

dd371327 HRESULT ID2D1GdiInteropRenderTarget::ReleaseDC([In, Optional] const RECT* update) ID2D1GdiInteropRenderTarget::ReleaseDC

The interpolation mode to be used with the 2D affine transform effect to scale the image. There are 6 scale modes that range in quality and speed.

dn934205 D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE

Samples the nearest single point and uses that. This mode uses less processing time, but outputs the lowest quality image.

dn934205 D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR

Uses a four point sample and linear interpolation. This mode uses more processing time than the nearest neighbor mode, but outputs a higher quality image.

dn934205 D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_LINEAR D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_LINEAR

Uses a 16 sample cubic kernel for interpolation. This mode uses the most processing time, but outputs a higher quality image.

dn934205 D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_CUBIC D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_CUBIC

Uses 4 linear samples within a single pixel for good edge anti-aliasing. This mode is good for scaling down by small amounts on images with few pixels.

dn934205 D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR

Uses anisotropic filtering to sample a pattern according to the transformed shape of the bitmap.

dn934205 D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_ANISOTROPIC D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_ANISOTROPIC

Uses a variable size high quality cubic kernel to perform a pre-downscale the image if downscaling is involved in the transform matrix. Then uses the cubic interpolation mode for the final output.

dn934205 D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC

Identifiers for properties of the 2D affine transform effect.

dn934206 D2D1_2DAFFINETRANSFORM_PROP D2D1_2DAFFINETRANSFORM_PROP
No documentation. dn934206 D2D1_2DAFFINETRANSFORM_PROP_INTERPOLATION_MODE D2D1_2DAFFINETRANSFORM_PROP_INTERPOLATION_MODE No documentation. dn934206 D2D1_2DAFFINETRANSFORM_PROP_BORDER_MODE D2D1_2DAFFINETRANSFORM_PROP_BORDER_MODE No documentation. dn934206 D2D1_2DAFFINETRANSFORM_PROP_TRANSFORM_MATRIX D2D1_2DAFFINETRANSFORM_PROP_TRANSFORM_MATRIX No documentation. dn934206 D2D1_2DAFFINETRANSFORM_PROP_SHARPNESS D2D1_2DAFFINETRANSFORM_PROP_SHARPNESS

Specifies how the alpha value of a bitmap or render target should be treated.

The enumeration is used with the enumeration to specify the alpha mode of a render target or bitmap. Different render targets and bitmaps support different alpha modes. For a list, see Supported Pixel Formats and Alpha Modes.

dd368058 D2D1_ALPHA_MODE D2D1_ALPHA_MODE

The alpha value might not be meaningful.

dd368058 D2D1_ALPHA_MODE_UNKNOWN D2D1_ALPHA_MODE_UNKNOWN

The alpha value has been premultiplied. Each color is first scaled by the alpha value. The alpha value itself is the same in both straight and premultiplied alpha. Typically, no color channel value is greater than the alpha channel value. If a color channel value in a premultiplied format is greater than the alpha channel, the standard source-over blending math results in an additive blend.

dd368058 D2D1_ALPHA_MODE_PREMULTIPLIED D2D1_ALPHA_MODE_PREMULTIPLIED

The alpha value has not been premultiplied. The alpha channel indicates the transparency of the color.

dd368058 D2D1_ALPHA_MODE_STRAIGHT D2D1_ALPHA_MODE_STRAIGHT

The alpha value is ignored.

dd368058 D2D1_ALPHA_MODE_IGNORE D2D1_ALPHA_MODE_IGNORE

Specifies how the edges of nontext primitives are rendered.

dd368061 D2D1_ANTIALIAS_MODE D2D1_ANTIALIAS_MODE

Edges are antialiased using the Direct2D per-primitive method of high-quality antialiasing.

dd368061 D2D1_ANTIALIAS_MODE_PER_PRIMITIVE D2D1_ANTIALIAS_MODE_PER_PRIMITIVE

Objects are aliased in most cases. Objects are antialiased only when they are drawn to a render target created by the CreateDxgiSurfaceRenderTarget method and Direct3D multisampling has been enabled on the backing DirectX Graphics Infrastructure (DXGI) surface.

dd368061 D2D1_ANTIALIAS_MODE_ALIASED D2D1_ANTIALIAS_MODE_ALIASED

Specifies whether an arc should be greater than 180 degrees.

dd368068 D2D1_ARC_SIZE D2D1_ARC_SIZE

An arc's sweep should be 180 degrees or less.

dd368068 D2D1_ARC_SIZE_SMALL D2D1_ARC_SIZE_SMALL

An arc's sweep should be 180 degrees or greater.

dd368068 D2D1_ARC_SIZE_LARGE D2D1_ARC_SIZE_LARGE

Identifiers for the properties of the Arithmetic composite effect.

dn934211 D2D1_ARITHMETICCOMPOSITE_PROP D2D1_ARITHMETICCOMPOSITE_PROP
No documentation. dn934211 D2D1_ARITHMETICCOMPOSITE_PROP_COEFFICIENTS D2D1_ARITHMETICCOMPOSITE_PROP_COEFFICIENTS No documentation. dn934211 D2D1_ARITHMETICCOMPOSITE_PROP_CLAMP_OUTPUT D2D1_ARITHMETICCOMPOSITE_PROP_CLAMP_OUTPUT

Identifiers for properties of the Atlas effect.

dn934212 D2D1_ATLAS_PROP D2D1_ATLAS_PROP
No documentation. dn934212 D2D1_ATLAS_PROP_INPUT_RECT D2D1_ATLAS_PROP_INPUT_RECT No documentation. dn934212 D2D1_ATLAS_PROP_INPUT_PADDING_RECT D2D1_ATLAS_PROP_INPUT_PADDING_RECT

Specifies the algorithm that is used when images are scaled or rotated.

Note??Starting in Windows?8, more interpolations modes are available. See for more info.?

To stretch an image, each pixel in the original image must be mapped to a group of pixels in the larger image. To shrink an image, groups of pixels in the original image must be mapped to single pixels in the smaller image. The effectiveness of the algorithms that perform these mappings determines the quality of a scaled image. Algorithms that produce higher-quality scaled images tend to require more processing time. provides faster but lower-quality interpolation, while provides higher-quality interpolation.

dd368073 D2D1_BITMAP_INTERPOLATION_MODE D2D1_BITMAP_INTERPOLATION_MODE
No documentation. dd368073 D2D1_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR D2D1_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR No documentation. dd368073 D2D1_BITMAP_INTERPOLATION_MODE_LINEAR D2D1_BITMAP_INTERPOLATION_MODE_LINEAR

Specifies how a bitmap can be used.

implies that none of the flags are set. This means that the bitmap can be used for drawing from, cannot be set as a target and cannot be read from by the CPU.

means that the bitmap can be specified as a target in . If you also specify the flag the bitmap can be used a target but, it cannot be drawn from. Attempting to draw with a bitmap that has both flags set will result in the device context being put into an error state with .

means that the bitmap can be mapped by using . This flag requires and cannot be combined with any other flags. The bitmap must be updated with the CopyFromBitmap or CopyFromRenderTarget methods.

Note??You should only use is when the purpose of the bitmap is to be a target only or when the bitmap will be mapped .?

means that it is possible to get a DC associated with this bitmap. This must be used in conjunction with . The must be either or .

hh446984 D2D1_BITMAP_OPTIONS D2D1_BITMAP_OPTIONS

The bitmap is created with default properties.

hh446984 D2D1_BITMAP_OPTIONS_NONE D2D1_BITMAP_OPTIONS_NONE

The bitmap can be used as a device context target.

hh446984 D2D1_BITMAP_OPTIONS_TARGET D2D1_BITMAP_OPTIONS_TARGET

The bitmap cannot be used as an input.

hh446984 D2D1_BITMAP_OPTIONS_CANNOT_DRAW D2D1_BITMAP_OPTIONS_CANNOT_DRAW

The bitmap can be read from the CPU.

hh446984 D2D1_BITMAP_OPTIONS_CPU_READ D2D1_BITMAP_OPTIONS_CPU_READ

The bitmap works with .

Note??This flag is not available in Windows Store apps. ?
hh446984 D2D1_BITMAP_OPTIONS_GDI_COMPATIBLE D2D1_BITMAP_OPTIONS_GDI_COMPATIBLE

Specifies the alpha mode of the output of the Bitmap source effect.

dn934213 D2D1_BITMAPSOURCE_ALPHA_MODE D2D1_BITMAPSOURCE_ALPHA_MODE
No documentation. dn934213 D2D1_BITMAPSOURCE_ALPHA_MODE_PREMULTIPLIED D2D1_BITMAPSOURCE_ALPHA_MODE_PREMULTIPLIED No documentation. dn934213 D2D1_BITMAPSOURCE_ALPHA_MODE_STRAIGHT D2D1_BITMAPSOURCE_ALPHA_MODE_STRAIGHT

The interpolation mode used to scale the image in the Bitmap source effect. If the mode disables the mipmap, then BitmapSouce will cache the image at the resolution determined by the Scale and EnableDPICorrection properties.

dn934214 D2D1_BITMAPSOURCE_INTERPOLATION_MODE D2D1_BITMAPSOURCE_INTERPOLATION_MODE
No documentation. dn934214 D2D1_BITMAPSOURCE_INTERPOLATION_MODE_NEAREST_NEIGHBOR D2D1_BITMAPSOURCE_INTERPOLATION_MODE_NEAREST_NEIGHBOR No documentation. dn934214 D2D1_BITMAPSOURCE_INTERPOLATION_MODE_LINEAR D2D1_BITMAPSOURCE_INTERPOLATION_MODE_LINEAR No documentation. dn934214 D2D1_BITMAPSOURCE_INTERPOLATION_MODE_CUBIC D2D1_BITMAPSOURCE_INTERPOLATION_MODE_CUBIC No documentation. dn934214 D2D1_BITMAPSOURCE_INTERPOLATION_MODE_FANT D2D1_BITMAPSOURCE_INTERPOLATION_MODE_FANT No documentation. dn934214 D2D1_BITMAPSOURCE_INTERPOLATION_MODE_MIPMAP_LINEAR D2D1_BITMAPSOURCE_INTERPOLATION_MODE_MIPMAP_LINEAR

Speficies whether a flip and/or rotation operation should be performed by the Bitmap source effect

dn934215 D2D1_BITMAPSOURCE_ORIENTATION D2D1_BITMAPSOURCE_ORIENTATION
No documentation. dn934215 D2D1_BITMAPSOURCE_ORIENTATION_DEFAULT D2D1_BITMAPSOURCE_ORIENTATION_DEFAULT No documentation. dn934215 D2D1_BITMAPSOURCE_ORIENTATION_FLIP_HORIZONTAL D2D1_BITMAPSOURCE_ORIENTATION_FLIP_HORIZONTAL No documentation. dn934215 D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE180 D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE180 No documentation. dn934215 D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE180_FLIP_HORIZONTAL D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE180_FLIP_HORIZONTAL No documentation. dn934215 D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE270_FLIP_HORIZONTAL D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE270_FLIP_HORIZONTAL No documentation. dn934215 D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE90 D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE90 No documentation. dn934215 D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE90_FLIP_HORIZONTAL D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE90_FLIP_HORIZONTAL No documentation. dn934215 D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE270 D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE270

Identifiers for properties of the Bitmap source effect.

dn934216 D2D1_BITMAPSOURCE_PROP D2D1_BITMAPSOURCE_PROP
No documentation. dn934216 D2D1_BITMAPSOURCE_PROP_WIC_BITMAP_SOURCE D2D1_BITMAPSOURCE_PROP_WIC_BITMAP_SOURCE No documentation. dn934216 D2D1_BITMAPSOURCE_PROP_SCALE D2D1_BITMAPSOURCE_PROP_SCALE No documentation. dn934216 D2D1_BITMAPSOURCE_PROP_INTERPOLATION_MODE D2D1_BITMAPSOURCE_PROP_INTERPOLATION_MODE No documentation. dn934216 D2D1_BITMAPSOURCE_PROP_ENABLE_DPI_CORRECTION D2D1_BITMAPSOURCE_PROP_ENABLE_DPI_CORRECTION No documentation. dn934216 D2D1_BITMAPSOURCE_PROP_ALPHA_MODE D2D1_BITMAPSOURCE_PROP_ALPHA_MODE No documentation. dn934216 D2D1_BITMAPSOURCE_PROP_ORIENTATION D2D1_BITMAPSOURCE_PROP_ORIENTATION

Specifies how one of the color sources is to be derived and optionally specifies a preblend operation on the color source.

This enumeration has the same numeric values as D3D10_BLEND.

hh404276 D2D1_BLEND D2D1_BLEND

The data source is black (0, 0, 0, 0). There is no preblend operation.

hh404276 D2D1_BLEND_ZERO D2D1_BLEND_ZERO

The data source is white (1, 1, 1, 1). There is no preblend operation.

hh404276 D2D1_BLEND_ONE D2D1_BLEND_ONE

The data source is color data (RGB) from the second input of the blend transform. There is not a preblend operation.

hh404276 D2D1_BLEND_SRC_COLOR D2D1_BLEND_SRC_COLOR

The data source is color data (RGB) from second input of the blend transform. The preblend operation inverts the data, generating 1 - RGB.

hh404276 D2D1_BLEND_INV_SRC_COLOR D2D1_BLEND_INV_SRC_COLOR

The data source is alpha data (A) from second input of the blend transform. There is no preblend operation.

hh404276 D2D1_BLEND_SRC_ALPHA D2D1_BLEND_SRC_ALPHA

The data source is alpha data (A) from the second input of the blend transform. The preblend operation inverts the data, generating 1 - A.

hh404276 D2D1_BLEND_INV_SRC_ALPHA D2D1_BLEND_INV_SRC_ALPHA

The data source is alpha data (A) from the first input of the blend transform. There is no preblend operation.

hh404276 D2D1_BLEND_DEST_ALPHA D2D1_BLEND_DEST_ALPHA

The data source is alpha data (A) from the first input of the blend transform. The preblend operation inverts the data, generating 1 - A.

hh404276 D2D1_BLEND_INV_DEST_ALPHA D2D1_BLEND_INV_DEST_ALPHA

The data source is color data from the first input of the blend transform. There is no preblend operation.

hh404276 D2D1_BLEND_DEST_COLOR D2D1_BLEND_DEST_COLOR

The data source is color data from the first input of the blend transform. The preblend operation inverts the data, generating 1 - RGB.

hh404276 D2D1_BLEND_INV_DEST_COLOR D2D1_BLEND_INV_DEST_COLOR

The data source is alpha data from the second input of the blend transform. The preblend operation clamps the data to 1 or less.

hh404276 D2D1_BLEND_SRC_ALPHA_SAT D2D1_BLEND_SRC_ALPHA_SAT

The data source is the blend factor. There is no preblend operation.

hh404276 D2D1_BLEND_BLEND_FACTOR D2D1_BLEND_BLEND_FACTOR

The data source is the blend factor. The preblend operation inverts the blend factor, generating 1 - blend_factor.

hh404276 D2D1_BLEND_INV_BLEND_FACTOR D2D1_BLEND_INV_BLEND_FACTOR

The blend mode used for the Blend effect.

dn934217 D2D1_BLEND_MODE D2D1_BLEND_MODE
No documentation. dn934217 D2D1_BLEND_MODE_MULTIPLY D2D1_BLEND_MODE_MULTIPLY No documentation. dn934217 D2D1_BLEND_MODE_SCREEN D2D1_BLEND_MODE_SCREEN No documentation. dn934217 D2D1_BLEND_MODE_DARKEN D2D1_BLEND_MODE_DARKEN No documentation. dn934217 D2D1_BLEND_MODE_LIGHTEN D2D1_BLEND_MODE_LIGHTEN No documentation. dn934217 D2D1_BLEND_MODE_DISSOLVE D2D1_BLEND_MODE_DISSOLVE No documentation. dn934217 D2D1_BLEND_MODE_COLOR_BURN D2D1_BLEND_MODE_COLOR_BURN No documentation. dn934217 D2D1_BLEND_MODE_LINEAR_BURN D2D1_BLEND_MODE_LINEAR_BURN No documentation. dn934217 D2D1_BLEND_MODE_DARKER_COLOR D2D1_BLEND_MODE_DARKER_COLOR No documentation. dn934217 D2D1_BLEND_MODE_LIGHTER_COLOR D2D1_BLEND_MODE_LIGHTER_COLOR No documentation. dn934217 D2D1_BLEND_MODE_COLOR_DODGE D2D1_BLEND_MODE_COLOR_DODGE No documentation. dn934217 D2D1_BLEND_MODE_LINEAR_DODGE D2D1_BLEND_MODE_LINEAR_DODGE No documentation. dn934217 D2D1_BLEND_MODE_OVERLAY D2D1_BLEND_MODE_OVERLAY No documentation. dn934217 D2D1_BLEND_MODE_SOFT_LIGHT D2D1_BLEND_MODE_SOFT_LIGHT No documentation. dn934217 D2D1_BLEND_MODE_HARD_LIGHT D2D1_BLEND_MODE_HARD_LIGHT No documentation. dn934217 D2D1_BLEND_MODE_VIVID_LIGHT D2D1_BLEND_MODE_VIVID_LIGHT No documentation. dn934217 D2D1_BLEND_MODE_LINEAR_LIGHT D2D1_BLEND_MODE_LINEAR_LIGHT No documentation. dn934217 D2D1_BLEND_MODE_PIN_LIGHT D2D1_BLEND_MODE_PIN_LIGHT No documentation. dn934217 D2D1_BLEND_MODE_HARD_MIX D2D1_BLEND_MODE_HARD_MIX No documentation. dn934217 D2D1_BLEND_MODE_DIFFERENCE D2D1_BLEND_MODE_DIFFERENCE No documentation. dn934217 D2D1_BLEND_MODE_EXCLUSION D2D1_BLEND_MODE_EXCLUSION No documentation. dn934217 D2D1_BLEND_MODE_HUE D2D1_BLEND_MODE_HUE No documentation. dn934217 D2D1_BLEND_MODE_SATURATION D2D1_BLEND_MODE_SATURATION No documentation. dn934217 D2D1_BLEND_MODE_COLOR D2D1_BLEND_MODE_COLOR No documentation. dn934217 D2D1_BLEND_MODE_LUMINOSITY D2D1_BLEND_MODE_LUMINOSITY No documentation. dn934217 D2D1_BLEND_MODE_SUBTRACT D2D1_BLEND_MODE_SUBTRACT No documentation. dn934217 D2D1_BLEND_MODE_DIVISION D2D1_BLEND_MODE_DIVISION

Specifies the blend operation on two color sources.

This enumeration has the same numeric values as D3D10_BLEND_OP.

hh404278 D2D1_BLEND_OPERATION D2D1_BLEND_OPERATION

Add source 1 and source 2.

hh404278 D2D1_BLEND_OPERATION_ADD D2D1_BLEND_OPERATION_ADD

Subtract source 1 from source 2.

hh404278 D2D1_BLEND_OPERATION_SUBTRACT D2D1_BLEND_OPERATION_SUBTRACT

Subtract source 2 from source 1.

hh404278 D2D1_BLEND_OPERATION_REV_SUBTRACT D2D1_BLEND_OPERATION_REV_SUBTRACT

Find the minimum of source 1 and source 2.

hh404278 D2D1_BLEND_OPERATION_MIN D2D1_BLEND_OPERATION_MIN

Find the maximum of source 1 and source 2.

hh404278 D2D1_BLEND_OPERATION_MAX D2D1_BLEND_OPERATION_MAX

Identifiers for properties of the Blend effect.

dn934218 D2D1_BLEND_PROP D2D1_BLEND_PROP
No documentation. dn934218 D2D1_BLEND_PROP_MODE D2D1_BLEND_PROP_MODE

The edge mode for the Border effect.

dn934219 D2D1_BORDER_EDGE_MODE D2D1_BORDER_EDGE_MODE
No documentation. dn934219 D2D1_BORDER_EDGE_MODE_CLAMP D2D1_BORDER_EDGE_MODE_CLAMP No documentation. dn934219 D2D1_BORDER_EDGE_MODE_WRAP D2D1_BORDER_EDGE_MODE_WRAP No documentation. dn934219 D2D1_BORDER_EDGE_MODE_MIRROR D2D1_BORDER_EDGE_MODE_MIRROR

Specifies how the Crop effect handles the crop rectangle falling on fractional pixel coordinates.

dn934220 D2D1_BORDER_MODE D2D1_BORDER_MODE
No documentation. dn934220 D2D1_BORDER_MODE_SOFT D2D1_BORDER_MODE_SOFT No documentation. dn934220 D2D1_BORDER_MODE_HARD D2D1_BORDER_MODE_HARD

Identifiers for properties of the Border effect.

dn934221 D2D1_BORDER_PROP D2D1_BORDER_PROP
No documentation. dn934221 D2D1_BORDER_PROP_EDGE_MODE_X D2D1_BORDER_PROP_EDGE_MODE_X No documentation. dn934221 D2D1_BORDER_PROP_EDGE_MODE_Y D2D1_BORDER_PROP_EDGE_MODE_Y

Identifiers for the properties of the Brightness effect.

dn934223 D2D1_BRIGHTNESS_PROP D2D1_BRIGHTNESS_PROP
No documentation. dn934223 D2D1_BRIGHTNESS_PROP_WHITE_POINT D2D1_BRIGHTNESS_PROP_WHITE_POINT No documentation. dn934223 D2D1_BRIGHTNESS_PROP_BLACK_POINT D2D1_BRIGHTNESS_PROP_BLACK_POINT

Represents the bit depth of the imaging pipeline in Direct2D.

Note?? Feature level 9 may or may not support precision types other than 8BPC.? hh446986 D2D1_BUFFER_PRECISION D2D1_BUFFER_PRECISION

The buffer precision is not specified.

hh446986 D2D1_BUFFER_PRECISION_UNKNOWN D2D1_BUFFER_PRECISION_UNKNOWN

Use 8-bit normalized integer per channel.

hh446986 D2D1_BUFFER_PRECISION_8BPC_UNORM D2D1_BUFFER_PRECISION_8BPC_UNORM

Use 8-bit normalized integer standard RGB data per channel.

hh446986 D2D1_BUFFER_PRECISION_8BPC_UNORM_SRGB D2D1_BUFFER_PRECISION_8BPC_UNORM_SRGB

Use 16-bit normalized integer per channel.

hh446986 D2D1_BUFFER_PRECISION_16BPC_UNORM D2D1_BUFFER_PRECISION_16BPC_UNORM

Use 16-bit floats per channel.

hh446986 D2D1_BUFFER_PRECISION_16BPC_FLOAT D2D1_BUFFER_PRECISION_16BPC_FLOAT

Use 32-bit floats per channel.

hh446986 D2D1_BUFFER_PRECISION_32BPC_FLOAT D2D1_BUFFER_PRECISION_32BPC_FLOAT

Describes the shape at the end of a line or segment.

The following illustration shows the available cap styles for lines or segments. The red portion of the line shows the extra area added by the line cap setting.

dd368079 D2D1_CAP_STYLE D2D1_CAP_STYLE

A cap that does not extend past the last point of the line. Comparable to cap used for objects other than lines.

dd368079 D2D1_CAP_STYLE_FLAT D2D1_CAP_STYLE_FLAT

Half of a square that has a length equal to the line thickness.

dd368079 D2D1_CAP_STYLE_SQUARE D2D1_CAP_STYLE_SQUARE

A semicircle that has a diameter equal to the line thickness.

dd368079 D2D1_CAP_STYLE_ROUND D2D1_CAP_STYLE_ROUND

An isosceles right triangle whose hypotenuse is equal in length to the thickness of the line.

dd368079 D2D1_CAP_STYLE_TRIANGLE D2D1_CAP_STYLE_TRIANGLE

Describes flags that influence how the renderer interacts with a custom vertex shader.

hh404280 D2D1_CHANGE_TYPE D2D1_CHANGE_TYPE

There were no changes.

hh404280 D2D1_CHANGE_TYPE_NONE D2D1_CHANGE_TYPE_NONE

The properties of the effect changed.

hh404280 D2D1_CHANGE_TYPE_PROPERTIES D2D1_CHANGE_TYPE_PROPERTIES

The context state changed.

hh404280 D2D1_CHANGE_TYPE_CONTEXT D2D1_CHANGE_TYPE_CONTEXT

The effect?s transform graph has changed. This happens only when an effect supports a variable input count.

hh404280 D2D1_CHANGE_TYPE_GRAPH D2D1_CHANGE_TYPE_GRAPH

Allows a caller to control the channel depth of a stage in the rendering pipeline.

hh404281 D2D1_CHANNEL_DEPTH D2D1_CHANNEL_DEPTH

The channel depth is the default. It is inherited from the inputs.

hh404281 D2D1_CHANNEL_DEPTH_DEFAULT D2D1_CHANNEL_DEPTH_DEFAULT

The channel depth is 1.

hh404281 D2D1_CHANNEL_DEPTH_1 D2D1_CHANNEL_DEPTH_1

The channel depth is 4.

hh404281 D2D1_CHANNEL_DEPTH_4 D2D1_CHANNEL_DEPTH_4

Specifies the color channel the Displacement map effect extracts the intensity from and uses it to spatially displace the image in the X or Y direction.

dn934224 D2D1_CHANNEL_SELECTOR D2D1_CHANNEL_SELECTOR
No documentation. dn934224 D2D1_CHANNEL_SELECTOR_R D2D1_CHANNEL_SELECTOR_R No documentation. dn934224 D2D1_CHANNEL_SELECTOR_G D2D1_CHANNEL_SELECTOR_G No documentation. dn934224 D2D1_CHANNEL_SELECTOR_B D2D1_CHANNEL_SELECTOR_B No documentation. dn934224 D2D1_CHANNEL_SELECTOR_A D2D1_CHANNEL_SELECTOR_A

Identifiers for properties of the Chroma-key effect.

dn890719 D2D1_CHROMAKEY_PROP D2D1_CHROMAKEY_PROP
No documentation. dn890719 D2D1_CHROMAKEY_PROP_COLOR D2D1_CHROMAKEY_PROP_COLOR No documentation. dn890719 D2D1_CHROMAKEY_PROP_TOLERANCE D2D1_CHROMAKEY_PROP_TOLERANCE No documentation. dn890719 D2D1_CHROMAKEY_PROP_INVERT_ALPHA D2D1_CHROMAKEY_PROP_INVERT_ALPHA No documentation. dn890719 D2D1_CHROMAKEY_PROP_FEATHER D2D1_CHROMAKEY_PROP_FEATHER

Specifies the pixel snapping policy when rendering color bitmap glyphs.

mt736463 D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION

Color bitmap glyph positions are snapped to the nearest pixel if the bitmap resolution matches that of the device context.

mt736463 D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION_DEFAULT D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION_DEFAULT

Color bitmap glyph positions are not snapped.

mt736463 D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION_DISABLE D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION_DISABLE

Describes whether a render target uses hardware or software rendering, or if Direct2D should select the rendering mode.

Not every render target supports hardware rendering. For more information, see the Render Targets Overview.

dd756630 D2D1_COLOR_CONTEXT_TYPE D2D1_COLOR_CONTEXT_TYPE

The render target uses hardware rendering, if available; otherwise, it uses software rendering.

dd756630 D2D1_COLOR_CONTEXT_TYPE_ICC D2D1_COLOR_CONTEXT_TYPE_ICC

The render target uses software rendering only.

dd756630 D2D1_COLOR_CONTEXT_TYPE_SIMPLE D2D1_COLOR_CONTEXT_TYPE_SIMPLE

The render target uses hardware rendering only.

dd756630 D2D1_COLOR_CONTEXT_TYPE_DXGI D2D1_COLOR_CONTEXT_TYPE_DXGI

Defines how to interpolate between colors.

hh871441 D2D1_COLOR_INTERPOLATION_MODE D2D1_COLOR_INTERPOLATION_MODE

Colors are interpolated with straight alpha.

hh871441 D2D1_COLOR_INTERPOLATION_MODE_STRAIGHT D2D1_COLOR_INTERPOLATION_MODE_STRAIGHT

Colors are interpolated with premultiplied alpha.

hh871441 D2D1_COLOR_INTERPOLATION_MODE_PREMULTIPLIED D2D1_COLOR_INTERPOLATION_MODE_PREMULTIPLIED

Indicates how the Color management effect should interpret alpha data that is contained in the input image.

dn934225 D2D1_COLORMANAGEMENT_ALPHA_MODE D2D1_COLORMANAGEMENT_ALPHA_MODE
No documentation. dn934225 D2D1_COLORMANAGEMENT_ALPHA_MODE_PREMULTIPLIED D2D1_COLORMANAGEMENT_ALPHA_MODE_PREMULTIPLIED No documentation. dn934225 D2D1_COLORMANAGEMENT_ALPHA_MODE_STRAIGHT D2D1_COLORMANAGEMENT_ALPHA_MODE_STRAIGHT

Identifiers for the properties of the Color management effect.

dn934226 D2D1_COLORMANAGEMENT_PROP D2D1_COLORMANAGEMENT_PROP
No documentation. dn934226 D2D1_COLORMANAGEMENT_PROP_SOURCE_COLOR_CONTEXT D2D1_COLORMANAGEMENT_PROP_SOURCE_COLOR_CONTEXT No documentation. dn934226 D2D1_COLORMANAGEMENT_PROP_SOURCE_RENDERING_INTENT D2D1_COLORMANAGEMENT_PROP_SOURCE_RENDERING_INTENT No documentation. dn934226 D2D1_COLORMANAGEMENT_PROP_DESTINATION_COLOR_CONTEXT D2D1_COLORMANAGEMENT_PROP_DESTINATION_COLOR_CONTEXT No documentation. dn934226 D2D1_COLORMANAGEMENT_PROP_DESTINATION_RENDERING_INTENT D2D1_COLORMANAGEMENT_PROP_DESTINATION_RENDERING_INTENT No documentation. dn934226 D2D1_COLORMANAGEMENT_PROP_ALPHA_MODE D2D1_COLORMANAGEMENT_PROP_ALPHA_MODE No documentation. dn934226 D2D1_COLORMANAGEMENT_PROP_QUALITY D2D1_COLORMANAGEMENT_PROP_QUALITY

The quality level of the transform for the Color management effect.

dn934227 D2D1_COLORMANAGEMENT_QUALITY D2D1_COLORMANAGEMENT_QUALITY
No documentation. dn934227 D2D1_COLORMANAGEMENT_QUALITY_PROOF D2D1_COLORMANAGEMENT_QUALITY_PROOF No documentation. dn934227 D2D1_COLORMANAGEMENT_QUALITY_NORMAL D2D1_COLORMANAGEMENT_QUALITY_NORMAL No documentation. dn934227 D2D1_COLORMANAGEMENT_QUALITY_BEST D2D1_COLORMANAGEMENT_QUALITY_BEST

Specifies which ICC rendering intent the Color management effect should use.

dn934228 D2D1_COLORMANAGEMENT_RENDERING_INTENT D2D1_COLORMANAGEMENT_RENDERING_INTENT
No documentation. dn934228 D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL No documentation. dn934228 D2D1_COLORMANAGEMENT_RENDERING_INTENT_RELATIVE_COLORIMETRIC D2D1_COLORMANAGEMENT_RENDERING_INTENT_RELATIVE_COLORIMETRIC No documentation. dn934228 D2D1_COLORMANAGEMENT_RENDERING_INTENT_SATURATION D2D1_COLORMANAGEMENT_RENDERING_INTENT_SATURATION No documentation. dn934228 D2D1_COLORMANAGEMENT_RENDERING_INTENT_ABSOLUTE_COLORIMETRIC D2D1_COLORMANAGEMENT_RENDERING_INTENT_ABSOLUTE_COLORIMETRIC

The alpha mode of the output of the Color matrix effect.

dn934229 D2D1_COLORMATRIX_ALPHA_MODE D2D1_COLORMATRIX_ALPHA_MODE
No documentation. dn934229 D2D1_COLORMATRIX_ALPHA_MODE_PREMULTIPLIED D2D1_COLORMATRIX_ALPHA_MODE_PREMULTIPLIED No documentation. dn934229 D2D1_COLORMATRIX_ALPHA_MODE_STRAIGHT D2D1_COLORMATRIX_ALPHA_MODE_STRAIGHT

Identifiers for the properties of the Color matrix effect.

dn934230 D2D1_COLORMATRIX_PROP D2D1_COLORMATRIX_PROP
No documentation. dn934230 D2D1_COLORMATRIX_PROP_COLOR_MATRIX D2D1_COLORMATRIX_PROP_COLOR_MATRIX No documentation. dn934230 D2D1_COLORMATRIX_PROP_ALPHA_MODE D2D1_COLORMATRIX_PROP_ALPHA_MODE No documentation. dn934230 D2D1_COLORMATRIX_PROP_CLAMP_OUTPUT D2D1_COLORMATRIX_PROP_CLAMP_OUTPUT

Defines options that should be applied to the color space.

hh446992 D2D1_COLOR_SPACE D2D1_COLOR_SPACE

The color space is otherwise described, such as with a color profile.

hh446992 D2D1_COLOR_SPACE_CUSTOM D2D1_COLOR_SPACE_CUSTOM

The color space is sRGB.

hh446992 D2D1_COLOR_SPACE_SRGB D2D1_COLOR_SPACE_SRGB

The color space is scRGB.

hh446992 D2D1_COLOR_SPACE_SCRGB D2D1_COLOR_SPACE_SCRGB

Specifies the different methods by which two geometries can be combined.

The following illustration shows the different geometry combine modes.

dd368083 D2D1_COMBINE_MODE D2D1_COMBINE_MODE

The two regions are combined by taking the union of both. Given two geometries, A and B, the resulting geometry is geometry A + geometry B.

dd368083 D2D1_COMBINE_MODE_UNION D2D1_COMBINE_MODE_UNION

The two regions are combined by taking their intersection. The new area consists of the overlapping region between the two geometries.

dd368083 D2D1_COMBINE_MODE_INTERSECT D2D1_COMBINE_MODE_INTERSECT

The two regions are combined by taking the area that exists in the first region but not the second and the area that exists in the second region but not the first. Given two geometries, A and B, the new region consists of (A-B) + (B-A).

dd368083 D2D1_COMBINE_MODE_XOR D2D1_COMBINE_MODE_XOR

The second region is excluded from the first. Given two geometries, A and B, the area of geometry B is removed from the area of geometry A, producing a region that is A-B.

dd368083 D2D1_COMBINE_MODE_EXCLUDE D2D1_COMBINE_MODE_EXCLUDE

Specifies additional features supportable by a compatible render target when it is created. This enumeration allows a bitwise combination of its member values.

Use this enumeration when creating a compatible render target with the CreateCompatibleRenderTarget method. For more information about compatible render targets, see the Render Targets Overview.

The option may only be requested if the parent render target was created with (for most render targets) or (for render targets created by the CreateCompatibleRenderTarget method).

dd368085 D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS

The render target supports no additional features.

dd368085 D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE

The render target supports interoperability with the Windows Graphics Device Interface (GDI).

dd368085 D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_GDI_COMPATIBLE D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_GDI_COMPATIBLE

Used to specify the blend mode for all of the Direct2D blending operations.

The figure here shows an example of each of the modes with images that have an opacity of 1.0 or 0.5.

There can be slightly different interpretations of these enumeration values depending on where the value is used.

  • With a composite effect:

    D2D1_COMPOSITE_MODE_DESTINATION_COPY is equivalent to with the inputs inverted.
  • As a parameter to :

    D2D1_COMPOSITE_MODE_DESTINATION_COPY is a no-op since the destination is already in the selected target.
hh446995 D2D1_COMPOSITE_MODE D2D1_COMPOSITE_MODE

The standard source-over-destination blend mode.

hh446995 D2D1_COMPOSITE_MODE_SOURCE_OVER D2D1_COMPOSITE_MODE_SOURCE_OVER

The destination is rendered over the source.

hh446995 D2D1_COMPOSITE_MODE_DESTINATION_OVER D2D1_COMPOSITE_MODE_DESTINATION_OVER

Performs a logical clip of the source pixels against the destination pixels.

hh446995 D2D1_COMPOSITE_MODE_SOURCE_IN D2D1_COMPOSITE_MODE_SOURCE_IN

The inverse of the operation.

hh446995 D2D1_COMPOSITE_MODE_DESTINATION_IN D2D1_COMPOSITE_MODE_DESTINATION_IN

This is the logical inverse to .

hh446995 D2D1_COMPOSITE_MODE_SOURCE_OUT D2D1_COMPOSITE_MODE_SOURCE_OUT

The is the logical inverse to .

hh446995 D2D1_COMPOSITE_MODE_DESTINATION_OUT D2D1_COMPOSITE_MODE_DESTINATION_OUT

Writes the source pixels over the destination where there are destination pixels.

hh446995 D2D1_COMPOSITE_MODE_SOURCE_ATOP D2D1_COMPOSITE_MODE_SOURCE_ATOP

The logical inverse of .

hh446995 D2D1_COMPOSITE_MODE_DESTINATION_ATOP D2D1_COMPOSITE_MODE_DESTINATION_ATOP

The source is inverted with the destination.

hh446995 D2D1_COMPOSITE_MODE_XOR D2D1_COMPOSITE_MODE_XOR

The channel components are summed.

hh446995 D2D1_COMPOSITE_MODE_PLUS D2D1_COMPOSITE_MODE_PLUS

The source is copied to the destination; the destination pixels are ignored.

hh446995 D2D1_COMPOSITE_MODE_SOURCE_COPY D2D1_COMPOSITE_MODE_SOURCE_COPY

Equivalent to , but pixels outside of the source bounds are unchanged.

hh446995 D2D1_COMPOSITE_MODE_BOUNDED_SOURCE_COPY D2D1_COMPOSITE_MODE_BOUNDED_SOURCE_COPY

Destination colors are inverted according to a source mask.

hh446995 D2D1_COMPOSITE_MODE_MASK_INVERT D2D1_COMPOSITE_MODE_MASK_INVERT

Identifiers for properties of the Composite effect.

dn934231 D2D1_COMPOSITE_PROP D2D1_COMPOSITE_PROP
No documentation. dn934231 D2D1_COMPOSITE_PROP_MODE D2D1_COMPOSITE_PROP_MODE

Identifiers for properties of the Contrast effect.

dn890720 D2D1_CONTRAST_PROP D2D1_CONTRAST_PROP
No documentation. dn890720 D2D1_CONTRAST_PROP_CONTRAST D2D1_CONTRAST_PROP_CONTRAST No documentation. dn890720 D2D1_CONTRAST_PROP_CLAMP_INPUT D2D1_CONTRAST_PROP_CLAMP_INPUT

Identifiers for properties of the Convolve matrix effect.

dn934232 D2D1_CONVOLVEMATRIX_PROP D2D1_CONVOLVEMATRIX_PROP
No documentation. dn934232 D2D1_CONVOLVEMATRIX_PROP_KERNEL_UNIT_LENGTH D2D1_CONVOLVEMATRIX_PROP_KERNEL_UNIT_LENGTH No documentation. dn934232 D2D1_CONVOLVEMATRIX_PROP_SCALE_MODE D2D1_CONVOLVEMATRIX_PROP_SCALE_MODE No documentation. dn934232 D2D1_CONVOLVEMATRIX_PROP_KERNEL_SIZE_X D2D1_CONVOLVEMATRIX_PROP_KERNEL_SIZE_X No documentation. dn934232 D2D1_CONVOLVEMATRIX_PROP_KERNEL_SIZE_Y D2D1_CONVOLVEMATRIX_PROP_KERNEL_SIZE_Y No documentation. dn934232 D2D1_CONVOLVEMATRIX_PROP_KERNEL_MATRIX D2D1_CONVOLVEMATRIX_PROP_KERNEL_MATRIX No documentation. dn934232 D2D1_CONVOLVEMATRIX_PROP_DIVISOR D2D1_CONVOLVEMATRIX_PROP_DIVISOR No documentation. dn934232 D2D1_CONVOLVEMATRIX_PROP_BIAS D2D1_CONVOLVEMATRIX_PROP_BIAS No documentation. dn934232 D2D1_CONVOLVEMATRIX_PROP_KERNEL_OFFSET D2D1_CONVOLVEMATRIX_PROP_KERNEL_OFFSET No documentation. dn934232 D2D1_CONVOLVEMATRIX_PROP_PRESERVE_ALPHA D2D1_CONVOLVEMATRIX_PROP_PRESERVE_ALPHA No documentation. dn934232 D2D1_CONVOLVEMATRIX_PROP_BORDER_MODE D2D1_CONVOLVEMATRIX_PROP_BORDER_MODE No documentation. dn934232 D2D1_CONVOLVEMATRIX_PROP_CLAMP_OUTPUT D2D1_CONVOLVEMATRIX_PROP_CLAMP_OUTPUT

The interpolation mode the Convolve matrix effect uses to scale the image to the corresponding kernel unit length. There are six scale modes that range in quality and speed.

dn934233 D2D1_CONVOLVEMATRIX_SCALE_MODE D2D1_CONVOLVEMATRIX_SCALE_MODE
No documentation. dn934233 D2D1_CONVOLVEMATRIX_SCALE_MODE_NEAREST_NEIGHBOR D2D1_CONVOLVEMATRIX_SCALE_MODE_NEAREST_NEIGHBOR No documentation. dn934233 D2D1_CONVOLVEMATRIX_SCALE_MODE_LINEAR D2D1_CONVOLVEMATRIX_SCALE_MODE_LINEAR No documentation. dn934233 D2D1_CONVOLVEMATRIX_SCALE_MODE_CUBIC D2D1_CONVOLVEMATRIX_SCALE_MODE_CUBIC No documentation. dn934233 D2D1_CONVOLVEMATRIX_SCALE_MODE_MULTI_SAMPLE_LINEAR D2D1_CONVOLVEMATRIX_SCALE_MODE_MULTI_SAMPLE_LINEAR No documentation. dn934233 D2D1_CONVOLVEMATRIX_SCALE_MODE_ANISOTROPIC D2D1_CONVOLVEMATRIX_SCALE_MODE_ANISOTROPIC No documentation. dn934233 D2D1_CONVOLVEMATRIX_SCALE_MODE_HIGH_QUALITY_CUBIC D2D1_CONVOLVEMATRIX_SCALE_MODE_HIGH_QUALITY_CUBIC

Identifiers for properties of the Crop effect.

dn934234 D2D1_CROP_PROP D2D1_CROP_PROP
No documentation. dn934234 D2D1_CROP_PROP_RECT D2D1_CROP_PROP_RECT No documentation. dn934234 D2D1_CROP_PROP_BORDER_MODE D2D1_CROP_PROP_BORDER_MODE

This effect combines two images by adding weighted pixels from input images. It has two inputs, named Destination and Source.

The cross fade formula is output = weight * Destination + (1 - weight) * Source.

The CLSID for this effect is .

mt745030 D2D1_CROSSFADE_PROP D2D1_CROSSFADE_PROP
No documentation. mt745030 D2D1_CROSSFADE_PROP_WEIGHT D2D1_CROSSFADE_PROP_WEIGHT

Describes the sequence of dashes and gaps in a stroke.

The following illustration shows several available dash styles.

dd368087 D2D1_DASH_STYLE D2D1_DASH_STYLE

A solid line with no breaks.

dd368087 D2D1_DASH_STYLE_SOLID D2D1_DASH_STYLE_SOLID

A dash followed by a gap of equal length. The dash and the gap are each twice as long as the stroke thickness.

The equivalent dash array for is {2, 2}.

dd368087 D2D1_DASH_STYLE_DASH D2D1_DASH_STYLE_DASH

A dot followed by a longer gap.

The equivalent dash array for is {0, 2}.

dd368087 D2D1_DASH_STYLE_DOT D2D1_DASH_STYLE_DOT

A dash, followed by a gap, followed by a dot, followed by another gap.

The equivalent dash array for is {2, 2, 0, 2}.

dd368087 D2D1_DASH_STYLE_DASH_DOT D2D1_DASH_STYLE_DASH_DOT

A dash, followed by a gap, followed by a dot, followed by another gap, followed by another dot, followed by another gap.

The equivalent dash array for is {2, 2, 0, 2, 0, 2}.

dd368087 D2D1_DASH_STYLE_DASH_DOT_DOT D2D1_DASH_STYLE_DASH_DOT_DOT

The dash pattern is specified by an array of floating-point values.

dd368087 D2D1_DASH_STYLE_CUSTOM D2D1_DASH_STYLE_CUSTOM

Indicates the type of information provided by the Direct2D Debug Layer.

To receive debugging messages, you must install the Direct2D Debug Layer.

dd368090 D2D1_DEBUG_LEVEL D2D1_DEBUG_LEVEL
No documentation. dd368090 D2D1_DEBUG_LEVEL_NONE D2D1_DEBUG_LEVEL_NONE No documentation. dd368090 D2D1_DEBUG_LEVEL_ERROR D2D1_DEBUG_LEVEL_ERROR No documentation. dd368090 D2D1_DEBUG_LEVEL_WARNING D2D1_DEBUG_LEVEL_WARNING No documentation. dd368090 D2D1_DEBUG_LEVEL_INFORMATION D2D1_DEBUG_LEVEL_INFORMATION

Specifies how a device context is initialized for GDI rendering when it is retrieved from the render target.

Use this enumeration with the method to specify how the device context is initialized for GDI rendering.

dd368088 D2D1_DC_INITIALIZE_MODE D2D1_DC_INITIALIZE_MODE

The current contents of the render target are copied to the device context when it is initialized.

dd368088 D2D1_DC_INITIALIZE_MODE_COPY D2D1_DC_INITIALIZE_MODE_COPY

The device context is cleared to transparent black when it is initialized.

dd368088 D2D1_DC_INITIALIZE_MODE_CLEAR D2D1_DC_INITIALIZE_MODE_CLEAR

This specifies options that apply to the device context for its lifetime.

hh446998 D2D1_DEVICE_CONTEXT_OPTIONS D2D1_DEVICE_CONTEXT_OPTIONS

The device context is created with default options.

hh446998 D2D1_DEVICE_CONTEXT_OPTIONS_NONE D2D1_DEVICE_CONTEXT_OPTIONS_NONE

Distribute rendering work across multiple threads. Refer to Improving the performance of Direct2D apps for additional notes on the use of this flag.

hh446998 D2D1_DEVICE_CONTEXT_OPTIONS_ENABLE_MULTITHREADED_OPTIMIZATIONS D2D1_DEVICE_CONTEXT_OPTIONS_ENABLE_MULTITHREADED_OPTIMIZATIONS

Specifies the optimization mode for the Directional blur effect.

dn934235 D2D1_DIRECTIONALBLUR_OPTIMIZATION D2D1_DIRECTIONALBLUR_OPTIMIZATION
No documentation. dn934235 D2D1_DIRECTIONALBLUR_OPTIMIZATION_SPEED D2D1_DIRECTIONALBLUR_OPTIMIZATION_SPEED No documentation. dn934235 D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED No documentation. dn934235 D2D1_DIRECTIONALBLUR_OPTIMIZATION_QUALITY D2D1_DIRECTIONALBLUR_OPTIMIZATION_QUALITY

Identifiers for properties of the Directional blur effect.

dn934236 D2D1_DIRECTIONALBLUR_PROP D2D1_DIRECTIONALBLUR_PROP
No documentation. dn934236 D2D1_DIRECTIONALBLUR_PROP_STANDARD_DEVIATION D2D1_DIRECTIONALBLUR_PROP_STANDARD_DEVIATION No documentation. dn934236 D2D1_DIRECTIONALBLUR_PROP_ANGLE D2D1_DIRECTIONALBLUR_PROP_ANGLE No documentation. dn934236 D2D1_DIRECTIONALBLUR_PROP_OPTIMIZATION D2D1_DIRECTIONALBLUR_PROP_OPTIMIZATION No documentation. dn934236 D2D1_DIRECTIONALBLUR_PROP_BORDER_MODE D2D1_DIRECTIONALBLUR_PROP_BORDER_MODE

Identifiers for properties of the Discrete transfer effect.

dn934237 D2D1_DISCRETETRANSFER_PROP D2D1_DISCRETETRANSFER_PROP
No documentation. dn934237 D2D1_DISCRETETRANSFER_PROP_RED_TABLE D2D1_DISCRETETRANSFER_PROP_RED_TABLE No documentation. dn934237 D2D1_DISCRETETRANSFER_PROP_RED_DISABLE D2D1_DISCRETETRANSFER_PROP_RED_DISABLE No documentation. dn934237 D2D1_DISCRETETRANSFER_PROP_GREEN_TABLE D2D1_DISCRETETRANSFER_PROP_GREEN_TABLE No documentation. dn934237 D2D1_DISCRETETRANSFER_PROP_GREEN_DISABLE D2D1_DISCRETETRANSFER_PROP_GREEN_DISABLE No documentation. dn934237 D2D1_DISCRETETRANSFER_PROP_BLUE_TABLE D2D1_DISCRETETRANSFER_PROP_BLUE_TABLE No documentation. dn934237 D2D1_DISCRETETRANSFER_PROP_BLUE_DISABLE D2D1_DISCRETETRANSFER_PROP_BLUE_DISABLE No documentation. dn934237 D2D1_DISCRETETRANSFER_PROP_ALPHA_TABLE D2D1_DISCRETETRANSFER_PROP_ALPHA_TABLE No documentation. dn934237 D2D1_DISCRETETRANSFER_PROP_ALPHA_DISABLE D2D1_DISCRETETRANSFER_PROP_ALPHA_DISABLE No documentation. dn934237 D2D1_DISCRETETRANSFER_PROP_CLAMP_OUTPUT D2D1_DISCRETETRANSFER_PROP_CLAMP_OUTPUT

Identifiers for properties of the Displacement map effect.

dn934238 D2D1_DISPLACEMENTMAP_PROP D2D1_DISPLACEMENTMAP_PROP
No documentation. dn934238 D2D1_DISPLACEMENTMAP_PROP_SCALE D2D1_DISPLACEMENTMAP_PROP_SCALE No documentation. dn934238 D2D1_DISPLACEMENTMAP_PROP_X_CHANNEL_SELECT D2D1_DISPLACEMENTMAP_PROP_X_CHANNEL_SELECT No documentation. dn934238 D2D1_DISPLACEMENTMAP_PROP_Y_CHANNEL_SELECT D2D1_DISPLACEMENTMAP_PROP_Y_CHANNEL_SELECT

Identifiers for properties of the Distant-diffuse lighting effect.

dn934239 D2D1_DISTANTDIFFUSE_PROP D2D1_DISTANTDIFFUSE_PROP
No documentation. dn934239 D2D1_DISTANTDIFFUSE_PROP_AZIMUTH D2D1_DISTANTDIFFUSE_PROP_AZIMUTH No documentation. dn934239 D2D1_DISTANTDIFFUSE_PROP_ELEVATION D2D1_DISTANTDIFFUSE_PROP_ELEVATION No documentation. dn934239 D2D1_DISTANTDIFFUSE_PROP_DIFFUSE_CONSTANT D2D1_DISTANTDIFFUSE_PROP_DIFFUSE_CONSTANT No documentation. dn934239 D2D1_DISTANTDIFFUSE_PROP_SURFACE_SCALE D2D1_DISTANTDIFFUSE_PROP_SURFACE_SCALE No documentation. dn934239 D2D1_DISTANTDIFFUSE_PROP_COLOR D2D1_DISTANTDIFFUSE_PROP_COLOR No documentation. dn934239 D2D1_DISTANTDIFFUSE_PROP_KERNEL_UNIT_LENGTH D2D1_DISTANTDIFFUSE_PROP_KERNEL_UNIT_LENGTH No documentation. dn934239 D2D1_DISTANTDIFFUSE_PROP_SCALE_MODE D2D1_DISTANTDIFFUSE_PROP_SCALE_MODE

The interpolation mode the effect uses to scale the image to the corresponding kernel unit length. There are six scale modes that range in quality and speed.

dn934240 D2D1_DISTANTDIFFUSE_SCALE_MODE D2D1_DISTANTDIFFUSE_SCALE_MODE

Samples the nearest single point and uses that. This mode uses less processing time, but outputs the lowest quality image.

dn934240 D2D1_DISTANTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR D2D1_DISTANTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR

Uses a four point sample and linear interpolation. This mode outputs a higher quality image than nearest neighbor.

dn934240 D2D1_DISTANTDIFFUSE_SCALE_MODE_LINEAR D2D1_DISTANTDIFFUSE_SCALE_MODE_LINEAR

Uses a 16 sample cubic kernel for interpolation. This mode uses the most processing time, but outputs a higher quality image.

dn934240 D2D1_DISTANTDIFFUSE_SCALE_MODE_CUBIC D2D1_DISTANTDIFFUSE_SCALE_MODE_CUBIC

Uses 4 linear samples within a single pixel for good edge anti-aliasing. This mode is good for scaling down by small amounts on images with few pixels.

dn934240 D2D1_DISTANTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR D2D1_DISTANTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR

Uses anisotropic filtering to sample a pattern according to the transformed shape of the bitmap.

dn934240 D2D1_DISTANTDIFFUSE_SCALE_MODE_ANISOTROPIC D2D1_DISTANTDIFFUSE_SCALE_MODE_ANISOTROPIC

Uses a variable size high quality cubic kernel to perform a pre-downscale the image if downscaling is involved in the transform matrix. Then uses the cubic interpolation mode for the final output.

dn934240 D2D1_DISTANTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC D2D1_DISTANTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC

Identifiers for properties of the Distant-specular lighting effect.

dn934241 D2D1_DISTANTSPECULAR_PROP D2D1_DISTANTSPECULAR_PROP
No documentation. dn934241 D2D1_DISTANTSPECULAR_PROP_AZIMUTH D2D1_DISTANTSPECULAR_PROP_AZIMUTH No documentation. dn934241 D2D1_DISTANTSPECULAR_PROP_ELEVATION D2D1_DISTANTSPECULAR_PROP_ELEVATION No documentation. dn934241 D2D1_DISTANTSPECULAR_PROP_SPECULAR_EXPONENT D2D1_DISTANTSPECULAR_PROP_SPECULAR_EXPONENT No documentation. dn934241 D2D1_DISTANTSPECULAR_PROP_SPECULAR_CONSTANT D2D1_DISTANTSPECULAR_PROP_SPECULAR_CONSTANT No documentation. dn934241 D2D1_DISTANTSPECULAR_PROP_SURFACE_SCALE D2D1_DISTANTSPECULAR_PROP_SURFACE_SCALE No documentation. dn934241 D2D1_DISTANTSPECULAR_PROP_COLOR D2D1_DISTANTSPECULAR_PROP_COLOR No documentation. dn934241 D2D1_DISTANTSPECULAR_PROP_KERNEL_UNIT_LENGTH D2D1_DISTANTSPECULAR_PROP_KERNEL_UNIT_LENGTH No documentation. dn934241 D2D1_DISTANTSPECULAR_PROP_SCALE_MODE D2D1_DISTANTSPECULAR_PROP_SCALE_MODE

The interpolation mode the Distant-specular lighting effect uses to scale the image to the corresponding kernel unit length. There are six scale modes that range in quality and speed.

dn934242 D2D1_DISTANTSPECULAR_SCALE_MODE D2D1_DISTANTSPECULAR_SCALE_MODE
No documentation. dn934242 D2D1_DISTANTSPECULAR_SCALE_MODE_NEAREST_NEIGHBOR D2D1_DISTANTSPECULAR_SCALE_MODE_NEAREST_NEIGHBOR No documentation. dn934242 D2D1_DISTANTSPECULAR_SCALE_MODE_LINEAR D2D1_DISTANTSPECULAR_SCALE_MODE_LINEAR No documentation. dn934242 D2D1_DISTANTSPECULAR_SCALE_MODE_CUBIC D2D1_DISTANTSPECULAR_SCALE_MODE_CUBIC No documentation. dn934242 D2D1_DISTANTSPECULAR_SCALE_MODE_MULTI_SAMPLE_LINEAR D2D1_DISTANTSPECULAR_SCALE_MODE_MULTI_SAMPLE_LINEAR No documentation. dn934242 D2D1_DISTANTSPECULAR_SCALE_MODE_ANISOTROPIC D2D1_DISTANTSPECULAR_SCALE_MODE_ANISOTROPIC No documentation. dn934242 D2D1_DISTANTSPECULAR_SCALE_MODE_HIGH_QUALITY_CUBIC D2D1_DISTANTSPECULAR_SCALE_MODE_HIGH_QUALITY_CUBIC

The interpolation mode the DPI compensation effect uses to scale the image.

dn934243 D2D1_DPICOMPENSATION_INTERPOLATION_MODE D2D1_DPICOMPENSATION_INTERPOLATION_MODE
No documentation. dn934243 D2D1_DPICOMPENSATION_INTERPOLATION_MODE_NEAREST_NEIGHBOR D2D1_DPICOMPENSATION_INTERPOLATION_MODE_NEAREST_NEIGHBOR No documentation. dn934243 D2D1_DPICOMPENSATION_INTERPOLATION_MODE_LINEAR D2D1_DPICOMPENSATION_INTERPOLATION_MODE_LINEAR No documentation. dn934243 D2D1_DPICOMPENSATION_INTERPOLATION_MODE_CUBIC D2D1_DPICOMPENSATION_INTERPOLATION_MODE_CUBIC No documentation. dn934243 D2D1_DPICOMPENSATION_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR D2D1_DPICOMPENSATION_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR No documentation. dn934243 D2D1_DPICOMPENSATION_INTERPOLATION_MODE_ANISOTROPIC D2D1_DPICOMPENSATION_INTERPOLATION_MODE_ANISOTROPIC No documentation. dn934243 D2D1_DPICOMPENSATION_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC D2D1_DPICOMPENSATION_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC

Identifiers for properties of the DPI compensation effect.

dn934244 D2D1_DPICOMPENSATION_PROP D2D1_DPICOMPENSATION_PROP
No documentation. dn934244 D2D1_DPICOMPENSATION_PROP_INTERPOLATION_MODE D2D1_DPICOMPENSATION_PROP_INTERPOLATION_MODE No documentation. dn934244 D2D1_DPICOMPENSATION_PROP_BORDER_MODE D2D1_DPICOMPENSATION_PROP_BORDER_MODE No documentation. dn934244 D2D1_DPICOMPENSATION_PROP_INPUT_DPI D2D1_DPICOMPENSATION_PROP_INPUT_DPI

Specifies whether text snapping is suppressed or clipping to the layout rectangle is enabled. This enumeration allows a bitwise combination of its member values.

dd368095 D2D1_DRAW_TEXT_OPTIONS D2D1_DRAW_TEXT_OPTIONS

Text is not vertically snapped to pixel boundaries. This setting is recommended for text that is being animated.

dd368095 D2D1_DRAW_TEXT_OPTIONS_NO_SNAP D2D1_DRAW_TEXT_OPTIONS_NO_SNAP

Text is clipped to the layout rectangle.

dd368095 D2D1_DRAW_TEXT_OPTIONS_CLIP D2D1_DRAW_TEXT_OPTIONS_CLIP

In Windows?8.1 and later, text is rendered using color versions of glyphs, if defined by the font.

dd368095 D2D1_DRAW_TEXT_OPTIONS_ENABLE_COLOR_FONT D2D1_DRAW_TEXT_OPTIONS_ENABLE_COLOR_FONT

Bitmap origins of color glyph bitmaps are not snapped.

dd368095 D2D1_DRAW_TEXT_OPTIONS_DISABLE_COLOR_BITMAP_SNAPPING D2D1_DRAW_TEXT_OPTIONS_DISABLE_COLOR_BITMAP_SNAPPING

Text is vertically snapped to pixel boundaries and is not clipped to the layout rectangle.

dd368095 D2D1_DRAW_TEXT_OPTIONS_NONE D2D1_DRAW_TEXT_OPTIONS_NONE

Values for the property of the Edge Detection effect.

dn890722 D2D1_EDGEDETECTION_MODE D2D1_EDGEDETECTION_MODE
No documentation. dn890722 D2D1_EDGEDETECTION_MODE_SOBEL D2D1_EDGEDETECTION_MODE_SOBEL No documentation. dn890722 D2D1_EDGEDETECTION_MODE_PREWITT D2D1_EDGEDETECTION_MODE_PREWITT

Identifiers for properties of the Edge Detection effect.

dn890723 D2D1_EDGEDETECTION_PROP D2D1_EDGEDETECTION_PROP

The property is a float value modulating the response of the edge detection filter. A low strength value means that weaker edges will get filtered out, while a high value means stronger edges will get filtered out. The allowed range is 0.0 to 1.0. The default value is 0.5.

dn890723 D2D1_EDGEDETECTION_PROP_STRENGTH D2D1_EDGEDETECTION_PROP_STRENGTH

The property is a float value specifying the amount of blur to apply. Applying blur is used to remove high frequencies and reduce phantom edges. The allowed range is 0.0 to 10.0. The default value is 0.0 (no blur applied).

dn890723 D2D1_EDGEDETECTION_PROP_BLUR_RADIUS D2D1_EDGEDETECTION_PROP_BLUR_RADIUS

The property is a enumeration value which mode to use for edge detection. The default value is .

dn890723 D2D1_EDGEDETECTION_PROP_MODE D2D1_EDGEDETECTION_PROP_MODE

The property is a boolean value. Edge detection only applies to the RGB channels, the alpha channel is ignored for purposes of detecting edges. If is false, the output edges is fully opaque. If is true, the input opacity is preserved. The default value is false.

dn890723 D2D1_EDGEDETECTION_PROP_OVERLAY_EDGES D2D1_EDGEDETECTION_PROP_OVERLAY_EDGES

The property is a enumeration value indicating the alpha mode of the input file. If the input is not opaque, this value is used to determine whether to unpremultiply the inputs. See the About Alpha Modes section of the Supported Pixel Formats and Alpha Modes topic for additional information. The default value is .

dn890723 D2D1_EDGEDETECTION_PROP_ALPHA_MODE D2D1_EDGEDETECTION_PROP_ALPHA_MODE

Identifiers for properties of the Emboss effect.

dn890724 D2D1_EMBOSS_PROP D2D1_EMBOSS_PROP
No documentation. dn890724 D2D1_EMBOSS_PROP_HEIGHT D2D1_EMBOSS_PROP_HEIGHT No documentation. dn890724 D2D1_EMBOSS_PROP_DIRECTION D2D1_EMBOSS_PROP_DIRECTION

Identifiers for properties of the Exposure effect.

dn890725 D2D1_EXPOSURE_PROP D2D1_EXPOSURE_PROP
No documentation. dn890725 D2D1_EXPOSURE_PROP_EXPOSURE_VALUE D2D1_EXPOSURE_PROP_EXPOSURE_VALUE

Specifies how a brush paints areas outside of its normal content area.

For an , the brush's content is the brush's bitmap. For an , the brush's content area is the gradient axis. For an , the brush's content is the area within the gradient ellipse.

dd368100 D2D1_EXTEND_MODE D2D1_EXTEND_MODE

Repeat the edge pixels of the brush's content for all regions outside the normal content area.

dd368100 D2D1_EXTEND_MODE_CLAMP D2D1_EXTEND_MODE_CLAMP

Repeat the brush's content.

dd368100 D2D1_EXTEND_MODE_WRAP D2D1_EXTEND_MODE_WRAP

The same as , except that alternate tiles of the brush's content are flipped. (The brush's normal content is drawn untransformed.)

dd368100 D2D1_EXTEND_MODE_MIRROR D2D1_EXTEND_MODE_MIRROR

Specifies whether Direct2D provides synchronization for an and the resources it creates, so that they may be safely accessed from multiple threads.

When you create a factory, you can specify whether it is multithreaded or singlethreaded. A singlethreaded factory provides no serialization against any other single threaded instance within Direct2D, so this mechanism provides a very large degree of scaling on the CPU.

You can also create a multithreaded factory instance. In this case, the factory and all derived objects can be used from any thread, and each render target can be rendered to independently. Direct2D serializes calls to these objects, so a single multithreaded Direct2D instance won't scale as well on the CPU as many single threaded instances. However, the resources can be shared within the multithreaded instance.

Note the qualifier "On the CPU": GPUs generally take advantage of fine-grained parallelism more so than CPUs. For example, multithreaded calls from the CPU might still end up being serialized when being sent to the GPU; however, a whole bank of pixel and vertex shaders will run in parallel to perform the rendering.

dd368104 D2D1_FACTORY_TYPE D2D1_FACTORY_TYPE
No documentation. dd368104 D2D1_FACTORY_TYPE_SINGLE_THREADED D2D1_FACTORY_TYPE_SINGLE_THREADED No documentation. dd368104 D2D1_FACTORY_TYPE_MULTI_THREADED D2D1_FACTORY_TYPE_MULTI_THREADED

Defines capabilities of the underlying Direct3D device which may be queried using .

hh871443 D2D1_FEATURE D2D1_FEATURE
No documentation. hh871443 D2D1_FEATURE_DOUBLES D2D1_FEATURE_DOUBLES No documentation. hh871443 D2D1_FEATURE_D3D10_X_HARDWARE_OPTIONS D2D1_FEATURE_D3D10_X_HARDWARE_OPTIONS

Describes the minimum DirectX support required for hardware rendering by a render target.

dd756628 D2D1_FEATURE_LEVEL D2D1_FEATURE_LEVEL

Direct2D determines whether the video card provides adequate hardware rendering support.

dd756628 D2D1_FEATURE_LEVEL_DEFAULT D2D1_FEATURE_LEVEL_DEFAULT

The video card must support DirectX 9.

dd756628 D2D1_FEATURE_LEVEL_9 D2D1_FEATURE_LEVEL_9

The video card must support DirectX 10.

dd756628 D2D1_FEATURE_LEVEL_10 D2D1_FEATURE_LEVEL_10

Indicates whether a specific figure is filled or hollow.

dd368106 D2D1_FIGURE_BEGIN D2D1_FIGURE_BEGIN
No documentation. dd368106 D2D1_FIGURE_BEGIN_FILLED D2D1_FIGURE_BEGIN_FILLED No documentation. dd368106 D2D1_FIGURE_BEGIN_HOLLOW D2D1_FIGURE_BEGIN_HOLLOW

Indicates whether a specific figure is open or closed.

dd368108 D2D1_FIGURE_END D2D1_FIGURE_END
No documentation. dd368108 D2D1_FIGURE_END_OPEN D2D1_FIGURE_END_OPEN No documentation. dd368108 D2D1_FIGURE_END_CLOSED D2D1_FIGURE_END_CLOSED

Specifies how the intersecting areas of geometries or figures are combined to form the area of the composite geometry.

Use the enumeration when creating an with the CreateGeometryGroup method, or when modifying the fill mode of an with the method.

Direct2D fills the interior of a path by using one of the two fill modes specified by this enumeration: (alternate) or (winding). Because the modes determine how to fill the interior of a closed shape, all shapes are treated as closed when they are filled. If there is a gap in a segment in a shape, draw an imaginary line to close it.

To see the difference between the winding and alternate fill modes, assume that you have four circles with the same center and a different radius, as shown in the following illustration. The first one has the radius of 25, the second 50, the third 75, and the fourth 100.

The following illustration shows the shape filled by using the alternate fill mode. Notice that the center and third ring are not filled. This is because a ray drawn from any point in either of those two rings passes through an even number of segments.

The following illustration explains this process.

The following illustration shows how the same shape is filled when the winding fill mode is specified.

Notice that all the rings are filled. This is because all the segments run in the same direction, so a ray drawn from any point will cross one or more segments, and the sum of the crossings will not equal zero.

The following illustration explains this process. The red arrows represent the direction in which the segments are drawn and the black arrow represents an arbitrary ray that runs from a point in the innermost ring. Starting with a value of zero, for each segment that the ray crosses, a value of one is added for every clockwise intersection. All points lie in the fill region in this illustration, because the count does not equal zero.

dd368110 D2D1_FILL_MODE D2D1_FILL_MODE

Determines whether a point is in the fill region by drawing a ray from that point to infinity in any direction, and then counting the number of path segments within the given shape that the ray crosses. If this number is odd, the point is in the fill region; if even, the point is outside the fill region.

dd368110 D2D1_FILL_MODE_ALTERNATE D2D1_FILL_MODE_ALTERNATE

Determines whether a point is in the fill region of the path by drawing a ray from that point to infinity in any direction, and then examining the places where a segment of the shape crosses the ray. Starting with a count of zero, add one each time a segment crosses the ray from left to right and subtract one each time a path segment crosses the ray from right to left, as long as left and right are seen from the perspective of the ray. After counting the crossings, if the result is zero, then the point is outside the path. Otherwise, it is inside the path.

dd368110 D2D1_FILL_MODE_WINDING D2D1_FILL_MODE_WINDING

Represents filtering modes that a transform may select to use on input textures.

This enumeration has the same numeric values as .

hh404306 D2D1_FILTER D2D1_FILTER

Use point sampling for minification, magnification, and mip-level sampling.

hh404306 D2D1_FILTER_MIN_MAG_MIP_POINT D2D1_FILTER_MIN_MAG_MIP_POINT

Use point sampling for minification and magnification; use linear interpolation for mip-level sampling.

hh404306 D2D1_FILTER_MIN_MAG_POINT_MIP_LINEAR D2D1_FILTER_MIN_MAG_POINT_MIP_LINEAR

Use point sampling for minification; use linear interpolation for magnification; use point sampling for mip-level sampling.

hh404306 D2D1_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT D2D1_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT

Use point sampling for minification; use linear interpolation for magnification and mip-level sampling.

hh404306 D2D1_FILTER_MIN_POINT_MAG_MIP_LINEAR D2D1_FILTER_MIN_POINT_MAG_MIP_LINEAR

Use linear interpolation for minification; use point sampling for magnification and mip-level sampling.

hh404306 D2D1_FILTER_MIN_LINEAR_MAG_MIP_POINT D2D1_FILTER_MIN_LINEAR_MAG_MIP_POINT

Use linear interpolation for minification; use point sampling for magnification; use linear interpolation for mip-level sampling.

hh404306 D2D1_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR D2D1_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR

Use linear interpolation for minification and magnification; use point sampling for mip-level sampling.

hh404306 D2D1_FILTER_MIN_MAG_LINEAR_MIP_POINT D2D1_FILTER_MIN_MAG_LINEAR_MIP_POINT

Use linear interpolation for minification, magnification, and mip-level sampling.

hh404306 D2D1_FILTER_MIN_MAG_MIP_LINEAR D2D1_FILTER_MIN_MAG_MIP_LINEAR

Use anisotropic interpolation for minification, magnification, and mip-level sampling.

hh404306 D2D1_FILTER_ANISOTROPIC D2D1_FILTER_ANISOTROPIC

Identifiers for properties of the Flood effect.

dn934245 D2D1_FLOOD_PROP D2D1_FLOOD_PROP
No documentation. dn934245 D2D1_FLOOD_PROP_COLOR D2D1_FLOOD_PROP_COLOR

Specifies which gamma is used for interpolation.

Interpolating in a linear gamma space () can avoid changes in perceived brightness caused by the effect of gamma correction in spaces where the gamma is not 1.0, such as the default sRGB color space, where the gamma is 2.2. For an example of the differences between these two blending modes, consider the following illustration, which shows two gradients, each of which blends from red to blue to green:

The first gradient is interpolated linearly in the space of the render target (sRGB in this case), and one can see the dark bands between each color. The second gradient uses a gamma-correct linear interpolation, and thus does not exhibit the same variations in brightness.

dd368113 D2D1_GAMMA D2D1_GAMMA

Interpolation is performed in the standard RGB (sRGB) gamma.

dd368113 D2D1_GAMMA_2_2 D2D1_GAMMA_2_2

Interpolation is performed in the linear-gamma color space.

dd368113 D2D1_GAMMA_1_0 D2D1_GAMMA_1_0

Specifies which gamma is used for interpolation.

Interpolating in a linear gamma space () can avoid changes in perceived brightness caused by the effect of gamma correction in spaces where the gamma is not 1.0, such as the default sRGB color space, where the gamma is 2.2. For an example of the differences between these two blending modes, consider the following illustration, which shows two gradients, each of which blends from red to blue to green:

The first gradient is interpolated linearly in the space of the render target (sRGB in this case), and one can see the dark bands between each color. The second gradient uses a gamma-correct linear interpolation, and thus does not exhibit the same variations in brightness.

dd368113 D2D1_GAMMA1 D2D1_GAMMA1

Interpolation is performed in the standard RGB (sRGB) gamma.

dd368113 D2D1_GAMMA1_G22 D2D1_GAMMA1_G22

Interpolation is performed in the linear-gamma color space.

dd368113 D2D1_GAMMA1_G10 D2D1_GAMMA1_G10
No documentation. dd368113 D2D1_GAMMA1_G2084 D2D1_GAMMA1_G2084

Identifiers for properties of the Gamma transfer effect.

dn934246 D2D1_GAMMATRANSFER_PROP D2D1_GAMMATRANSFER_PROP
No documentation. dn934246 D2D1_GAMMATRANSFER_PROP_RED_AMPLITUDE D2D1_GAMMATRANSFER_PROP_RED_AMPLITUDE No documentation. dn934246 D2D1_GAMMATRANSFER_PROP_RED_EXPONENT D2D1_GAMMATRANSFER_PROP_RED_EXPONENT No documentation. dn934246 D2D1_GAMMATRANSFER_PROP_RED_OFFSET D2D1_GAMMATRANSFER_PROP_RED_OFFSET No documentation. dn934246 D2D1_GAMMATRANSFER_PROP_RED_DISABLE D2D1_GAMMATRANSFER_PROP_RED_DISABLE No documentation. dn934246 D2D1_GAMMATRANSFER_PROP_GREEN_AMPLITUDE D2D1_GAMMATRANSFER_PROP_GREEN_AMPLITUDE No documentation. dn934246 D2D1_GAMMATRANSFER_PROP_GREEN_EXPONENT D2D1_GAMMATRANSFER_PROP_GREEN_EXPONENT No documentation. dn934246 D2D1_GAMMATRANSFER_PROP_GREEN_OFFSET D2D1_GAMMATRANSFER_PROP_GREEN_OFFSET No documentation. dn934246 D2D1_GAMMATRANSFER_PROP_GREEN_DISABLE D2D1_GAMMATRANSFER_PROP_GREEN_DISABLE No documentation. dn934246 D2D1_GAMMATRANSFER_PROP_BLUE_AMPLITUDE D2D1_GAMMATRANSFER_PROP_BLUE_AMPLITUDE No documentation. dn934246 D2D1_GAMMATRANSFER_PROP_BLUE_EXPONENT D2D1_GAMMATRANSFER_PROP_BLUE_EXPONENT No documentation. dn934246 D2D1_GAMMATRANSFER_PROP_BLUE_OFFSET D2D1_GAMMATRANSFER_PROP_BLUE_OFFSET No documentation. dn934246 D2D1_GAMMATRANSFER_PROP_BLUE_DISABLE D2D1_GAMMATRANSFER_PROP_BLUE_DISABLE No documentation. dn934246 D2D1_GAMMATRANSFER_PROP_ALPHA_AMPLITUDE D2D1_GAMMATRANSFER_PROP_ALPHA_AMPLITUDE No documentation. dn934246 D2D1_GAMMATRANSFER_PROP_ALPHA_EXPONENT D2D1_GAMMATRANSFER_PROP_ALPHA_EXPONENT No documentation. dn934246 D2D1_GAMMATRANSFER_PROP_ALPHA_OFFSET D2D1_GAMMATRANSFER_PROP_ALPHA_OFFSET No documentation. dn934246 D2D1_GAMMATRANSFER_PROP_ALPHA_DISABLE D2D1_GAMMATRANSFER_PROP_ALPHA_DISABLE No documentation. dn934246 D2D1_GAMMATRANSFER_PROP_CLAMP_OUTPUT D2D1_GAMMATRANSFER_PROP_CLAMP_OUTPUT

The optimization mode for the Gaussian blur effect.

dn934247 D2D1_GAUSSIANBLUR_OPTIMIZATION D2D1_GAUSSIANBLUR_OPTIMIZATION
No documentation. dn934247 D2D1_GAUSSIANBLUR_OPTIMIZATION_SPEED D2D1_GAUSSIANBLUR_OPTIMIZATION_SPEED No documentation. dn934247 D2D1_GAUSSIANBLUR_OPTIMIZATION_BALANCED D2D1_GAUSSIANBLUR_OPTIMIZATION_BALANCED No documentation. dn934247 D2D1_GAUSSIANBLUR_OPTIMIZATION_QUALITY D2D1_GAUSSIANBLUR_OPTIMIZATION_QUALITY

Identifiers for properties of the Gaussian blur effect.

dn934248 D2D1_GAUSSIANBLUR_PROP D2D1_GAUSSIANBLUR_PROP
No documentation. dn934248 D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION No documentation. dn934248 D2D1_GAUSSIANBLUR_PROP_OPTIMIZATION D2D1_GAUSSIANBLUR_PROP_OPTIMIZATION No documentation. dn934248 D2D1_GAUSSIANBLUR_PROP_BORDER_MODE D2D1_GAUSSIANBLUR_PROP_BORDER_MODE

Describes how one geometry object is spatially related to another geometry object.

dd368115 D2D1_GEOMETRY_RELATION D2D1_GEOMETRY_RELATION

The relationship between the two geometries cannot be determined. This value is never returned by any D2D method.

dd368115 D2D1_GEOMETRY_RELATION_UNKNOWN D2D1_GEOMETRY_RELATION_UNKNOWN

The two geometries do not intersect at all.

dd368115 D2D1_GEOMETRY_RELATION_DISJOINT D2D1_GEOMETRY_RELATION_DISJOINT

The instance geometry is entirely contained by the passed-in geometry.

dd368115 D2D1_GEOMETRY_RELATION_IS_CONTAINED D2D1_GEOMETRY_RELATION_IS_CONTAINED

The instance geometry entirely contains the passed-in geometry.

dd368115 D2D1_GEOMETRY_RELATION_CONTAINS D2D1_GEOMETRY_RELATION_CONTAINS

The two geometries overlap but neither completely contains the other.

dd368115 D2D1_GEOMETRY_RELATION_OVERLAP D2D1_GEOMETRY_RELATION_OVERLAP

Specifies how a geometry is simplified to an .

dd368117 D2D1_GEOMETRY_SIMPLIFICATION_OPTION D2D1_GEOMETRY_SIMPLIFICATION_OPTION
No documentation. dd368117 D2D1_GEOMETRY_SIMPLIFICATION_OPTION_CUBICS_AND_LINES D2D1_GEOMETRY_SIMPLIFICATION_OPTION_CUBICS_AND_LINES No documentation. dd368117 D2D1_GEOMETRY_SIMPLIFICATION_OPTION_LINES D2D1_GEOMETRY_SIMPLIFICATION_OPTION_LINES

Specifies which formats are supported in the font, either at a font-wide level or per glyph.

mt725308 DWRITE_GLYPH_IMAGE_FORMATS DWRITE_GLYPH_IMAGE_FORMATS

Indicates no data is available for this glyph.

mt725308 DWRITE_GLYPH_IMAGE_FORMATS_NONE DWRITE_GLYPH_IMAGE_FORMATS_NONE

The glyph has TrueType outlines.

mt725308 DWRITE_GLYPH_IMAGE_FORMATS_TRUETYPE DWRITE_GLYPH_IMAGE_FORMATS_TRUETYPE

The glyph has CFF outlines.

mt725308 DWRITE_GLYPH_IMAGE_FORMATS_CFF DWRITE_GLYPH_IMAGE_FORMATS_CFF

The glyph has multilayered COLR data.

mt725308 DWRITE_GLYPH_IMAGE_FORMATS_COLR DWRITE_GLYPH_IMAGE_FORMATS_COLR

The glyph has SVG outlines as standard XML. Fonts may store the content gzip'd rather than plain text, indicated by the first two bytes as gzip header {0x1F 0x8B}.

mt725308 DWRITE_GLYPH_IMAGE_FORMATS_SVG DWRITE_GLYPH_IMAGE_FORMATS_SVG

The glyph has PNG image data, with standard PNG IHDR.

mt725308 DWRITE_GLYPH_IMAGE_FORMATS_PNG DWRITE_GLYPH_IMAGE_FORMATS_PNG

The glyph has JPEG image data, with standard JIFF SOI header.

mt725308 DWRITE_GLYPH_IMAGE_FORMATS_JPEG DWRITE_GLYPH_IMAGE_FORMATS_JPEG

The glyph has TIFF image data.

mt725308 DWRITE_GLYPH_IMAGE_FORMATS_TIFF DWRITE_GLYPH_IMAGE_FORMATS_TIFF

The glyph has raw 32-bit premultiplied BGRA data.

mt725308 DWRITE_GLYPH_IMAGE_FORMATS_PREMULTIPLIED_B8G8R8A8 DWRITE_GLYPH_IMAGE_FORMATS_PREMULTIPLIED_B8G8R8A8

Values for the property of the Highlights and Shadows effect.

dn890727 D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA
No documentation. dn890727 D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA_LINEAR D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA_LINEAR No documentation. dn890727 D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA_SRGB D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA_SRGB

Identifiers for properties of the Highlights and Shadows effect.

dn890728 D2D1_HIGHLIGHTSANDSHADOWS_PROP D2D1_HIGHLIGHTSANDSHADOWS_PROP
No documentation. dn890728 D2D1_HIGHLIGHTSANDSHADOWS_PROP_HIGHLIGHTS D2D1_HIGHLIGHTSANDSHADOWS_PROP_HIGHLIGHTS No documentation. dn890728 D2D1_HIGHLIGHTSANDSHADOWS_PROP_SHADOWS D2D1_HIGHLIGHTSANDSHADOWS_PROP_SHADOWS No documentation. dn890728 D2D1_HIGHLIGHTSANDSHADOWS_PROP_CLARITY D2D1_HIGHLIGHTSANDSHADOWS_PROP_CLARITY No documentation. dn890728 D2D1_HIGHLIGHTSANDSHADOWS_PROP_INPUT_GAMMA D2D1_HIGHLIGHTSANDSHADOWS_PROP_INPUT_GAMMA No documentation. dn890728 D2D1_HIGHLIGHTSANDSHADOWS_PROP_MASK_BLUR_RADIUS D2D1_HIGHLIGHTSANDSHADOWS_PROP_MASK_BLUR_RADIUS

Identifiers for properties of the Histogram effect.

dn934249 D2D1_HISTOGRAM_PROP D2D1_HISTOGRAM_PROP
No documentation. dn934249 D2D1_HISTOGRAM_PROP_NUM_BINS D2D1_HISTOGRAM_PROP_NUM_BINS No documentation. dn934249 D2D1_HISTOGRAM_PROP_CHANNEL_SELECT D2D1_HISTOGRAM_PROP_CHANNEL_SELECT No documentation. dn934249 D2D1_HISTOGRAM_PROP_HISTOGRAM_OUTPUT D2D1_HISTOGRAM_PROP_HISTOGRAM_OUTPUT

Identifiers for properties of the Hue rotate effect.

dn934250 D2D1_HUEROTATION_PROP D2D1_HUEROTATION_PROP
No documentation. dn934250 D2D1_HUEROTATION_PROP_ANGLE D2D1_HUEROTATION_PROP_ANGLE

Values for the property of the Hue to RGB effect.

dn890729 D2D1_HUETORGB_INPUT_COLOR_SPACE D2D1_HUETORGB_INPUT_COLOR_SPACE
No documentation. dn890729 D2D1_HUETORGB_INPUT_COLOR_SPACE_HUE_SATURATION_VALUE D2D1_HUETORGB_INPUT_COLOR_SPACE_HUE_SATURATION_VALUE No documentation. dn890729 D2D1_HUETORGB_INPUT_COLOR_SPACE_HUE_SATURATION_LIGHTNESS D2D1_HUETORGB_INPUT_COLOR_SPACE_HUE_SATURATION_LIGHTNESS

Identifiers for properties of the Hue to RGB effect.

dn890730 D2D1_HUETORGB_PROP D2D1_HUETORGB_PROP
No documentation. dn890730 D2D1_HUETORGB_PROP_INPUT_COLOR_SPACE D2D1_HUETORGB_PROP_INPUT_COLOR_SPACE

Option flags controlling primary conversion performed by CreateImageSourceFromDxgi, if any.

dn890733 D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS
No documentation. dn890733 D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS_NONE D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS_NONE No documentation. dn890733 D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS_LOW_QUALITY_PRIMARY_CONVERSION D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS_LOW_QUALITY_PRIMARY_CONVERSION

Controls option flags for a new when it is created.

?

D2D1_IMAGE_SOURCE_CREATION_OPTIONS_RELEASE_SOURCE causes the image source to not retain a reference to the source object used to create it. It can decrease the quality and efficiency of printing.

dn890734 D2D1_IMAGE_SOURCE_LOADING_OPTIONS D2D1_IMAGE_SOURCE_LOADING_OPTIONS

No options are used.

dn890734 D2D1_IMAGE_SOURCE_LOADING_OPTIONS_NONE D2D1_IMAGE_SOURCE_LOADING_OPTIONS_NONE

Indicates the image source should release its reference to the WIC bitmap source after it has initialized. By default, the image source retains a reference to the WIC bitmap source for the lifetime of the object to enable quality and speed optimizations for printing. This option disables that optimization.

dn890734 D2D1_IMAGE_SOURCE_LOADING_OPTIONS_RELEASE_SOURCE D2D1_IMAGE_SOURCE_LOADING_OPTIONS_RELEASE_SOURCE

Indicates the image source should only populate subregions of the image cache on-demand. You can control this behavior using the EnsureCached and TrimCache methods. This options provides the ability to improve memory usage by only keeping needed portions of the image in memory. This option requires that the image source has a reference to the WIC bitmap source, and is incompatible with .

dn890734 D2D1_IMAGE_SOURCE_LOADING_OPTIONS_CACHE_ON_DEMAND D2D1_IMAGE_SOURCE_LOADING_OPTIONS_CACHE_ON_DEMAND

Specifies the appearance of the ink nib (pen tip) as part of an structure.

dn890735 D2D1_INK_NIB_SHAPE D2D1_INK_NIB_SHAPE
No documentation. dn890735 D2D1_INK_NIB_SHAPE_ROUND D2D1_INK_NIB_SHAPE_ROUND No documentation. dn890735 D2D1_INK_NIB_SHAPE_SQUARE D2D1_INK_NIB_SHAPE_SQUARE

This is used to specify the quality of image scaling with and with the 2D affine transform effect.

hh447004 D2D1_INTERPOLATION_MODE D2D1_INTERPOLATION_MODE
No documentation. hh447004 D2D1_INTERPOLATION_MODE_NEAREST_NEIGHBOR D2D1_INTERPOLATION_MODE_NEAREST_NEIGHBOR No documentation. hh447004 D2D1_INTERPOLATION_MODE_LINEAR D2D1_INTERPOLATION_MODE_LINEAR No documentation. hh447004 D2D1_INTERPOLATION_MODE_CUBIC D2D1_INTERPOLATION_MODE_CUBIC No documentation. hh447004 D2D1_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR D2D1_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR No documentation. hh447004 D2D1_INTERPOLATION_MODE_ANISOTROPIC D2D1_INTERPOLATION_MODE_ANISOTROPIC No documentation. hh447004 D2D1_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC D2D1_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC No documentation. D2D1_ENUM_0 D2D1_ENUM_0 No documentation. D2D1_INTERPOLATION_MODE_DEFINITION_NEAREST_NEIGHBOR D2D1_INTERPOLATION_MODE_DEFINITION_NEAREST_NEIGHBOR No documentation. D2D1_INTERPOLATION_MODE_DEFINITION_LINEAR D2D1_INTERPOLATION_MODE_DEFINITION_LINEAR No documentation. D2D1_INTERPOLATION_MODE_DEFINITION_CUBIC D2D1_INTERPOLATION_MODE_DEFINITION_CUBIC No documentation. D2D1_INTERPOLATION_MODE_DEFINITION_MULTI_SAMPLE_LINEAR D2D1_INTERPOLATION_MODE_DEFINITION_MULTI_SAMPLE_LINEAR No documentation. D2D1_INTERPOLATION_MODE_DEFINITION_ANISOTROPIC D2D1_INTERPOLATION_MODE_DEFINITION_ANISOTROPIC No documentation. D2D1_INTERPOLATION_MODE_DEFINITION_HIGH_QUALITY_CUBIC D2D1_INTERPOLATION_MODE_DEFINITION_HIGH_QUALITY_CUBIC No documentation. D2D1_INTERPOLATION_MODE_DEFINITION_FANT D2D1_INTERPOLATION_MODE_DEFINITION_FANT No documentation. D2D1_INTERPOLATION_MODE_DEFINITION_MIPMAP_LINEAR D2D1_INTERPOLATION_MODE_DEFINITION_MIPMAP_LINEAR

Specifies options that can be applied when a layer resource is applied to create a layer.

Note??Starting in Windows?8, the option is no longer supported. See for Windows?8 layer options.?

ClearType antialiasing must use the current contents of the render target to blend properly. When a pushed layer requests initializing for ClearType, Direct2D copies the current contents of the render target into the layer so that ClearType antialiasing can be performed. Rendering ClearType text into a transparent layer does not produce the desired results.

A small performance hit from re-copying content occurs when is called.

dd368124 D2D1_LAYER_OPTIONS D2D1_LAYER_OPTIONS
No documentation. dd368124 D2D1_LAYER_OPTIONS_NONE D2D1_LAYER_OPTIONS_NONE No documentation. dd368124 D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE

Specifies how the layer contents should be prepared.

hh997712 D2D1_LAYER_OPTIONS1 D2D1_LAYER_OPTIONS1

Default layer behavior. A premultiplied layer target is pushed and its contents are cleared to transparent black.

hh997712 D2D1_LAYER_OPTIONS1_NONE D2D1_LAYER_OPTIONS1_NONE

The layer is not cleared to transparent black.

hh997712 D2D1_LAYER_OPTIONS1_INITIALIZE_FROM_BACKGROUND D2D1_LAYER_OPTIONS1_INITIALIZE_FROM_BACKGROUND

The layer is always created as ignore alpha. All content rendered into the layer will be treated as opaque.

hh997712 D2D1_LAYER_OPTIONS1_IGNORE_ALPHA D2D1_LAYER_OPTIONS1_IGNORE_ALPHA

Identifiers for properties of the Linear transfer effect.

dn934251 D2D1_LINEARTRANSFER_PROP D2D1_LINEARTRANSFER_PROP
No documentation. dn934251 D2D1_LINEARTRANSFER_PROP_RED_Y_INTERCEPT D2D1_LINEARTRANSFER_PROP_RED_Y_INTERCEPT No documentation. dn934251 D2D1_LINEARTRANSFER_PROP_RED_SLOPE D2D1_LINEARTRANSFER_PROP_RED_SLOPE No documentation. dn934251 D2D1_LINEARTRANSFER_PROP_RED_DISABLE D2D1_LINEARTRANSFER_PROP_RED_DISABLE No documentation. dn934251 D2D1_LINEARTRANSFER_PROP_GREEN_Y_INTERCEPT D2D1_LINEARTRANSFER_PROP_GREEN_Y_INTERCEPT No documentation. dn934251 D2D1_LINEARTRANSFER_PROP_GREEN_SLOPE D2D1_LINEARTRANSFER_PROP_GREEN_SLOPE No documentation. dn934251 D2D1_LINEARTRANSFER_PROP_GREEN_DISABLE D2D1_LINEARTRANSFER_PROP_GREEN_DISABLE No documentation. dn934251 D2D1_LINEARTRANSFER_PROP_BLUE_Y_INTERCEPT D2D1_LINEARTRANSFER_PROP_BLUE_Y_INTERCEPT No documentation. dn934251 D2D1_LINEARTRANSFER_PROP_BLUE_SLOPE D2D1_LINEARTRANSFER_PROP_BLUE_SLOPE No documentation. dn934251 D2D1_LINEARTRANSFER_PROP_BLUE_DISABLE D2D1_LINEARTRANSFER_PROP_BLUE_DISABLE No documentation. dn934251 D2D1_LINEARTRANSFER_PROP_ALPHA_Y_INTERCEPT D2D1_LINEARTRANSFER_PROP_ALPHA_Y_INTERCEPT No documentation. dn934251 D2D1_LINEARTRANSFER_PROP_ALPHA_SLOPE D2D1_LINEARTRANSFER_PROP_ALPHA_SLOPE No documentation. dn934251 D2D1_LINEARTRANSFER_PROP_ALPHA_DISABLE D2D1_LINEARTRANSFER_PROP_ALPHA_DISABLE No documentation. dn934251 D2D1_LINEARTRANSFER_PROP_CLAMP_OUTPUT D2D1_LINEARTRANSFER_PROP_CLAMP_OUTPUT

Describes the shape that joins two lines or segments.

A miter limit affects how sharp miter joins are allowed to be. If the line join style is , then the join will be mitered with regular angular vertices if it doesn't extend beyond the miter limit; otherwise, the line join will be beveled.

The following illustration shows different line join settings for the same stroked path geometry.

dd368130 D2D1_LINE_JOIN D2D1_LINE_JOIN

Regular angular vertices.

dd368130 D2D1_LINE_JOIN_MITER D2D1_LINE_JOIN_MITER

Beveled vertices.

dd368130 D2D1_LINE_JOIN_BEVEL D2D1_LINE_JOIN_BEVEL

Rounded vertices.

dd368130 D2D1_LINE_JOIN_ROUND D2D1_LINE_JOIN_ROUND

Regular angular vertices unless the join would extend beyond the miter limit; otherwise, beveled vertices.

dd368130 D2D1_LINE_JOIN_MITER_OR_BEVEL D2D1_LINE_JOIN_MITER_OR_BEVEL

Identifiers for the properties of the 3D Lookup Table effect.

dn890738 D2D1_LOOKUPTABLE3D_PROP D2D1_LOOKUPTABLE3D_PROP

The property is a reference to an object. The default value is null.

dn890738 D2D1_LOOKUPTABLE3D_PROP_LUT D2D1_LOOKUPTABLE3D_PROP_LUT

The property is a value indicating the alpha mode of the input file. See the About Alpha Modes section of the Supported Pixel Formats and Alpha Modes topic for additional information.

dn890738 D2D1_LOOKUPTABLE3D_PROP_ALPHA_MODE D2D1_LOOKUPTABLE3D_PROP_ALPHA_MODE

Specifies how the memory to be mapped from the corresponding should be treated.

The option can be used only if the bitmap was created with the flag.

These flags will be not be able to be used on bitmaps created by the . However, the will receive bitmaps for which these flags are valid.

can only be used with . Both of these options are only available through the effect author API, not through the Direct2D rendering API.

hh447006 D2D1_MAP_OPTIONS D2D1_MAP_OPTIONS
No documentation. hh447006 D2D1_MAP_OPTIONS_NONE D2D1_MAP_OPTIONS_NONE No documentation. hh447006 D2D1_MAP_OPTIONS_READ D2D1_MAP_OPTIONS_READ No documentation. hh447006 D2D1_MAP_OPTIONS_WRITE D2D1_MAP_OPTIONS_WRITE No documentation. hh447006 D2D1_MAP_OPTIONS_DISCARD D2D1_MAP_OPTIONS_DISCARD

Indicates the measuring method used for text layout.

dd368133 DWRITE_MEASURING_MODE DWRITE_MEASURING_MODE

Specifies that text is measured using glyph ideal metrics whose values are independent to the current display resolution.

dd368133 DWRITE_MEASURING_MODE_NATURAL DWRITE_MEASURING_MODE_NATURAL

Specifies that text is measured using glyph display-compatible metrics whose values tuned for the current display resolution.

dd368133 DWRITE_MEASURING_MODE_GDI_CLASSIC DWRITE_MEASURING_MODE_GDI_CLASSIC

Specifies that text is measured using the same glyph display metrics as text measured by GDI using a font created with CLEARTYPE_NATURAL_QUALITY.

dd368133 DWRITE_MEASURING_MODE_GDI_NATURAL DWRITE_MEASURING_MODE_GDI_NATURAL

The mode for the Morphology effect.

dn934252 D2D1_MORPHOLOGY_MODE D2D1_MORPHOLOGY_MODE
No documentation. dn934252 D2D1_MORPHOLOGY_MODE_ERODE D2D1_MORPHOLOGY_MODE_ERODE No documentation. dn934252 D2D1_MORPHOLOGY_MODE_DILATE D2D1_MORPHOLOGY_MODE_DILATE

Identifiers for properties of the Morphology effect.

dn934253 D2D1_MORPHOLOGY_PROP D2D1_MORPHOLOGY_PROP
No documentation. dn934253 D2D1_MORPHOLOGY_PROP_MODE D2D1_MORPHOLOGY_PROP_MODE No documentation. dn934253 D2D1_MORPHOLOGY_PROP_WIDTH D2D1_MORPHOLOGY_PROP_WIDTH No documentation. dn934253 D2D1_MORPHOLOGY_PROP_HEIGHT D2D1_MORPHOLOGY_PROP_HEIGHT

Describes whether an opacity mask contains graphics or text. Direct2D uses this information to determine which gamma space to use when blending the opacity mask.

dd756629 D2D1_OPACITY_MASK_CONTENT D2D1_OPACITY_MASK_CONTENT

The opacity mask contains graphics. The opacity mask is blended in the gamma 2.2 color space.

dd756629 D2D1_OPACITY_MASK_CONTENT_GRAPHICS D2D1_OPACITY_MASK_CONTENT_GRAPHICS

The opacity mask contains non-GDI text. The gamma space used for blending is obtained from the render target's text rendering parameters. ().

dd756629 D2D1_OPACITY_MASK_CONTENT_TEXT_NATURAL D2D1_OPACITY_MASK_CONTENT_TEXT_NATURAL

The opacity mask contains text rendered using the GDI-compatible rendering mode. The opacity mask is blended using the gamma for GDI rendering.

dd756629 D2D1_OPACITY_MASK_CONTENT_TEXT_GDI_COMPATIBLE D2D1_OPACITY_MASK_CONTENT_TEXT_GDI_COMPATIBLE

Identifiers for properties of the Opacity metadata effect.

dn934254 D2D1_OPACITYMETADATA_PROP D2D1_OPACITYMETADATA_PROP
No documentation. dn934254 D2D1_OPACITYMETADATA_PROP_INPUT_OPAQUE_RECT D2D1_OPACITYMETADATA_PROP_INPUT_OPAQUE_RECT

This effect adjusts the opacity of an image by multiplying the alpha channel of the input by the specified opacity value. It has a single input.

The CLSID for this effect is .

mt745076 D2D1_OPACITY_PROP D2D1_OPACITY_PROP
No documentation. mt745076 D2D1_OPACITY_PROP_OPACITY D2D1_OPACITY_PROP_OPACITY

Specifies the flip and rotation at which an image appears.

dn890739 D2D1_ORIENTATION D2D1_ORIENTATION

The orientation is unchanged.

dn890739 D2D1_ORIENTATION_DEFAULT D2D1_ORIENTATION_DEFAULT

The image is flipped horizontally.

dn890739 D2D1_ORIENTATION_FLIP_HORIZONTAL D2D1_ORIENTATION_FLIP_HORIZONTAL

The image is rotated clockwise 180 degrees.

dn890739 D2D1_ORIENTATION_ROTATE_CLOCKWISE180 D2D1_ORIENTATION_ROTATE_CLOCKWISE180

The image is rotated clockwise 180 degrees, then flipped horizontally.

dn890739 D2D1_ORIENTATION_ROTATE_CLOCKWISE180_FLIP_HORIZONTAL D2D1_ORIENTATION_ROTATE_CLOCKWISE180_FLIP_HORIZONTAL

The image is rotated clockwise 90 degrees, then flipped horizontally.

dn890739 D2D1_ORIENTATION_ROTATE_CLOCKWISE90_FLIP_HORIZONTAL D2D1_ORIENTATION_ROTATE_CLOCKWISE90_FLIP_HORIZONTAL

The image is rotated clockwise 270 degrees.

dn890739 D2D1_ORIENTATION_ROTATE_CLOCKWISE270 D2D1_ORIENTATION_ROTATE_CLOCKWISE270

The image is rotated clockwise 270 degrees, then flipped horizontally.

dn890739 D2D1_ORIENTATION_ROTATE_CLOCKWISE270_FLIP_HORIZONTAL D2D1_ORIENTATION_ROTATE_CLOCKWISE270_FLIP_HORIZONTAL

The image is rotated clockwise 90 degrees.

dn890739 D2D1_ORIENTATION_ROTATE_CLOCKWISE90 D2D1_ORIENTATION_ROTATE_CLOCKWISE90

Specifies how to render gradient mesh edges.

dn986881 D2D1_PATCH_EDGE_MODE D2D1_PATCH_EDGE_MODE

Render this patch edge aliased. Use this value for the internal edges of your gradient mesh.

dn986881 D2D1_PATCH_EDGE_MODE_ALIASED D2D1_PATCH_EDGE_MODE_ALIASED

Render this patch edge antialiased. Use this value for the external (boundary) edges of your mesh.

dn986881 D2D1_PATCH_EDGE_MODE_ANTIALIASED D2D1_PATCH_EDGE_MODE_ANTIALIASED

Render this patch edge aliased and also slightly inflated. Use this for the internal edges of your gradient mesh when there could be t-junctions among patches. Inflating the internal edges mitigates seams that can appear along those junctions.

dn986881 D2D1_PATCH_EDGE_MODE_ALIASED_INFLATED D2D1_PATCH_EDGE_MODE_ALIASED_INFLATED

Indicates whether a segment should be stroked and whether the join between this segment and the previous one should be smooth. This enumeration allows a bitwise combination of its member values.

dd368136 D2D1_PATH_SEGMENT D2D1_PATH_SEGMENT

The segment is joined as specified by the interface, and it is stroked.

dd368136 D2D1_PATH_SEGMENT_NONE D2D1_PATH_SEGMENT_NONE

The segment is not stroked.

dd368136 D2D1_PATH_SEGMENT_FORCE_UNSTROKED D2D1_PATH_SEGMENT_FORCE_UNSTROKED

The segment is always joined with the one preceding it using a round line join, regardless of which enumeration is specified by the interface. If this segment is the first segment and the figure is closed, a round line join is used to connect the closing segment with the first segment. If the figure is not closed, this setting has no effect on the first segment of the figure. If is called just before , the join between the closing segment and the last explicitly specified segment is affected.

dd368136 D2D1_PATH_SEGMENT_FORCE_ROUND_LINE_JOIN D2D1_PATH_SEGMENT_FORCE_ROUND_LINE_JOIN

The interpolation mode the 3D perspective transform effect uses on the image. There are 5 scale modes that range in quality and speed.

dn934207 D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE
No documentation. dn934207 D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR No documentation. dn934207 D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_LINEAR D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_LINEAR No documentation. dn934207 D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_CUBIC D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_CUBIC No documentation. dn934207 D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR No documentation. dn934207 D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_ANISOTROPIC D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_ANISOTROPIC

Identifiers for the properties of the 3D perspective transform effect.

dn934208 D2D1_3DPERSPECTIVETRANSFORM_PROP D2D1_3DPERSPECTIVETRANSFORM_PROP
No documentation. dn934208 D2D1_3DPERSPECTIVETRANSFORM_PROP_INTERPOLATION_MODE D2D1_3DPERSPECTIVETRANSFORM_PROP_INTERPOLATION_MODE No documentation. dn934208 D2D1_3DPERSPECTIVETRANSFORM_PROP_BORDER_MODE D2D1_3DPERSPECTIVETRANSFORM_PROP_BORDER_MODE No documentation. dn934208 D2D1_3DPERSPECTIVETRANSFORM_PROP_DEPTH D2D1_3DPERSPECTIVETRANSFORM_PROP_DEPTH No documentation. dn934208 D2D1_3DPERSPECTIVETRANSFORM_PROP_PERSPECTIVE_ORIGIN D2D1_3DPERSPECTIVETRANSFORM_PROP_PERSPECTIVE_ORIGIN No documentation. dn934208 D2D1_3DPERSPECTIVETRANSFORM_PROP_LOCAL_OFFSET D2D1_3DPERSPECTIVETRANSFORM_PROP_LOCAL_OFFSET No documentation. dn934208 D2D1_3DPERSPECTIVETRANSFORM_PROP_GLOBAL_OFFSET D2D1_3DPERSPECTIVETRANSFORM_PROP_GLOBAL_OFFSET No documentation. dn934208 D2D1_3DPERSPECTIVETRANSFORM_PROP_ROTATION_ORIGIN D2D1_3DPERSPECTIVETRANSFORM_PROP_ROTATION_ORIGIN No documentation. dn934208 D2D1_3DPERSPECTIVETRANSFORM_PROP_ROTATION D2D1_3DPERSPECTIVETRANSFORM_PROP_ROTATION

Indicates how pixel shader sampling will be restricted. This indicates whether the vertex buffer is large and tends to change infrequently or smaller and changes frequently (typically frame over frame).

If the shader specifies , it must still correctly implement the region of interest calculations in and .

hh404316 D2D1_PIXEL_OPTIONS D2D1_PIXEL_OPTIONS

The pixel shader is not restricted in its sampling.

hh404316 D2D1_PIXEL_OPTIONS_NONE D2D1_PIXEL_OPTIONS_NONE

The pixel shader samples inputs only at the same scene coordinate as the output pixel and returns transparent black whenever the input pixels are also transparent black.

hh404316 D2D1_PIXEL_OPTIONS_TRIVIAL_SAMPLING D2D1_PIXEL_OPTIONS_TRIVIAL_SAMPLING

Identifiers for properties of the Point-diffuse lighting effect.

dn934255 D2D1_POINTDIFFUSE_PROP D2D1_POINTDIFFUSE_PROP
No documentation. dn934255 D2D1_POINTDIFFUSE_PROP_LIGHT_POSITION D2D1_POINTDIFFUSE_PROP_LIGHT_POSITION No documentation. dn934255 D2D1_POINTDIFFUSE_PROP_DIFFUSE_CONSTANT D2D1_POINTDIFFUSE_PROP_DIFFUSE_CONSTANT No documentation. dn934255 D2D1_POINTDIFFUSE_PROP_SURFACE_SCALE D2D1_POINTDIFFUSE_PROP_SURFACE_SCALE No documentation. dn934255 D2D1_POINTDIFFUSE_PROP_COLOR D2D1_POINTDIFFUSE_PROP_COLOR No documentation. dn934255 D2D1_POINTDIFFUSE_PROP_KERNEL_UNIT_LENGTH D2D1_POINTDIFFUSE_PROP_KERNEL_UNIT_LENGTH No documentation. dn934255 D2D1_POINTDIFFUSE_PROP_SCALE_MODE D2D1_POINTDIFFUSE_PROP_SCALE_MODE

The interpolation mode the Point-diffuse lighting effect uses to scale the image to the corresponding kernel unit length. There are six scale modes that range in quality and speed

dn934256 D2D1_POINTDIFFUSE_SCALE_MODE D2D1_POINTDIFFUSE_SCALE_MODE
No documentation. dn934256 D2D1_POINTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR D2D1_POINTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR No documentation. dn934256 D2D1_POINTDIFFUSE_SCALE_MODE_LINEAR D2D1_POINTDIFFUSE_SCALE_MODE_LINEAR No documentation. dn934256 D2D1_POINTDIFFUSE_SCALE_MODE_CUBIC D2D1_POINTDIFFUSE_SCALE_MODE_CUBIC No documentation. dn934256 D2D1_POINTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR D2D1_POINTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR No documentation. dn934256 D2D1_POINTDIFFUSE_SCALE_MODE_ANISOTROPIC D2D1_POINTDIFFUSE_SCALE_MODE_ANISOTROPIC No documentation. dn934256 D2D1_POINTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC D2D1_POINTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC

Identifiers for properties of the Point-specular lighting effect.

dn934257 D2D1_POINTSPECULAR_PROP D2D1_POINTSPECULAR_PROP
No documentation. dn934257 D2D1_POINTSPECULAR_PROP_LIGHT_POSITION D2D1_POINTSPECULAR_PROP_LIGHT_POSITION No documentation. dn934257 D2D1_POINTSPECULAR_PROP_SPECULAR_EXPONENT D2D1_POINTSPECULAR_PROP_SPECULAR_EXPONENT No documentation. dn934257 D2D1_POINTSPECULAR_PROP_SPECULAR_CONSTANT D2D1_POINTSPECULAR_PROP_SPECULAR_CONSTANT No documentation. dn934257 D2D1_POINTSPECULAR_PROP_SURFACE_SCALE D2D1_POINTSPECULAR_PROP_SURFACE_SCALE No documentation. dn934257 D2D1_POINTSPECULAR_PROP_COLOR D2D1_POINTSPECULAR_PROP_COLOR No documentation. dn934257 D2D1_POINTSPECULAR_PROP_KERNEL_UNIT_LENGTH D2D1_POINTSPECULAR_PROP_KERNEL_UNIT_LENGTH No documentation. dn934257 D2D1_POINTSPECULAR_PROP_SCALE_MODE D2D1_POINTSPECULAR_PROP_SCALE_MODE

The interpolation mode the Point-specular lighting effect uses to scale the image to the corresponding kernel unit length. There are six scale modes that range in quality and speed.

dn934258 D2D1_POINTSPECULAR_SCALE_MODE D2D1_POINTSPECULAR_SCALE_MODE
No documentation. dn934258 D2D1_POINTSPECULAR_SCALE_MODE_NEAREST_NEIGHBOR D2D1_POINTSPECULAR_SCALE_MODE_NEAREST_NEIGHBOR No documentation. dn934258 D2D1_POINTSPECULAR_SCALE_MODE_LINEAR D2D1_POINTSPECULAR_SCALE_MODE_LINEAR No documentation. dn934258 D2D1_POINTSPECULAR_SCALE_MODE_CUBIC D2D1_POINTSPECULAR_SCALE_MODE_CUBIC No documentation. dn934258 D2D1_POINTSPECULAR_SCALE_MODE_MULTI_SAMPLE_LINEAR D2D1_POINTSPECULAR_SCALE_MODE_MULTI_SAMPLE_LINEAR No documentation. dn934258 D2D1_POINTSPECULAR_SCALE_MODE_ANISOTROPIC D2D1_POINTSPECULAR_SCALE_MODE_ANISOTROPIC No documentation. dn934258 D2D1_POINTSPECULAR_SCALE_MODE_HIGH_QUALITY_CUBIC D2D1_POINTSPECULAR_SCALE_MODE_HIGH_QUALITY_CUBIC

Identifiers for properties of the Posterize effect.

dn890742 D2D1_POSTERIZE_PROP D2D1_POSTERIZE_PROP
No documentation. dn890742 D2D1_POSTERIZE_PROP_RED_VALUE_COUNT D2D1_POSTERIZE_PROP_RED_VALUE_COUNT No documentation. dn890742 D2D1_POSTERIZE_PROP_GREEN_VALUE_COUNT D2D1_POSTERIZE_PROP_GREEN_VALUE_COUNT No documentation. dn890742 D2D1_POSTERIZE_PROP_BLUE_VALUE_COUNT D2D1_POSTERIZE_PROP_BLUE_VALUE_COUNT

Describes how a render target behaves when it presents its content. This enumeration allows a bitwise combination of its member values.

dd368144 D2D1_PRESENT_OPTIONS D2D1_PRESENT_OPTIONS

The render target waits until the display refreshes to present and discards the frame upon presenting.

dd368144 D2D1_PRESENT_OPTIONS_NONE D2D1_PRESENT_OPTIONS_NONE

The render target does not discard the frame upon presenting.

dd368144 D2D1_PRESENT_OPTIONS_RETAIN_CONTENTS D2D1_PRESENT_OPTIONS_RETAIN_CONTENTS

The render target does not wait until the display refreshes to present.

dd368144 D2D1_PRESENT_OPTIONS_IMMEDIATELY D2D1_PRESENT_OPTIONS_IMMEDIATELY

Used to specify the geometric blend mode for all Direct2D primitives.

hh447008 D2D1_PRIMITIVE_BLEND D2D1_PRIMITIVE_BLEND

The standard source-over-destination blend mode.

hh447008 D2D1_PRIMITIVE_BLEND_SOURCE_OVER D2D1_PRIMITIVE_BLEND_SOURCE_OVER

The source is copied to the destination; the destination pixels are ignored.

hh447008 D2D1_PRIMITIVE_BLEND_COPY D2D1_PRIMITIVE_BLEND_COPY

The resulting pixel values use the minimum of the source and destination pixel values. Available in Windows?8 and later.

hh447008 D2D1_PRIMITIVE_BLEND_MIN D2D1_PRIMITIVE_BLEND_MIN

The resulting pixel values are the sum of the source and destination pixel values. Available in Windows?8 and later.

hh447008 D2D1_PRIMITIVE_BLEND_ADD D2D1_PRIMITIVE_BLEND_ADD
No documentation. hh447008 D2D1_PRIMITIVE_BLEND_MAX D2D1_PRIMITIVE_BLEND_MAX

Defines when font resources should be subset during printing.

hh871442 D2D1_PRINT_FONT_SUBSET_MODE D2D1_PRINT_FONT_SUBSET_MODE

Uses a heuristic strategy to decide when to subset fonts.

Note??If the print driver has requested archive-optimized content, then Direct2D will subset fonts once, for the entire document. ?
hh871442 D2D1_PRINT_FONT_SUBSET_MODE_DEFAULT D2D1_PRINT_FONT_SUBSET_MODE_DEFAULT

Subsets and embeds font resources in each page, then discards that font subset after the page is printed out.

hh871442 D2D1_PRINT_FONT_SUBSET_MODE_EACHPAGE D2D1_PRINT_FONT_SUBSET_MODE_EACHPAGE

Sends out the original font resources without subsetting along with the page that first uses the font, and re-uses the font resources for later pages without resending them.

hh871442 D2D1_PRINT_FONT_SUBSET_MODE_NONE D2D1_PRINT_FONT_SUBSET_MODE_NONE

Specifies the indices of the system properties present on the interface for an .

Under normal circumstances the minimum and maximum number of inputs to the effect are the same. If the effect supports a variable number of inputs, the ID2D1Effect::SetNumberOfInputs method can be used to choose the number that the application will enable.

hh447010 D2D1_PROPERTY D2D1_PROPERTY
No documentation. hh447010 D2D1_PROPERTY_CLSID D2D1_PROPERTY_CLSID No documentation. hh447010 D2D1_PROPERTY_DISPLAYNAME D2D1_PROPERTY_DISPLAYNAME No documentation. hh447010 D2D1_PROPERTY_AUTHOR D2D1_PROPERTY_AUTHOR No documentation. hh447010 D2D1_PROPERTY_CATEGORY D2D1_PROPERTY_CATEGORY No documentation. hh447010 D2D1_PROPERTY_DESCRIPTION D2D1_PROPERTY_DESCRIPTION No documentation. hh447010 D2D1_PROPERTY_INPUTS D2D1_PROPERTY_INPUTS No documentation. hh447010 D2D1_PROPERTY_CACHED D2D1_PROPERTY_CACHED No documentation. hh447010 D2D1_PROPERTY_PRECISION D2D1_PROPERTY_PRECISION No documentation. hh447010 D2D1_PROPERTY_MIN_INPUTS D2D1_PROPERTY_MIN_INPUTS No documentation. hh447010 D2D1_PROPERTY_MAX_INPUTS D2D1_PROPERTY_MAX_INPUTS

Specifies the types of properties supported by the Direct2D property interface.

hh447012 D2D1_PROPERTY_TYPE D2D1_PROPERTY_TYPE

An unknown property.

hh447012 D2D1_PROPERTY_TYPE_UNKNOWN D2D1_PROPERTY_TYPE_UNKNOWN

An arbitrary-length string.

hh447012 D2D1_PROPERTY_TYPE_STRING D2D1_PROPERTY_TYPE_STRING

A 32-bit integer value constrained to be either 0 or 1.

hh447012 D2D1_PROPERTY_TYPE_BOOL D2D1_PROPERTY_TYPE_BOOL

An unsigned 32-bit integer.

hh447012 D2D1_PROPERTY_TYPE_UINT32 D2D1_PROPERTY_TYPE_UINT32

A signed 32-bit integer.

hh447012 D2D1_PROPERTY_TYPE_INT32 D2D1_PROPERTY_TYPE_INT32

A 32-bit float.

hh447012 D2D1_PROPERTY_TYPE_FLOAT D2D1_PROPERTY_TYPE_FLOAT

Two 32-bit float values.

hh447012 D2D1_PROPERTY_TYPE_VECTOR2 D2D1_PROPERTY_TYPE_VECTOR2

Three 32-bit float values.

hh447012 D2D1_PROPERTY_TYPE_VECTOR3 D2D1_PROPERTY_TYPE_VECTOR3

Four 32-bit float values.

hh447012 D2D1_PROPERTY_TYPE_VECTOR4 D2D1_PROPERTY_TYPE_VECTOR4

An arbitrary number of bytes.

hh447012 D2D1_PROPERTY_TYPE_BLOB D2D1_PROPERTY_TYPE_BLOB

A returned COM or nano-COM interface.

hh447012 D2D1_PROPERTY_TYPE_IUNKNOWN D2D1_PROPERTY_TYPE_IUNKNOWN

An enumeration. The value should be treated as a UINT32 with a defined array of fields to specify the bindings to human-readable strings.

hh447012 D2D1_PROPERTY_TYPE_ENUM D2D1_PROPERTY_TYPE_ENUM

An enumeration. The value is the count of sub-properties in the array. The set of array elements will be contained in the sub-property.

hh447012 D2D1_PROPERTY_TYPE_ARRAY D2D1_PROPERTY_TYPE_ARRAY

A CLSID.

hh447012 D2D1_PROPERTY_TYPE_CLSID D2D1_PROPERTY_TYPE_CLSID

A 3x2 matrix of float values.

hh447012 D2D1_PROPERTY_TYPE_MATRIX_3X2 D2D1_PROPERTY_TYPE_MATRIX_3X2

A 4x2 matrix of float values.

hh447012 D2D1_PROPERTY_TYPE_MATRIX_4X3 D2D1_PROPERTY_TYPE_MATRIX_4X3

A 4x4 matrix of float values.

hh447012 D2D1_PROPERTY_TYPE_MATRIX_4X4 D2D1_PROPERTY_TYPE_MATRIX_4X4

A 5x4 matrix of float values.

hh447012 D2D1_PROPERTY_TYPE_MATRIX_5X4 D2D1_PROPERTY_TYPE_MATRIX_5X4

A nano-COM color context interface reference.

hh447012 D2D1_PROPERTY_TYPE_COLOR_CONTEXT D2D1_PROPERTY_TYPE_COLOR_CONTEXT

The rendering priority affects the extent to which Direct2D will throttle its rendering workload.

dn280382 D2D1_RENDERING_PRIORITY D2D1_RENDERING_PRIORITY
No documentation. dn280382 D2D1_RENDERING_PRIORITY_NORMAL D2D1_RENDERING_PRIORITY_NORMAL No documentation. dn280382 D2D1_RENDERING_PRIORITY_LOW D2D1_RENDERING_PRIORITY_LOW

Describes whether a render target uses hardware or software rendering, or if Direct2D should select the rendering mode.

Not every render target supports hardware rendering. For more information, see the Render Targets Overview.

dd756630 D2D1_RENDER_TARGET_TYPE D2D1_RENDER_TARGET_TYPE

The render target uses hardware rendering, if available; otherwise, it uses software rendering.

dd756630 D2D1_RENDER_TARGET_TYPE_DEFAULT D2D1_RENDER_TARGET_TYPE_DEFAULT

The render target uses software rendering only.

dd756630 D2D1_RENDER_TARGET_TYPE_SOFTWARE D2D1_RENDER_TARGET_TYPE_SOFTWARE

The render target uses hardware rendering only.

dd756630 D2D1_RENDER_TARGET_TYPE_HARDWARE D2D1_RENDER_TARGET_TYPE_HARDWARE

Describes how a render target is remoted and whether it should be GDI-compatible. This enumeration allows a bitwise combination of its member values.

dd368157 D2D1_RENDER_TARGET_USAGE D2D1_RENDER_TARGET_USAGE

The render target attempts to use Direct3D command-stream remoting and uses bitmap remoting if stream remoting fails. The render target is not GDI-compatible.

dd368157 D2D1_RENDER_TARGET_USAGE_NONE D2D1_RENDER_TARGET_USAGE_NONE

The render target renders content locally and sends it to the terminal services client as a bitmap.

dd368157 D2D1_RENDER_TARGET_USAGE_FORCE_BITMAP_REMOTING D2D1_RENDER_TARGET_USAGE_FORCE_BITMAP_REMOTING

The render target can be used efficiently with GDI.

dd368157 D2D1_RENDER_TARGET_USAGE_GDI_COMPATIBLE D2D1_RENDER_TARGET_USAGE_GDI_COMPATIBLE

Values for the property of the RGB to Hue effect.

dn890743 D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE
No documentation. dn890743 D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE_HUE_SATURATION_VALUE D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE_HUE_SATURATION_VALUE No documentation. dn890743 D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE_HUE_SATURATION_LIGHTNESS D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE_HUE_SATURATION_LIGHTNESS

Indentifiers for properties of the RGB to Hue effect.

dn890744 D2D1_RGBTOHUE_PROP D2D1_RGBTOHUE_PROP
No documentation. dn890744 D2D1_RGBTOHUE_PROP_OUTPUT_COLOR_SPACE D2D1_RGBTOHUE_PROP_OUTPUT_COLOR_SPACE

Identifiers for properties of the Saturation effect.

dn934259 D2D1_SATURATION_PROP D2D1_SATURATION_PROP
No documentation. dn934259 D2D1_SATURATION_PROP_SATURATION D2D1_SATURATION_PROP_SATURATION

The interpolation mode the Scale effect uses to scale the image. There are 6 scale modes that range in quality and speed.

dn934260 D2D1_SCALE_INTERPOLATION_MODE D2D1_SCALE_INTERPOLATION_MODE
No documentation. dn934260 D2D1_SCALE_INTERPOLATION_MODE_NEAREST_NEIGHBOR D2D1_SCALE_INTERPOLATION_MODE_NEAREST_NEIGHBOR No documentation. dn934260 D2D1_SCALE_INTERPOLATION_MODE_LINEAR D2D1_SCALE_INTERPOLATION_MODE_LINEAR No documentation. dn934260 D2D1_SCALE_INTERPOLATION_MODE_CUBIC D2D1_SCALE_INTERPOLATION_MODE_CUBIC No documentation. dn934260 D2D1_SCALE_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR D2D1_SCALE_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR No documentation. dn934260 D2D1_SCALE_INTERPOLATION_MODE_ANISOTROPIC D2D1_SCALE_INTERPOLATION_MODE_ANISOTROPIC No documentation. dn934260 D2D1_SCALE_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC D2D1_SCALE_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC

Identifiers for properties of the Scale effect.

dn934261 D2D1_SCALE_PROP D2D1_SCALE_PROP
No documentation. dn934261 D2D1_SCALE_PROP_SCALE D2D1_SCALE_PROP_SCALE No documentation. dn934261 D2D1_SCALE_PROP_CENTER_POINT D2D1_SCALE_PROP_CENTER_POINT No documentation. dn934261 D2D1_SCALE_PROP_INTERPOLATION_MODE D2D1_SCALE_PROP_INTERPOLATION_MODE No documentation. dn934261 D2D1_SCALE_PROP_BORDER_MODE D2D1_SCALE_PROP_BORDER_MODE No documentation. dn934261 D2D1_SCALE_PROP_SHARPNESS D2D1_SCALE_PROP_SHARPNESS

Identifiers for properties of the Sepia effect.

dn890745 D2D1_SEPIA_PROP D2D1_SEPIA_PROP
No documentation. dn890745 D2D1_SEPIA_PROP_INTENSITY D2D1_SEPIA_PROP_INTENSITY No documentation. dn890745 D2D1_SEPIA_PROP_ALPHA_MODE D2D1_SEPIA_PROP_ALPHA_MODE

The level of performance optimization for the Shadow effect.

dn934262 D2D1_SHADOW_OPTIMIZATION D2D1_SHADOW_OPTIMIZATION
No documentation. dn934262 D2D1_SHADOW_OPTIMIZATION_SPEED D2D1_SHADOW_OPTIMIZATION_SPEED No documentation. dn934262 D2D1_SHADOW_OPTIMIZATION_BALANCED D2D1_SHADOW_OPTIMIZATION_BALANCED No documentation. dn934262 D2D1_SHADOW_OPTIMIZATION_QUALITY D2D1_SHADOW_OPTIMIZATION_QUALITY

Identifiers for properties of the Shadow effect.

dn934263 D2D1_SHADOW_PROP D2D1_SHADOW_PROP
No documentation. dn934263 D2D1_SHADOW_PROP_BLUR_STANDARD_DEVIATION D2D1_SHADOW_PROP_BLUR_STANDARD_DEVIATION No documentation. dn934263 D2D1_SHADOW_PROP_COLOR D2D1_SHADOW_PROP_COLOR No documentation. dn934263 D2D1_SHADOW_PROP_OPTIMIZATION D2D1_SHADOW_PROP_OPTIMIZATION

Identifiers for properties of the Sharpen effect.

dn890746 D2D1_SHARPEN_PROP D2D1_SHARPEN_PROP
No documentation. dn890746 D2D1_SHARPEN_PROP_SHARPNESS D2D1_SHARPEN_PROP_SHARPNESS No documentation. dn890746 D2D1_SHARPEN_PROP_THRESHOLD D2D1_SHARPEN_PROP_THRESHOLD

Identifiers for properties of the Spot-diffuse lighting effect.

dn934264 D2D1_SPOTDIFFUSE_PROP D2D1_SPOTDIFFUSE_PROP
No documentation. dn934264 D2D1_SPOTDIFFUSE_PROP_LIGHT_POSITION D2D1_SPOTDIFFUSE_PROP_LIGHT_POSITION No documentation. dn934264 D2D1_SPOTDIFFUSE_PROP_POINTS_AT D2D1_SPOTDIFFUSE_PROP_POINTS_AT No documentation. dn934264 D2D1_SPOTDIFFUSE_PROP_FOCUS D2D1_SPOTDIFFUSE_PROP_FOCUS No documentation. dn934264 D2D1_SPOTDIFFUSE_PROP_LIMITING_CONE_ANGLE D2D1_SPOTDIFFUSE_PROP_LIMITING_CONE_ANGLE No documentation. dn934264 D2D1_SPOTDIFFUSE_PROP_DIFFUSE_CONSTANT D2D1_SPOTDIFFUSE_PROP_DIFFUSE_CONSTANT No documentation. dn934264 D2D1_SPOTDIFFUSE_PROP_SURFACE_SCALE D2D1_SPOTDIFFUSE_PROP_SURFACE_SCALE No documentation. dn934264 D2D1_SPOTDIFFUSE_PROP_COLOR D2D1_SPOTDIFFUSE_PROP_COLOR No documentation. dn934264 D2D1_SPOTDIFFUSE_PROP_KERNEL_UNIT_LENGTH D2D1_SPOTDIFFUSE_PROP_KERNEL_UNIT_LENGTH No documentation. dn934264 D2D1_SPOTDIFFUSE_PROP_SCALE_MODE D2D1_SPOTDIFFUSE_PROP_SCALE_MODE

The interpolation mode the Spot-diffuse lighting effect uses to scale the image to the corresponding kernel unit length. There are six scale modes that range in quality and speed.

dn934265 D2D1_SPOTDIFFUSE_SCALE_MODE D2D1_SPOTDIFFUSE_SCALE_MODE
No documentation. dn934265 D2D1_SPOTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR D2D1_SPOTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR No documentation. dn934265 D2D1_SPOTDIFFUSE_SCALE_MODE_LINEAR D2D1_SPOTDIFFUSE_SCALE_MODE_LINEAR No documentation. dn934265 D2D1_SPOTDIFFUSE_SCALE_MODE_CUBIC D2D1_SPOTDIFFUSE_SCALE_MODE_CUBIC No documentation. dn934265 D2D1_SPOTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR D2D1_SPOTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR No documentation. dn934265 D2D1_SPOTDIFFUSE_SCALE_MODE_ANISOTROPIC D2D1_SPOTDIFFUSE_SCALE_MODE_ANISOTROPIC No documentation. dn934265 D2D1_SPOTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC D2D1_SPOTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC

Identifiers for properties of the Spot-specular lighting effect.

dn934266 D2D1_SPOTSPECULAR_PROP D2D1_SPOTSPECULAR_PROP
No documentation. dn934266 D2D1_SPOTSPECULAR_PROP_LIGHT_POSITION D2D1_SPOTSPECULAR_PROP_LIGHT_POSITION No documentation. dn934266 D2D1_SPOTSPECULAR_PROP_POINTS_AT D2D1_SPOTSPECULAR_PROP_POINTS_AT No documentation. dn934266 D2D1_SPOTSPECULAR_PROP_FOCUS D2D1_SPOTSPECULAR_PROP_FOCUS No documentation. dn934266 D2D1_SPOTSPECULAR_PROP_LIMITING_CONE_ANGLE D2D1_SPOTSPECULAR_PROP_LIMITING_CONE_ANGLE No documentation. dn934266 D2D1_SPOTSPECULAR_PROP_SPECULAR_EXPONENT D2D1_SPOTSPECULAR_PROP_SPECULAR_EXPONENT No documentation. dn934266 D2D1_SPOTSPECULAR_PROP_SPECULAR_CONSTANT D2D1_SPOTSPECULAR_PROP_SPECULAR_CONSTANT No documentation. dn934266 D2D1_SPOTSPECULAR_PROP_SURFACE_SCALE D2D1_SPOTSPECULAR_PROP_SURFACE_SCALE No documentation. dn934266 D2D1_SPOTSPECULAR_PROP_COLOR D2D1_SPOTSPECULAR_PROP_COLOR No documentation. dn934266 D2D1_SPOTSPECULAR_PROP_KERNEL_UNIT_LENGTH D2D1_SPOTSPECULAR_PROP_KERNEL_UNIT_LENGTH No documentation. dn934266 D2D1_SPOTSPECULAR_PROP_SCALE_MODE D2D1_SPOTSPECULAR_PROP_SCALE_MODE

The interpolation mode the Spot-specular lighting effect uses to scale the image to the corresponding kernel unit length. There are six scale modes that range in quality and speed.

dn934267 D2D1_SPOTSPECULAR_SCALE_MODE D2D1_SPOTSPECULAR_SCALE_MODE
No documentation. dn934267 D2D1_SPOTSPECULAR_SCALE_MODE_NEAREST_NEIGHBOR D2D1_SPOTSPECULAR_SCALE_MODE_NEAREST_NEIGHBOR No documentation. dn934267 D2D1_SPOTSPECULAR_SCALE_MODE_LINEAR D2D1_SPOTSPECULAR_SCALE_MODE_LINEAR No documentation. dn934267 D2D1_SPOTSPECULAR_SCALE_MODE_CUBIC D2D1_SPOTSPECULAR_SCALE_MODE_CUBIC No documentation. dn934267 D2D1_SPOTSPECULAR_SCALE_MODE_MULTI_SAMPLE_LINEAR D2D1_SPOTSPECULAR_SCALE_MODE_MULTI_SAMPLE_LINEAR No documentation. dn934267 D2D1_SPOTSPECULAR_SCALE_MODE_ANISOTROPIC D2D1_SPOTSPECULAR_SCALE_MODE_ANISOTROPIC No documentation. dn934267 D2D1_SPOTSPECULAR_SCALE_MODE_HIGH_QUALITY_CUBIC D2D1_SPOTSPECULAR_SCALE_MODE_HIGH_QUALITY_CUBIC

Specifies additional aspects of how a sprite batch is to be drawn, as part of a call to .

mt619821 D2D1_SPRITE_OPTIONS D2D1_SPRITE_OPTIONS
No documentation. mt619821 D2D1_SPRITE_OPTIONS_NONE D2D1_SPRITE_OPTIONS_NONE No documentation. mt619821 D2D1_SPRITE_OPTIONS_CLAMP_TO_SOURCE_RECTANGLE D2D1_SPRITE_OPTIONS_CLAMP_TO_SOURCE_RECTANGLE

Identifiers for properties of the Straighten effect.

dn890747 D2D1_STRAIGHTEN_PROP D2D1_STRAIGHTEN_PROP
No documentation. dn890747 D2D1_STRAIGHTEN_PROP_ANGLE D2D1_STRAIGHTEN_PROP_ANGLE No documentation. dn890747 D2D1_STRAIGHTEN_PROP_MAINTAIN_SIZE D2D1_STRAIGHTEN_PROP_MAINTAIN_SIZE No documentation. dn890747 D2D1_STRAIGHTEN_PROP_SCALE_MODE D2D1_STRAIGHTEN_PROP_SCALE_MODE

Values for the property of the Straighten effect.

dn890748 D2D1_STRAIGHTEN_SCALE_MODE D2D1_STRAIGHTEN_SCALE_MODE
No documentation. dn890748 D2D1_STRAIGHTEN_SCALE_MODE_NEAREST_NEIGHBOR D2D1_STRAIGHTEN_SCALE_MODE_NEAREST_NEIGHBOR No documentation. dn890748 D2D1_STRAIGHTEN_SCALE_MODE_LINEAR D2D1_STRAIGHTEN_SCALE_MODE_LINEAR No documentation. dn890748 D2D1_STRAIGHTEN_SCALE_MODE_CUBIC D2D1_STRAIGHTEN_SCALE_MODE_CUBIC No documentation. dn890748 D2D1_STRAIGHTEN_SCALE_MODE_MULTI_SAMPLE_LINEAR D2D1_STRAIGHTEN_SCALE_MODE_MULTI_SAMPLE_LINEAR No documentation. dn890748 D2D1_STRAIGHTEN_SCALE_MODE_ANISOTROPIC D2D1_STRAIGHTEN_SCALE_MODE_ANISOTROPIC

Defines how the world transform, dots per inch (dpi), and stroke width affect the shape of the pen used to stroke a primitive.

If you specify the stroke isn't affected by the world transform.

If you specify the application has the same behavior in Windows 7 and later.

If you specify the stroke is always 1 pixel wide.

Apart from the stroke, any value derived from the stroke width is not affected when the transformType is either fixed or hairline. This includes miters, line caps and so on.

It is important to distinguish between the geometry being stroked and the shape of the stroke pen. When or is specified, the geometry still respects the transform and dpi, but the pen that traces the geometry will not.

Here is an illustration of a stroke with dashing and a skew and stretch transform.

And here is an illustration of a fixed width stroke which does not get transformed.

hh447016 D2D1_STROKE_TRANSFORM_TYPE D2D1_STROKE_TRANSFORM_TYPE

The stroke respects the currently set world transform, the dpi, and the stroke width.

hh447016 D2D1_STROKE_TRANSFORM_TYPE_NORMAL D2D1_STROKE_TRANSFORM_TYPE_NORMAL

The stroke does not respect the world transform but it does respect the dpi and stroke width.

hh447016 D2D1_STROKE_TRANSFORM_TYPE_FIXED D2D1_STROKE_TRANSFORM_TYPE_FIXED

The stroke is forced to 1 pixel wide (in device space) and does not respect the world transform, the dpi, or the stroke width.

hh447016 D2D1_STROKE_TRANSFORM_TYPE_HAIRLINE D2D1_STROKE_TRANSFORM_TYPE_HAIRLINE

Specifies the indices of the system sub-properties that may be present in any property.

hh447018 D2D1_SUBPROPERTY D2D1_SUBPROPERTY

The name for the parent property.

hh447018 D2D1_SUBPROPERTY_DISPLAYNAME D2D1_SUBPROPERTY_DISPLAYNAME

A Boolean indicating whether the parent property is writeable.

hh447018 D2D1_SUBPROPERTY_ISREADONLY D2D1_SUBPROPERTY_ISREADONLY

The minimum value that can be set to the parent property.

hh447018 D2D1_SUBPROPERTY_MIN D2D1_SUBPROPERTY_MIN

The maximum value that can be set to the parent property.

hh447018 D2D1_SUBPROPERTY_MAX D2D1_SUBPROPERTY_MAX

The default value of the parent property.

hh447018 D2D1_SUBPROPERTY_DEFAULT D2D1_SUBPROPERTY_DEFAULT

An array of name/index pairs that indicate the possible values that can be set to the parent property.

hh447018 D2D1_SUBPROPERTY_FIELDS D2D1_SUBPROPERTY_FIELDS

An index sub-property used by the elements of the array.

hh447018 D2D1_SUBPROPERTY_INDEX D2D1_SUBPROPERTY_INDEX

Describes how a render target behaves when it presents its content. This enumeration allows a bitwise combination of its member values.

dd368144 D2D1_SVG_ASPECT_ALIGN D2D1_SVG_ASPECT_ALIGN

The render target waits until the display refreshes to present and discards the frame upon presenting.

dd368144 D2D1_SVG_ASPECT_ALIGN_NONE D2D1_SVG_ASPECT_ALIGN_NONE

The render target does not discard the frame upon presenting.

dd368144 D2D1_SVG_ASPECT_ALIGN_X_MIN_Y_MIN D2D1_SVG_ASPECT_ALIGN_X_MIN_Y_MIN

The render target does not wait until the display refreshes to present.

dd368144 D2D1_SVG_ASPECT_ALIGN_X_MID_Y_MIN D2D1_SVG_ASPECT_ALIGN_X_MID_Y_MIN
No documentation. dd368144 D2D1_SVG_ASPECT_ALIGN_X_MAX_Y_MIN D2D1_SVG_ASPECT_ALIGN_X_MAX_Y_MIN No documentation. dd368144 D2D1_SVG_ASPECT_ALIGN_X_MIN_Y_MID D2D1_SVG_ASPECT_ALIGN_X_MIN_Y_MID No documentation. dd368144 D2D1_SVG_ASPECT_ALIGN_X_MID_Y_MID D2D1_SVG_ASPECT_ALIGN_X_MID_Y_MID No documentation. dd368144 D2D1_SVG_ASPECT_ALIGN_X_MAX_Y_MID D2D1_SVG_ASPECT_ALIGN_X_MAX_Y_MID No documentation. dd368144 D2D1_SVG_ASPECT_ALIGN_X_MIN_Y_MAX D2D1_SVG_ASPECT_ALIGN_X_MIN_Y_MAX No documentation. dd368144 D2D1_SVG_ASPECT_ALIGN_X_MID_Y_MAX D2D1_SVG_ASPECT_ALIGN_X_MID_Y_MAX No documentation. dd368144 D2D1_SVG_ASPECT_ALIGN_X_MAX_Y_MAX D2D1_SVG_ASPECT_ALIGN_X_MAX_Y_MAX

Indicates how pixel shader sampling will be restricted. This indicates whether the vertex buffer is large and tends to change infrequently or smaller and changes frequently (typically frame over frame).

If the shader specifies , it must still correctly implement the region of interest calculations in and .

hh404316 D2D1_SVG_ASPECT_SCALING D2D1_SVG_ASPECT_SCALING

The pixel shader is not restricted in its sampling.

hh404316 D2D1_SVG_ASPECT_SCALING_MEET D2D1_SVG_ASPECT_SCALING_MEET

The pixel shader samples inputs only at the same scene coordinate as the output pixel and returns transparent black whenever the input pixels are also transparent black.

hh404316 D2D1_SVG_ASPECT_SCALING_SLICE D2D1_SVG_ASPECT_SCALING_SLICE

Describes whether a render target uses hardware or software rendering, or if Direct2D should select the rendering mode.

Not every render target supports hardware rendering. For more information, see the Render Targets Overview.

dd756630 D2D1_SVG_ATTRIBUTE_POD_TYPE D2D1_SVG_ATTRIBUTE_POD_TYPE

The render target uses hardware rendering, if available; otherwise, it uses software rendering.

dd756630 D2D1_SVG_ATTRIBUTE_POD_TYPE_FLOAT D2D1_SVG_ATTRIBUTE_POD_TYPE_FLOAT

The render target uses software rendering only.

dd756630 D2D1_SVG_ATTRIBUTE_POD_TYPE_COLOR D2D1_SVG_ATTRIBUTE_POD_TYPE_COLOR

The render target uses hardware rendering only.

dd756630 D2D1_SVG_ATTRIBUTE_POD_TYPE_FILL_MODE D2D1_SVG_ATTRIBUTE_POD_TYPE_FILL_MODE
No documentation. dd756630 D2D1_SVG_ATTRIBUTE_POD_TYPE_DISPLAY D2D1_SVG_ATTRIBUTE_POD_TYPE_DISPLAY No documentation. dd756630 D2D1_SVG_ATTRIBUTE_POD_TYPE_OVERFLOW D2D1_SVG_ATTRIBUTE_POD_TYPE_OVERFLOW No documentation. dd756630 D2D1_SVG_ATTRIBUTE_POD_TYPE_LINE_CAP D2D1_SVG_ATTRIBUTE_POD_TYPE_LINE_CAP No documentation. dd756630 D2D1_SVG_ATTRIBUTE_POD_TYPE_LINE_JOIN D2D1_SVG_ATTRIBUTE_POD_TYPE_LINE_JOIN No documentation. dd756630 D2D1_SVG_ATTRIBUTE_POD_TYPE_VISIBILITY D2D1_SVG_ATTRIBUTE_POD_TYPE_VISIBILITY No documentation. dd756630 D2D1_SVG_ATTRIBUTE_POD_TYPE_MATRIX D2D1_SVG_ATTRIBUTE_POD_TYPE_MATRIX No documentation. dd756630 D2D1_SVG_ATTRIBUTE_POD_TYPE_UNIT_TYPE D2D1_SVG_ATTRIBUTE_POD_TYPE_UNIT_TYPE No documentation. dd756630 D2D1_SVG_ATTRIBUTE_POD_TYPE_EXTEND_MODE D2D1_SVG_ATTRIBUTE_POD_TYPE_EXTEND_MODE No documentation. dd756630 D2D1_SVG_ATTRIBUTE_POD_TYPE_PRESERVE_ASPECT_RATIO D2D1_SVG_ATTRIBUTE_POD_TYPE_PRESERVE_ASPECT_RATIO No documentation. dd756630 D2D1_SVG_ATTRIBUTE_POD_TYPE_VIEWBOX D2D1_SVG_ATTRIBUTE_POD_TYPE_VIEWBOX No documentation. dd756630 D2D1_SVG_ATTRIBUTE_POD_TYPE_LENGTH D2D1_SVG_ATTRIBUTE_POD_TYPE_LENGTH

Describes whether a render target uses hardware or software rendering, or if Direct2D should select the rendering mode.

Not every render target supports hardware rendering. For more information, see the Render Targets Overview.

dd756630 D2D1_SVG_ATTRIBUTE_STRING_TYPE D2D1_SVG_ATTRIBUTE_STRING_TYPE

The render target uses hardware rendering, if available; otherwise, it uses software rendering.

dd756630 D2D1_SVG_ATTRIBUTE_STRING_TYPE_SVG D2D1_SVG_ATTRIBUTE_STRING_TYPE_SVG

The render target uses software rendering only.

dd756630 D2D1_SVG_ATTRIBUTE_STRING_TYPE_ID D2D1_SVG_ATTRIBUTE_STRING_TYPE_ID

Describes whether a render target uses hardware or software rendering, or if Direct2D should select the rendering mode.

Not every render target supports hardware rendering. For more information, see the Render Targets Overview.

dd756630 D2D1_SVG_DISPLAY D2D1_SVG_DISPLAY

The render target uses hardware rendering, if available; otherwise, it uses software rendering.

dd756630 D2D1_SVG_DISPLAY_INLINE D2D1_SVG_DISPLAY_INLINE

The render target uses software rendering only.

dd756630 D2D1_SVG_DISPLAY_NONE D2D1_SVG_DISPLAY_NONE

Describes whether a render target uses hardware or software rendering, or if Direct2D should select the rendering mode.

Not every render target supports hardware rendering. For more information, see the Render Targets Overview.

dd756630 D2D1_SVG_LENGTH_UNITS D2D1_SVG_LENGTH_UNITS

The render target uses hardware rendering, if available; otherwise, it uses software rendering.

dd756630 D2D1_SVG_LENGTH_UNITS_NUMBER D2D1_SVG_LENGTH_UNITS_NUMBER

The render target uses software rendering only.

dd756630 D2D1_SVG_LENGTH_UNITS_PERCENTAGE D2D1_SVG_LENGTH_UNITS_PERCENTAGE

Describes whether a render target uses hardware or software rendering, or if Direct2D should select the rendering mode.

Not every render target supports hardware rendering. For more information, see the Render Targets Overview.

dd756630 D2D1_SVG_LINE_CAP D2D1_SVG_LINE_CAP

The render target uses hardware rendering, if available; otherwise, it uses software rendering.

dd756630 D2D1_SVG_LINE_CAP_BUTT D2D1_SVG_LINE_CAP_BUTT

The render target uses software rendering only.

dd756630 D2D1_SVG_LINE_CAP_SQUARE D2D1_SVG_LINE_CAP_SQUARE

The render target uses hardware rendering only.

dd756630 D2D1_SVG_LINE_CAP_ROUND D2D1_SVG_LINE_CAP_ROUND

Indicates how pixel shader sampling will be restricted. This indicates whether the vertex buffer is large and tends to change infrequently or smaller and changes frequently (typically frame over frame).

If the shader specifies , it must still correctly implement the region of interest calculations in and .

hh404316 D2D1_SVG_LINE_JOIN D2D1_SVG_LINE_JOIN

The pixel shader is not restricted in its sampling.

hh404316 D2D1_SVG_LINE_JOIN_BEVEL D2D1_SVG_LINE_JOIN_BEVEL

The pixel shader samples inputs only at the same scene coordinate as the output pixel and returns transparent black whenever the input pixels are also transparent black.

hh404316 D2D1_SVG_LINE_JOIN_MITER D2D1_SVG_LINE_JOIN_MITER
No documentation. hh404316 D2D1_SVG_LINE_JOIN_ROUND D2D1_SVG_LINE_JOIN_ROUND

Describes the shape at the end of a line or segment.

The following illustration shows the available cap styles for lines or segments. The red portion of the line shows the extra area added by the line cap setting.

dd368079 D2D1_SVG_OVERFLOW D2D1_SVG_OVERFLOW

A cap that does not extend past the last point of the line. Comparable to cap used for objects other than lines.

dd368079 D2D1_SVG_OVERFLOW_VISIBLE D2D1_SVG_OVERFLOW_VISIBLE

Half of a square that has a length equal to the line thickness.

dd368079 D2D1_SVG_OVERFLOW_HIDDEN D2D1_SVG_OVERFLOW_HIDDEN

Describes whether a render target uses hardware or software rendering, or if Direct2D should select the rendering mode.

Not every render target supports hardware rendering. For more information, see the Render Targets Overview.

dd756630 D2D1_SVG_PAINT_TYPE D2D1_SVG_PAINT_TYPE

The render target uses hardware rendering, if available; otherwise, it uses software rendering.

dd756630 D2D1_SVG_PAINT_TYPE_NONE D2D1_SVG_PAINT_TYPE_NONE

The render target uses software rendering only.

dd756630 D2D1_SVG_PAINT_TYPE_COLOR D2D1_SVG_PAINT_TYPE_COLOR

The render target uses hardware rendering only.

dd756630 D2D1_SVG_PAINT_TYPE_CURRENT_COLOR D2D1_SVG_PAINT_TYPE_CURRENT_COLOR
No documentation. dd756630 D2D1_SVG_PAINT_TYPE_URI D2D1_SVG_PAINT_TYPE_URI No documentation. dd756630 D2D1_SVG_PAINT_TYPE_URI_NONE D2D1_SVG_PAINT_TYPE_URI_NONE No documentation. dd756630 D2D1_SVG_PAINT_TYPE_URI_COLOR D2D1_SVG_PAINT_TYPE_URI_COLOR No documentation. dd756630 D2D1_SVG_PAINT_TYPE_URI_CURRENT_COLOR D2D1_SVG_PAINT_TYPE_URI_CURRENT_COLOR

Describes whether a render target uses hardware or software rendering, or if Direct2D should select the rendering mode.

Not every render target supports hardware rendering. For more information, see the Render Targets Overview.

dd756630 D2D1_SVG_PATH_COMMAND D2D1_SVG_PATH_COMMAND

The render target uses hardware rendering, if available; otherwise, it uses software rendering.

dd756630 D2D1_SVG_PATH_COMMAND_CLOSE_PATH D2D1_SVG_PATH_COMMAND_CLOSE_PATH

The render target uses software rendering only.

dd756630 D2D1_SVG_PATH_COMMAND_MOVE_ABSOLUTE D2D1_SVG_PATH_COMMAND_MOVE_ABSOLUTE

The render target uses hardware rendering only.

dd756630 D2D1_SVG_PATH_COMMAND_MOVE_RELATIVE D2D1_SVG_PATH_COMMAND_MOVE_RELATIVE
No documentation. dd756630 D2D1_SVG_PATH_COMMAND_LINE_ABSOLUTE D2D1_SVG_PATH_COMMAND_LINE_ABSOLUTE No documentation. dd756630 D2D1_SVG_PATH_COMMAND_LINE_RELATIVE D2D1_SVG_PATH_COMMAND_LINE_RELATIVE No documentation. dd756630 D2D1_SVG_PATH_COMMAND_CUBIC_ABSOLUTE D2D1_SVG_PATH_COMMAND_CUBIC_ABSOLUTE No documentation. dd756630 D2D1_SVG_PATH_COMMAND_CUBIC_RELATIVE D2D1_SVG_PATH_COMMAND_CUBIC_RELATIVE No documentation. dd756630 D2D1_SVG_PATH_COMMAND_QUADRADIC_ABSOLUTE D2D1_SVG_PATH_COMMAND_QUADRADIC_ABSOLUTE No documentation. dd756630 D2D1_SVG_PATH_COMMAND_QUADRADIC_RELATIVE D2D1_SVG_PATH_COMMAND_QUADRADIC_RELATIVE No documentation. dd756630 D2D1_SVG_PATH_COMMAND_ARC_ABSOLUTE D2D1_SVG_PATH_COMMAND_ARC_ABSOLUTE No documentation. dd756630 D2D1_SVG_PATH_COMMAND_ARC_RELATIVE D2D1_SVG_PATH_COMMAND_ARC_RELATIVE No documentation. dd756630 D2D1_SVG_PATH_COMMAND_HORIZONTAL_ABSOLUTE D2D1_SVG_PATH_COMMAND_HORIZONTAL_ABSOLUTE No documentation. dd756630 D2D1_SVG_PATH_COMMAND_HORIZONTAL_RELATIVE D2D1_SVG_PATH_COMMAND_HORIZONTAL_RELATIVE No documentation. dd756630 D2D1_SVG_PATH_COMMAND_VERTICAL_ABSOLUTE D2D1_SVG_PATH_COMMAND_VERTICAL_ABSOLUTE No documentation. dd756630 D2D1_SVG_PATH_COMMAND_VERTICAL_RELATIVE D2D1_SVG_PATH_COMMAND_VERTICAL_RELATIVE No documentation. dd756630 D2D1_SVG_PATH_COMMAND_CUBIC_SMOOTH_ABSOLUTE D2D1_SVG_PATH_COMMAND_CUBIC_SMOOTH_ABSOLUTE No documentation. dd756630 D2D1_SVG_PATH_COMMAND_CUBIC_SMOOTH_RELATIVE D2D1_SVG_PATH_COMMAND_CUBIC_SMOOTH_RELATIVE No documentation. dd756630 D2D1_SVG_PATH_COMMAND_QUADRADIC_SMOOTH_ABSOLUTE D2D1_SVG_PATH_COMMAND_QUADRADIC_SMOOTH_ABSOLUTE No documentation. dd756630 D2D1_SVG_PATH_COMMAND_QUADRADIC_SMOOTH_RELATIVE D2D1_SVG_PATH_COMMAND_QUADRADIC_SMOOTH_RELATIVE

Describes whether a render target uses hardware or software rendering, or if Direct2D should select the rendering mode.

Not every render target supports hardware rendering. For more information, see the Render Targets Overview.

dd756630 D2D1_SVG_UNIT_TYPE D2D1_SVG_UNIT_TYPE

The render target uses hardware rendering, if available; otherwise, it uses software rendering.

dd756630 D2D1_SVG_UNIT_TYPE_USER_SPACE_ON_USE D2D1_SVG_UNIT_TYPE_USER_SPACE_ON_USE

The render target uses software rendering only.

dd756630 D2D1_SVG_UNIT_TYPE_OBJECT_BOUNDING_BOX D2D1_SVG_UNIT_TYPE_OBJECT_BOUNDING_BOX

Defines options that should be applied to the color space.

hh446992 D2D1_SVG_VISIBILITY D2D1_SVG_VISIBILITY

The color space is otherwise described, such as with a color profile.

hh446992 D2D1_SVG_VISIBILITY_VISIBLE D2D1_SVG_VISIBILITY_VISIBLE

The color space is sRGB.

hh446992 D2D1_SVG_VISIBILITY_HIDDEN D2D1_SVG_VISIBILITY_HIDDEN

Defines the direction that an elliptical arc is drawn.

dd368166 D2D1_SWEEP_DIRECTION D2D1_SWEEP_DIRECTION

Arcs are drawn in a counterclockwise (negative-angle) direction.

dd368166 D2D1_SWEEP_DIRECTION_COUNTER_CLOCKWISE D2D1_SWEEP_DIRECTION_COUNTER_CLOCKWISE

Arcs are drawn in a clockwise (positive-angle) direction.

dd368166 D2D1_SWEEP_DIRECTION_CLOCKWISE D2D1_SWEEP_DIRECTION_CLOCKWISE

Identifiers for properties of the Table transfer effect.

dn934268 D2D1_TABLETRANSFER_PROP D2D1_TABLETRANSFER_PROP
No documentation. dn934268 D2D1_TABLETRANSFER_PROP_RED_TABLE D2D1_TABLETRANSFER_PROP_RED_TABLE No documentation. dn934268 D2D1_TABLETRANSFER_PROP_RED_DISABLE D2D1_TABLETRANSFER_PROP_RED_DISABLE No documentation. dn934268 D2D1_TABLETRANSFER_PROP_GREEN_TABLE D2D1_TABLETRANSFER_PROP_GREEN_TABLE No documentation. dn934268 D2D1_TABLETRANSFER_PROP_GREEN_DISABLE D2D1_TABLETRANSFER_PROP_GREEN_DISABLE No documentation. dn934268 D2D1_TABLETRANSFER_PROP_BLUE_TABLE D2D1_TABLETRANSFER_PROP_BLUE_TABLE No documentation. dn934268 D2D1_TABLETRANSFER_PROP_BLUE_DISABLE D2D1_TABLETRANSFER_PROP_BLUE_DISABLE No documentation. dn934268 D2D1_TABLETRANSFER_PROP_ALPHA_TABLE D2D1_TABLETRANSFER_PROP_ALPHA_TABLE No documentation. dn934268 D2D1_TABLETRANSFER_PROP_ALPHA_DISABLE D2D1_TABLETRANSFER_PROP_ALPHA_DISABLE No documentation. dn934268 D2D1_TABLETRANSFER_PROP_CLAMP_OUTPUT D2D1_TABLETRANSFER_PROP_CLAMP_OUTPUT

Identifiers for properties of the Temperature and Tint effect.

dn890749 D2D1_TEMPERATUREANDTINT_PROP D2D1_TEMPERATUREANDTINT_PROP
No documentation. dn890749 D2D1_TEMPERATUREANDTINT_PROP_TEMPERATURE D2D1_TEMPERATUREANDTINT_PROP_TEMPERATURE No documentation. dn890749 D2D1_TEMPERATUREANDTINT_PROP_TINT D2D1_TEMPERATUREANDTINT_PROP_TINT

Describes the antialiasing mode used for drawing text.

This enumeration is used with the SetTextAntialiasMode of an to specify how text and glyphs are antialiased.

By default, Direct2D renders text in ClearType mode. Factors that can downgrade the default quality to grayscale or aliased:

  • If the value is , then the default text antialiasing mode is aliased. To change the DirectWrite rendering mode of an , use the method.
  • If the value is , then the default text antialiasing mode is grayscale.
  • If the render target has an alpha channel and is not set to , then the default text antialiasing mode is grayscale.
  • If is called without (and the corresponding PopLayer has not been called yet), then the default text antialiasing mode is grayscale.
dd368170 D2D1_TEXT_ANTIALIAS_MODE D2D1_TEXT_ANTIALIAS_MODE

Use the system default. See Remarks.

dd368170 D2D1_TEXT_ANTIALIAS_MODE_DEFAULT D2D1_TEXT_ANTIALIAS_MODE_DEFAULT

Use ClearType antialiasing.

dd368170 D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE

Use grayscale antialiasing.

dd368170 D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE

Do not use antialiasing.

dd368170 D2D1_TEXT_ANTIALIAS_MODE_ALIASED D2D1_TEXT_ANTIALIAS_MODE_ALIASED

Specifies the threading mode used while simultaneously creating the device, factory, and device context.

hh447020 D2D1_THREADING_MODE D2D1_THREADING_MODE

Resources may only be invoked serially. Device context state is not protected from multi-threaded access.

hh447020 D2D1_THREADING_MODE_SINGLE_THREADED D2D1_THREADING_MODE_SINGLE_THREADED

Resources may be invoked from multiple threads. Resources use interlocked reference counting and their state is protected.

hh447020 D2D1_THREADING_MODE_MULTI_THREADED D2D1_THREADING_MODE_MULTI_THREADED

Identifiers for properties of the Tile effect.

dn934269 D2D1_TILE_PROP D2D1_TILE_PROP
No documentation. dn934269 D2D1_TILE_PROP_RECT D2D1_TILE_PROP_RECT

This effect tints the source image by multiplying the source image by the specified color. It has a single input.

The CLSID for this effect is .

mt745077 D2D1_TINT_PROP D2D1_TINT_PROP
No documentation. mt745077 D2D1_TINT_PROP_COLOR D2D1_TINT_PROP_COLOR No documentation. mt745077 D2D1_TINT_PROP_CLAMP_OUTPUT D2D1_TINT_PROP_CLAMP_OUTPUT

The interpolation mode the 3D transform effect uses on the image. There are 5 scale modes that range in quality and speed.

dn934209 D2D1_3DTRANSFORM_INTERPOLATION_MODE D2D1_3DTRANSFORM_INTERPOLATION_MODE
No documentation. dn934209 D2D1_3DTRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR D2D1_3DTRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR No documentation. dn934209 D2D1_3DTRANSFORM_INTERPOLATION_MODE_LINEAR D2D1_3DTRANSFORM_INTERPOLATION_MODE_LINEAR No documentation. dn934209 D2D1_3DTRANSFORM_INTERPOLATION_MODE_CUBIC D2D1_3DTRANSFORM_INTERPOLATION_MODE_CUBIC No documentation. dn934209 D2D1_3DTRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR D2D1_3DTRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR No documentation. dn934209 D2D1_3DTRANSFORM_INTERPOLATION_MODE_ANISOTROPIC D2D1_3DTRANSFORM_INTERPOLATION_MODE_ANISOTROPIC

Identifiers for properties of the 3D transform effect.

dn934210 D2D1_3DTRANSFORM_PROP D2D1_3DTRANSFORM_PROP
No documentation. dn934210 D2D1_3DTRANSFORM_PROP_INTERPOLATION_MODE D2D1_3DTRANSFORM_PROP_INTERPOLATION_MODE No documentation. dn934210 D2D1_3DTRANSFORM_PROP_BORDER_MODE D2D1_3DTRANSFORM_PROP_BORDER_MODE No documentation. dn934210 D2D1_3DTRANSFORM_PROP_TRANSFORM_MATRIX D2D1_3DTRANSFORM_PROP_TRANSFORM_MATRIX

Option flags for transformed image sources.

dn934270 D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS

No option flags.

dn934270 D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS_NONE D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS_NONE

Prevents the image source from being automatically scaled (by a ratio of the context DPI divided by 96) while drawn.

dn934270 D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS_DISABLE_DPI_SCALE D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS_DISABLE_DPI_SCALE

The turbulence noise mode for the Turbulence effect. Indicates whether to generate a bitmap based on Fractal Noise or the Turbulence function.

dn934353 D2D1_TURBULENCE_NOISE D2D1_TURBULENCE_NOISE
No documentation. dn934353 D2D1_TURBULENCE_NOISE_FRACTAL_SUM D2D1_TURBULENCE_NOISE_FRACTAL_SUM No documentation. dn934353 D2D1_TURBULENCE_NOISE_TURBULENCE D2D1_TURBULENCE_NOISE_TURBULENCE

Identifiers for properties of the Turbulence effect.

dn934355 D2D1_TURBULENCE_PROP D2D1_TURBULENCE_PROP
No documentation. dn934355 D2D1_TURBULENCE_PROP_OFFSET D2D1_TURBULENCE_PROP_OFFSET No documentation. dn934355 D2D1_TURBULENCE_PROP_SIZE D2D1_TURBULENCE_PROP_SIZE No documentation. dn934355 D2D1_TURBULENCE_PROP_BASE_FREQUENCY D2D1_TURBULENCE_PROP_BASE_FREQUENCY No documentation. dn934355 D2D1_TURBULENCE_PROP_NUM_OCTAVES D2D1_TURBULENCE_PROP_NUM_OCTAVES No documentation. dn934355 D2D1_TURBULENCE_PROP_SEED D2D1_TURBULENCE_PROP_SEED No documentation. dn934355 D2D1_TURBULENCE_PROP_NOISE D2D1_TURBULENCE_PROP_NOISE No documentation. dn934355 D2D1_TURBULENCE_PROP_STITCHABLE D2D1_TURBULENCE_PROP_STITCHABLE

Specifies how units in Direct2D will be interpreted.

Setting the unit mode to is similar to setting the dots per inch (dpi) to 96. However, Direct2D still checks the dpi to determine the threshold for enabling vertical antialiasing for text, and when the unit mode is restored, the dpi will be remembered.

hh447022 D2D1_UNIT_MODE D2D1_UNIT_MODE

Units will be interpreted as device-independent pixels (1/96").

hh447022 D2D1_UNIT_MODE_DIPS D2D1_UNIT_MODE_DIPS

Units will be interpreted as pixels.

hh447022 D2D1_UNIT_MODE_PIXELS D2D1_UNIT_MODE_PIXELS

Describes flags that influence how the renderer interacts with a custom vertex shader.

hh404332 D2D1_VERTEX_OPTIONS D2D1_VERTEX_OPTIONS

The logical equivalent of having no flags set.

hh404332 D2D1_VERTEX_OPTIONS_NONE D2D1_VERTEX_OPTIONS_NONE

If this flag is set, the renderer assumes that the vertex shader will cover the entire region of interest with vertices and need not clear the destination render target. If this flag is not set, the renderer assumes that the vertices do not cover the entire region interest and must clear the render target to transparent black first.

hh404332 D2D1_VERTEX_OPTIONS_DO_NOT_CLEAR D2D1_VERTEX_OPTIONS_DO_NOT_CLEAR

The renderer will use a depth buffer when rendering custom vertices. The depth buffer will be used for calculating occlusion information. This can result in the renderer output being draw-order dependent if it contains transparency.

hh404332 D2D1_VERTEX_OPTIONS_USE_DEPTH_BUFFER D2D1_VERTEX_OPTIONS_USE_DEPTH_BUFFER

Indicates that custom vertices do not overlap each other.

hh404332 D2D1_VERTEX_OPTIONS_ASSUME_NO_OVERLAP D2D1_VERTEX_OPTIONS_ASSUME_NO_OVERLAP

Indicates whether the vertex buffer changes infrequently or frequently.

If a dynamic vertex buffer is created, Direct2D will not necessarily map the buffer directly to a Direct3D vertex buffer. Instead, a system memory copy can be copied to the rendering engine vertex buffer as the effects are rendered.

hh404337 D2D1_VERTEX_USAGE D2D1_VERTEX_USAGE

The created vertex buffer is updated infrequently.

hh404337 D2D1_VERTEX_USAGE_STATIC D2D1_VERTEX_USAGE_STATIC

The created vertex buffer is changed frequently.

hh404337 D2D1_VERTEX_USAGE_DYNAMIC D2D1_VERTEX_USAGE_DYNAMIC

Identifiers for properties of the Vignette effect.

dn890750 D2D1_VIGNETTE_PROP D2D1_VIGNETTE_PROP
No documentation. dn890750 D2D1_VIGNETTE_PROP_COLOR D2D1_VIGNETTE_PROP_COLOR No documentation. dn890750 D2D1_VIGNETTE_PROP_TRANSITION_SIZE D2D1_VIGNETTE_PROP_TRANSITION_SIZE No documentation. dn890750 D2D1_VIGNETTE_PROP_STRENGTH D2D1_VIGNETTE_PROP_STRENGTH

Describes whether a window is occluded.

If the window was occluded the last time EndDraw was called, the next time the render target calls CheckWindowState, it returns regardless of the current window state. If you want to use CheckWindowState to check the current window state, call CheckWindowState after every EndDraw call and ignore its return value. This will ensure that your next call to CheckWindowState state returns the actual window state.

dd368174 D2D1_WINDOW_STATE D2D1_WINDOW_STATE

The window is not occluded.

dd368174 D2D1_WINDOW_STATE_NONE D2D1_WINDOW_STATE_NONE

The window is occluded.

dd368174 D2D1_WINDOW_STATE_OCCLUDED D2D1_WINDOW_STATE_OCCLUDED

Specifies the chroma subsampling of the input chroma image used by the YCbCr effect.

dn934357 D2D1_YCBCR_CHROMA_SUBSAMPLING D2D1_YCBCR_CHROMA_SUBSAMPLING
No documentation. dn934357 D2D1_YCBCR_CHROMA_SUBSAMPLING_AUTO D2D1_YCBCR_CHROMA_SUBSAMPLING_AUTO No documentation. dn934357 D2D1_YCBCR_CHROMA_SUBSAMPLING_420 D2D1_YCBCR_CHROMA_SUBSAMPLING_420 No documentation. dn934357 D2D1_YCBCR_CHROMA_SUBSAMPLING_422 D2D1_YCBCR_CHROMA_SUBSAMPLING_422 No documentation. dn934357 D2D1_YCBCR_CHROMA_SUBSAMPLING_444 D2D1_YCBCR_CHROMA_SUBSAMPLING_444 No documentation. dn934357 D2D1_YCBCR_CHROMA_SUBSAMPLING_440 D2D1_YCBCR_CHROMA_SUBSAMPLING_440

Specifies the interpolation mode for the YCbCr effect.

dn934359 D2D1_YCBCR_INTERPOLATION_MODE D2D1_YCBCR_INTERPOLATION_MODE
No documentation. dn934359 D2D1_YCBCR_INTERPOLATION_MODE_NEAREST_NEIGHBOR D2D1_YCBCR_INTERPOLATION_MODE_NEAREST_NEIGHBOR No documentation. dn934359 D2D1_YCBCR_INTERPOLATION_MODE_LINEAR D2D1_YCBCR_INTERPOLATION_MODE_LINEAR No documentation. dn934359 D2D1_YCBCR_INTERPOLATION_MODE_CUBIC D2D1_YCBCR_INTERPOLATION_MODE_CUBIC No documentation. dn934359 D2D1_YCBCR_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR D2D1_YCBCR_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR No documentation. dn934359 D2D1_YCBCR_INTERPOLATION_MODE_ANISOTROPIC D2D1_YCBCR_INTERPOLATION_MODE_ANISOTROPIC No documentation. dn934359 D2D1_YCBCR_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC D2D1_YCBCR_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC

Identifiers for properties of the YCbCr effect.

dn934361 D2D1_YCBCR_PROP D2D1_YCBCR_PROP
No documentation. dn934361 D2D1_YCBCR_PROP_CHROMA_SUBSAMPLING D2D1_YCBCR_PROP_CHROMA_SUBSAMPLING No documentation. dn934361 D2D1_YCBCR_PROP_TRANSFORM_MATRIX D2D1_YCBCR_PROP_TRANSFORM_MATRIX No documentation. dn934361 D2D1_YCBCR_PROP_INTERPOLATION_MODE D2D1_YCBCR_PROP_INTERPOLATION_MODE Functions Constant WrongState. D2DERR_WRONG_STATE Constant NotInitializeD. D2DERR_NOT_INITIALIZED Constant UnsupportedOperation. D2DERR_UNSUPPORTED_OPERATION Constant ScannerFailed. D2DERR_SCANNER_FAILED Constant ScreenAccessDenied. D2DERR_SCREEN_ACCESS_DENIED Constant DisplayStateInvalid. D2DERR_DISPLAY_STATE_INVALID Constant ZeroVector. D2DERR_ZERO_VECTOR Constant InternalError. D2DERR_INTERNAL_ERROR Constant DisplayFormatNotSupported. D2DERR_DISPLAY_FORMAT_NOT_SUPPORTED Constant InvalidCall. D2DERR_INVALID_CALL Constant NoHardwareDevice. D2DERR_NO_HARDWARE_DEVICE Constant RecreateTarget. D2DERR_RECREATE_TARGET Constant TooManyShaderElements. D2DERR_TOO_MANY_SHADER_ELEMENTS Constant ShaderCompileFailed. D2DERR_SHADER_COMPILE_FAILED Constant MaximumTextureSizeExceeded. D2DERR_MAX_TEXTURE_SIZE_EXCEEDED Constant UnsupportedVersion. D2DERR_UNSUPPORTED_VERSION Constant BadNumber. D2DERR_BAD_NUMBER Constant WrongFactory. D2DERR_WRONG_FACTORY Constant LayerAlreadyInUse. D2DERR_LAYER_ALREADY_IN_USE Constant PopCallDidNotMatchPush. D2DERR_POP_CALL_DID_NOT_MATCH_PUSH Constant WrongResourceDomain. D2DERR_WRONG_RESOURCE_DOMAIN Constant PushPopUnbalanced. D2DERR_PUSH_POP_UNBALANCED Constant RenderTargetHasLayerOrCliprect. D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT Constant IncompatibleBrushTypes. D2DERR_INCOMPATIBLE_BRUSH_TYPES Constant Win32Error. D2DERR_WIN32_ERROR Constant TargetNotGdiCompatible. D2DERR_TARGET_NOT_GDI_COMPATIBLE Constant TextEffectIsWrongType. D2DERR_TEXT_EFFECT_IS_WRONG_TYPE Constant TextRendererNotReleased. D2DERR_TEXT_RENDERER_NOT_RELEASED Constant ExceedsMaximumBitmapSize. D2DERR_EXCEEDS_MAX_BITMAP_SIZE Constant InvalidGraphConfiguration. D2DERR_INVALID_GRAPH_CONFIGURATION Constant InvalidInternalGraphConfiguration. D2DERR_INVALID_INTERNAL_GRAPH_CONFIGURATION Constant CyclicGraph. D2DERR_CYCLIC_GRAPH Constant BitmapCannotDraw. D2DERR_BITMAP_CANNOT_DRAW Constant OutstandingBitmapReferences. D2DERR_OUTSTANDING_BITMAP_REFERENCES Constant OriginalTargetNotBound. D2DERR_ORIGINAL_TARGET_NOT_BOUND Constant InvalidTarget. D2DERR_INVALID_TARGET Constant BitmapBoundAsTarget. D2DERR_BITMAP_BOUND_AS_TARGET Constant InsufficientDeviceCapabilities. D2DERR_INSUFFICIENT_DEVICE_CAPABILITIES Constant IntermediateTooLarge. D2DERR_INTERMEDIATE_TOO_LARGE Constant EffectIsNotRegistered. D2DERR_EFFECT_IS_NOT_REGISTERED Constant InvalidProperty. D2DERR_INVALID_PROPERTY Constant NoSubProperties. D2DERR_NO_SUBPROPERTIES Constant PrintJobClosed. D2DERR_PRINT_JOB_CLOSED Constant PrintFormatNotSupported. D2DERR_PRINT_FORMAT_NOT_SUPPORTED Constant TooManyTransformInputs. D2DERR_TOO_MANY_TRANSFORM_INPUTS Constant InvalidGlyphImage. D2DERR_INVALID_GLYPH_IMAGE Constant UnsupportedPixelFormat. D2DERR_UNSUPPORTED_PIXEL_FORMAT Constant InsufficientBuffer. D2DERR_INSUFFICIENT_BUFFER Constant FileNotFound. D2DERR_FILE_NOT_FOUND

Defines an object that paints an area. Interfaces that derive from describe how the area is painted.

An is a device-dependent resource: your application should create bitmap brushes after it initializes the render target with which the bitmap brush will be used, and recreate the bitmap brush whenever the render target needs recreated. (For more information about resources, see Resources Overview.)

Brush space in Direct2D is specified differently than in XPS and Windows Presentation Foundation (WPF). In Direct2D, brush space is not relative to the object being drawn, but rather is the current coordinate system of the render target, transformed by the brush transform, if present. To paint an object as it would be painted by a WPF brush, you must translate the brush space origin to the upper-left corner of the object's bounding box, and then scale the brush space so that the base tile fills the bounding box of the object.

For more information about brushes, see the Brushes Overview.

dd371173 ID2D1Brush ID2D1Brush
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets or sets the degree of opacity of this brush.

dd371176 GetOpacity / SetOpacity GetOpacity float ID2D1Brush::GetOpacity()

Gets or sets the transform applied to this brush.

When the brush transform is the identity matrix, the brush appears in the same coordinate space as the render target in which it is drawn.

dd371179 GetTransform / SetTransform GetTransform void ID2D1Brush::GetTransform([Out] D2D_MATRIX_3X2_F* transform)

Sets the degree of opacity of this brush.

A value between zero and 1 that indicates the opacity of the brush. This value is a constant multiplier that linearly scales the alpha value of all pixels filled by the brush. The opacity values are clamped in the range 0?1 before they are multipled together.

dd371181 void ID2D1Brush::SetOpacity([In] float opacity) ID2D1Brush::SetOpacity

Sets the transformation applied to the brush.

The transformation to apply to this brush.

When you paint with a brush, it paints in the coordinate space of the render target. Brushes do not automatically position themselves to align with the object being painted; by default, they begin painting at the origin (0, 0) of the render target.

You can "move" the gradient defined by an to a target area by setting its start point and end point. Likewise, you can move the gradient defined by an by changing its center and radii.

To align the content of an to the area being painted, you can use the SetTransform method to translate the bitmap to the desired location. This transform only affects the brush; it does not affect any other content drawn by the render target.

The following illustrations show the effect of using an to fill a rectangle located at (100, 100). The illustration on the left illustration shows the result of filling the rectangle without transforming the brush: the bitmap is drawn at the render target's origin. As a result, only a portion of the bitmap appears in the rectangle.

The illustration on the right shows the result of transforming the so that its content is shifted 50 pixels to the right and 50 pixels down. The bitmap now fills the rectangle.

dd371186 void ID2D1Brush::SetTransform([In] const D2D_MATRIX_3X2_F* transform) ID2D1Brush::SetTransform

Gets the degree of opacity of this brush.

A value between zero and 1 that indicates the opacity of the brush. This value is a constant multiplier that linearly scales the alpha value of all pixels filled by the brush. The opacity values are clamped in the range 0?1 before they are multipled together.

dd371176 float ID2D1Brush::GetOpacity() ID2D1Brush::GetOpacity

Gets the transform applied to this brush.

The transform applied to this brush.

When the brush transform is the identity matrix, the brush appears in the same coordinate space as the render target in which it is drawn.

dd371179 void ID2D1Brush::GetTransform([Out] D2D_MATRIX_3X2_F* transform) ID2D1Brush::GetTransform

Represents the set of transforms implemented by the effect-rendering system, which provides fixed-functionality.

hh404452 ID2D1ConcreteTransform ID2D1ConcreteTransform
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Sets the properties of the output buffer of the specified transform node.

The number of bits and the type of the output buffer.

The number of channels in the output buffer (1 or 4).

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_INVALIDARGOne or more arguments are not valid

?

You can use the method to see if buffer precision is supported.

The available channel depth and precision depend on the capabilities of the underlying Microsoft Direct3D device.

hh404456 HRESULT ID2D1ConcreteTransform::SetOutputBuffer([In] D2D1_BUFFER_PRECISION bufferPrecision,[In] D2D1_CHANNEL_DEPTH channelDepth) ID2D1ConcreteTransform::SetOutputBuffer

Sets whether the output of the specified transform is cached.

TRUE if the output should be cached; otherwise, .

hh404454 void ID2D1ConcreteTransform::SetCached([In] BOOL isCached) ID2D1ConcreteTransform::SetCached

Provides factory methods and other state management for effect and transform authors.

dn949338 ID2D1EffectContext1 ID2D1EffectContext1
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Creates a 3D lookup table for mapping a 3-channel input to a 3-channel output. The table data must be provided in 4-channel format.

Precision of the input lookup table data.

Number of lookup table elements per dimension (X, Y, Z).

Buffer holding the lookup table data.

Size of the lookup table data buffer.

An array containing two values. The first value is the size in bytes from one row (X dimension) of LUT data to the next. The second value is the size in bytes from one LUT data plane (X and Y dimensions) to the next.

Receives the new lookup table instance.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn949339 HRESULT ID2D1EffectContext1::CreateLookupTable3D([In] D2D1_BUFFER_PRECISION precision,[In, Buffer] const unsigned int* extents,[In, Buffer] const unsigned char* data,[In] unsigned int dataCount,[In, Buffer] const unsigned int* strides,[Out] ID2D1LookupTable3D** lookupTable) ID2D1EffectContext1::CreateLookupTable3D
No documentation. ID2D1EffectContext2 ID2D1EffectContext2 Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion. No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1EffectContext2::CreateColorContextFromDxgiColorSpace([In] DXGI_COLOR_SPACE_TYPE colorSpace,[Out, Fast] ID2D1ColorContext1** colorContext) ID2D1EffectContext2::CreateColorContextFromDxgiColorSpace No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1EffectContext2::CreateColorContextFromSimpleColorProfile([In] const D2D1_SIMPLE_COLOR_PROFILE* simpleProfile,[Out, Fast] ID2D1ColorContext1** colorContext) ID2D1EffectContext2::CreateColorContextFromSimpleColorProfile

Creates Direct2D resources. This interface also enables the creation of objects.

dn900394 ID2D1Factory3 ID2D1Factory3
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Creates an object.

No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn900395 HRESULT ID2D1Factory3::CreateDevice([In] IDXGIDevice* dxgiDevice,[Out, Fast] ID2D1Device2** d2dDevice2) ID2D1Factory3::CreateDevice

Creates Direct2D resources. This interface also enables the creation of objects.

mt619831 ID2D1Factory4 ID2D1Factory4
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Creates an object.

No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

mt619832 HRESULT ID2D1Factory4::CreateDevice([In] IDXGIDevice* dxgiDevice,[Out, Fast] ID2D1Device3** d2dDevice3) ID2D1Factory4::CreateDevice

Creates Direct2D resources. This interface also enables the creation of objects.

mt750191 ID2D1Factory5 ID2D1Factory5
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Creates an object.

No documentation. No documentation.

This method returns an success or error code.

mt750192 HRESULT ID2D1Factory5::CreateDevice([In] IDXGIDevice* dxgiDevice,[Out, Fast] ID2D1Device4** d2dDevice4) ID2D1Factory5::CreateDevice

Creates Direct2D resources.

The interface is the starting point for using Direct2D; it's what you use to create other Direct2D resources that you can use to draw or describe shapes.

A factory defines a set of CreateResource methods that can produce the following drawing resources:

  • Render targets: objects that render drawing commands.
  • Drawing state blocks: objects that store drawing state information, such as the current transformation and antialiasing mode.
  • Geometries: objects that represent simple and potentially complex shapes.

To create an , you use one of the CreateFactory methods. You should retain the instance for as long as you use Direct2D resources; in general, you shouldn't need to recreate it when the application is running. For more information about Direct2D resources, see the Resources Overview.

dd371246 ID2D1Factory6 ID2D1Factory6
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Creates Direct2D resources.

No documentation. No documentation. No documentation.

The interface is the starting point for using Direct2D; it's what you use to create other Direct2D resources that you can use to draw or describe shapes.

A factory defines a set of CreateResource methods that can produce the following drawing resources:

  • Render targets: objects that render drawing commands.
  • Drawing state blocks: objects that store drawing state information, such as the current transformation and antialiasing mode.
  • Geometries: objects that represent simple and potentially complex shapes.

To create an , you use one of the CreateFactory methods. You should retain the instance for as long as you use Direct2D resources; in general, you shouldn't need to recreate it when the application is running. For more information about Direct2D resources, see the Resources Overview.

dd371246 HRESULT ID2D1Factory6::CreateDevice([In] IDXGIDevice* dxgiDevice,[Out, Fast] ID2D1Device5** d2dDevice5) ID2D1Factory6::CreateDevice

A Direct2D resource that wraps a WMF, EMF, or EMF+ metafile.

hh871460 ID2D1GdiMetafile ID2D1GdiMetafile
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the bounds of the metafile, in device-independent pixels (DIPs), as reported in the metafile?s header.

hh871463 GetBounds GetBounds HRESULT ID2D1GdiMetafile::GetBounds([Out] D2D_RECT_F* bounds)

This method streams the contents of the command to the given metafile sink.

The sink into which Direct2D will call back.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.

?

hh871464 HRESULT ID2D1GdiMetafile::Stream([In] ID2D1GdiMetafileSink* sink) ID2D1GdiMetafile::Stream

Gets the bounds of the metafile, in device-independent pixels (DIPs), as reported in the metafile?s header.

The bounds, in DIPs, of the metafile.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.

?

hh871463 HRESULT ID2D1GdiMetafile::GetBounds([Out] D2D_RECT_F* bounds) ID2D1GdiMetafile::GetBounds

This interface performs all the same functions as the existing interface. It also enables accessing the metafile DPI and bounds.

dn900400 ID2D1GdiMetafile1 ID2D1GdiMetafile1
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the bounds of the metafile in source space in DIPs. This corresponds to the frame rect in an EMF/EMF+.

dn900402 GetSourceBounds GetSourceBounds HRESULT ID2D1GdiMetafile1::GetSourceBounds([Out] D2D_RECT_F* bounds)

Gets the DPI reported by the metafile.

Receives the horizontal DPI reported by the metafile.

Receives the vertical DPI reported by the metafile.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn900401 HRESULT ID2D1GdiMetafile1::GetDpi([Out] float* dpiX,[Out] float* dpiY) ID2D1GdiMetafile1::GetDpi

Gets the bounds of the metafile in source space in DIPs. This corresponds to the frame rect in an EMF/EMF+.

The bounds, in DIPs, of the metafile.

if successful, otherwise a failure .

dn900402 HRESULT ID2D1GdiMetafile1::GetSourceBounds([Out] D2D_RECT_F* bounds) ID2D1GdiMetafile1::GetSourceBounds

A developer implemented interface that allows a metafile to be replayed.

hh871461 ID2D1GdiMetafileSink ID2D1GdiMetafileSink

This interface performs all the same functions as the existing interface. It also enables access to metafile records.

dn900403 ID2D1GdiMetafileSink1 ID2D1GdiMetafileSink1

This interface performs all the same functions as the existing interface. It also enables access to metafile records.

dn900403 ID2D1GdiMetafileSink1 ID2D1GdiMetafileSink1
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Provides access to metafile records, including their type, data, and flags.

The type of metafile record being processed. Please see MS-EMF and MS-EMFPLUS for a list of record types.

The data contained in this record. Please see MS-EMF and MS-EMFPLUS for information on record data layouts.

TThe size of the data pointed to by recordData.

The set of flags set for this record. Please see MS-EMF and MS-EMFPLUS for information on record flags.

if successful, otherwise a failure .

For details on the EMF and EMF+ formats, please see Microsoft technical documents MS-EMF and MS-EMFPLUS.

dn900404 HRESULT ID2D1GdiMetafileSink1::ProcessRecord([In] unsigned int recordType,[In, Optional] const void* recordData,[In] unsigned int recordDataSize,[In] unsigned int flags) ID2D1GdiMetafileSink1::ProcessRecord

A developer implemented interface that allows a metafile to be replayed.

hh871461 ID2D1GdiMetafileSink ID2D1GdiMetafileSink
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

This method is called once for each record stored in a metafile.

The type of the record.

The data for the record.

The byte size of the record data.

Return true if the record is successfully.

hh871462 HRESULT ID2D1GdiMetafileSink::ProcessRecord([In] unsigned int recordType,[In, Optional] const void* recordData,[In] unsigned int recordDataSize) ID2D1GdiMetafileSink::ProcessRecord

Represents a geometry resource and defines a set of helper methods for manipulating and measuring geometric shapes. Interfaces that inherit from define specific shapes.

There are several types of Direct2D geometry objects: a simple geometry (, , or ), a path geometry (), or a composite geometry ( and ).

Direct2D geometries enable you to describe two-dimensional figures and also offer many uses, such as defining hit-test regions, clip regions, and even animation paths.

Direct2D geometries are immutable and device-independent resources created by . In general, you should create geometries once and retain them for the life of the application, or until they need to be modified. For more information about device-independent and device-dependent resources, see the Resources Overview.

dd316578 ID2D1Geometry ID2D1Geometry
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion. Retrieves the bounds of the geometry. No documentation. No documentation. dd742751 HRESULT ID2D1Geometry::GetBounds([In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[Out] D2D_RECT_F* bounds) ID2D1Geometry::GetBounds

Gets the bounds of the geometry after it has been widened by the specified stroke width and style and transformed by the specified matrix.

The amount by which to widen the geometry by stroking its outline.

The style of the stroke that widens the geometry.

A transform to apply to the geometry after the geometry is transformed and after the geometry has been stroked.

When this method returns, contains the bounds of the widened geometry. You must allocate storage for this parameter.

When this method returns, contains the bounds of the widened geometry. You must allocate storage for this parameter.

dd316714 HRESULT ID2D1Geometry::GetWidenedBounds([In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out] D2D_RECT_F* bounds) ID2D1Geometry::GetWidenedBounds

Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform.

The point to test for containment.

The thickness of the stroke to apply.

The style of stroke to apply.

The transform to apply to the stroked geometry.

The numeric accuracy with which the precise geometric path and path intersection is calculated. Points missing the stroke by less than the tolerance are still considered inside. Smaller values produce more accurate results but cause slower execution.

When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter.

dd316744 HRESULT ID2D1Geometry::StrokeContainsPoint([In] D2D_POINT_2F point,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out] BOOL* contains) ID2D1Geometry::StrokeContainsPoint

Indicates whether the area filled by the geometry would contain the specified point given the specified flattening tolerance.

The point to test.

The transform to apply to the geometry prior to testing for containment, or null.

The numeric accuracy with which the precise geometric path and path intersection is calculated. Points missing the fill by less than the tolerance are still considered inside. Smaller values produce more accurate results but cause slower execution.

When this method returns, contains a value that is TRUE if the area filled by the geometry contains point; otherwise, .You must allocate storage for this parameter.

dd316687 HRESULT ID2D1Geometry::FillContainsPoint([In] D2D_POINT_2F point,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out] BOOL* contains) ID2D1Geometry::FillContainsPoint

Describes the intersection between this geometry and the specified geometry. The comparison is performed by using the specified flattening tolerance.

The geometry to test.

The transform to apply to inputGeometry, or null.

The maximum error allowed when constructing a polygonal approximation of the geometry. No point in the polygonal representation will diverge from the original geometry by more than the flattening tolerance. Smaller values produce more accurate results but cause slower execution.

When this method returns, contains a reference to a value that describes how this geometry is related to inputGeometry. You must allocate storage for this parameter.

When interpreting the returned relation value, it is important to remember that the member of the enumeration type means that this geometry is contained inside inputGeometry, not that this geometry contains inputGeometry.

For more information about how to interpret other possible return values, see .

dd316630 HRESULT ID2D1Geometry::CompareWithGeometry([In] ID2D1Geometry* inputGeometry,[In, Optional] const D2D_MATRIX_3X2_F* inputGeometryTransform,[In] float flatteningTolerance,[Out] D2D1_GEOMETRY_RELATION* relation) ID2D1Geometry::CompareWithGeometry

Creates a simplified version of the geometry that contains only lines and (optionally) cubic Bezier curves and writes the result to an .

No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd316730 HRESULT ID2D1Geometry::Simplify([In] D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) ID2D1Geometry::Simplify

Creates a set of clockwise-wound triangles that cover the geometry after it has been transformed using the specified matrix and flattened using the default tolerance.

The transform to apply to this geometry.

The to which the tessellated is appended.

The to which the tessellated is appended.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd316762 HRESULT ID2D1Geometry::Tessellate([In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[In] ID2D1TessellationSink* tessellationSink) ID2D1Geometry::Tessellate

Combines this geometry with the specified geometry and stores the result in an .

No documentation. No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd316617 HRESULT ID2D1Geometry::CombineWithGeometry([In] ID2D1Geometry* inputGeometry,[In] D2D1_COMBINE_MODE combineMode,[In, Optional] const D2D_MATRIX_3X2_F* inputGeometryTransform,[In] float flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) ID2D1Geometry::CombineWithGeometry

Computes the outline of the geometry and writes the result to an .

No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd316722 HRESULT ID2D1Geometry::Outline([In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) ID2D1Geometry::Outline

Computes the area of the geometry after it has been transformed by the specified matrix and flattened using the specified tolerance.

The transform to apply to this geometry before computing its area.

The maximum error allowed when constructing a polygonal approximation of the geometry. No point in the polygonal representation will diverge from the original geometry by more than the flattening tolerance. Smaller values produce more accurate results but cause slower execution.

When this method returns, contains a reference to the area of the transformed, flattened version of this geometry. You must allocate storage for this parameter.

dd316648 HRESULT ID2D1Geometry::ComputeArea([In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out] float* area) ID2D1Geometry::ComputeArea
Calculates the length of the geometry as though each segment were unrolled into a line. No documentation. No documentation. No documentation. dd742744 HRESULT ID2D1Geometry::ComputeLength([In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out] float* length) ID2D1Geometry::ComputeLength

Calculates the point and tangent vector at the specified distance along the geometry after it has been transformed by the specified matrix and flattened using the default tolerance.

The distance along the geometry of the point and tangent to find. If this distance is less then 0, this method calculates the first point in the geometry. If this distance is greater than the length of the geometry, this method calculates the last point in the geometry.

The transform to apply to the geometry before calculating the specified point and tangent.

The location at the specified distance along the geometry. If the geometry is empty, this point contains NaN as its x and y values.

When this method returns, contains a reference to the tangent vector at the specified distance along the geometry. If the geometry is empty, this vector contains NaN as its x and y values. You must allocate storage for this parameter.

The location at the specified distance along the geometry. If the geometry is empty, this point contains NaN as its x and y values.

dd316686 HRESULT ID2D1Geometry::ComputePointAtLength([In] float length,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out, Optional] D2D_POINT_2F* point,[Out, Optional] D2D_POINT_2F* unitTangentVector) ID2D1Geometry::ComputePointAtLength

Widens the geometry by the specified stroke and writes the result to an after it has been transformed by the specified matrix and flattened using the specified tolerance.

No documentation. No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd316766 HRESULT ID2D1Geometry::Widen([In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) ID2D1Geometry::Widen
Default flattening tolerance used for all methods that are not explicitly using it. Default is set to 0.25f. Get or set the default flattening tolerance used for all methods that are not explicitly using it. Default is set to 0.25f. Combines this geometry with the specified geometry and stores the result in an . The geometry to combine with this instance. The type of combine operation to perform. The result of the combine operation. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT CombineWithGeometry([In] ID2D1Geometry* inputGeometry,[None] D2D1_COMBINE_MODE combineMode,[In, Optional] const D2D1_MATRIX_3X2_F* inputGeometryTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) Combines this geometry with the specified geometry and stores the result in an . The geometry to combine with this instance. The type of combine operation to perform. The maximum bounds on the distance between points in the polygonal approximation of the geometries. Smaller values produce more accurate results but cause slower execution. The result of the combine operation. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT CombineWithGeometry([In] ID2D1Geometry* inputGeometry,[None] D2D1_COMBINE_MODE combineMode,[In, Optional] const D2D1_MATRIX_3X2_F* inputGeometryTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) Combines this geometry with the specified geometry and stores the result in an . The geometry to combine with this instance. The type of combine operation to perform. The transform to apply to inputGeometry before combining, or NULL. The maximum bounds on the distance between points in the polygonal approximation of the geometries. Smaller values produce more accurate results but cause slower execution. The result of the combine operation. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT CombineWithGeometry([In] ID2D1Geometry* inputGeometry,[None] D2D1_COMBINE_MODE combineMode,[In, Optional] const D2D1_MATRIX_3X2_F* inputGeometryTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) Describes the intersection between this geometry and the specified geometry. The comparison is performed by using the specified flattening tolerance. When interpreting the returned relation value, it is important to remember that the member of the D2D1_GEOMETRY_RELATION enumeration type means that this geometry is contained inside inputGeometry, not that this geometry contains inputGeometry. For more information about how to interpret other possible return values, see . The geometry to test. When this method returns, contains a reference to a value that describes how this geometry is related to inputGeometry. You must allocate storage for this parameter. HRESULT ID2D1Geometry::CompareWithGeometry([In] ID2D1Geometry* inputGeometry,[In, Optional] const D2D1_MATRIX_3X2_F* inputGeometryTransform,[None] float flatteningTolerance,[Out] D2D1_GEOMETRY_RELATION* relation) Describes the intersection between this geometry and the specified geometry. The comparison is performed by using the specified flattening tolerance. When interpreting the returned relation value, it is important to remember that the member of the D2D1_GEOMETRY_RELATION enumeration type means that this geometry is contained inside inputGeometry, not that this geometry contains inputGeometry. For more information about how to interpret other possible return values, see . The geometry to test. The maximum bounds on the distance between points in the polygonal approximation of the geometries. Smaller values produce more accurate results but cause slower execution. When this method returns, contains a reference to a value that describes how this geometry is related to inputGeometry. You must allocate storage for this parameter. HRESULT ID2D1Geometry::CompareWithGeometry([In] ID2D1Geometry* inputGeometry,[In, Optional] const D2D1_MATRIX_3X2_F* inputGeometryTransform,[None] float flatteningTolerance,[Out] D2D1_GEOMETRY_RELATION* relation) Computes the area of the geometry after it has been transformed by the specified matrix and flattened using the specified tolerance. When this this method returns, contains a reference to the area of the transformed, flattened version of this geometry. You must allocate storage for this parameter. HRESULT ID2D1Geometry::ComputeArea([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] float* area) Computes the area of the geometry after it has been transformed by the specified matrix and flattened using the specified tolerance. The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. When this this method returns, contains a reference to the area of the transformed, flattened version of this geometry. You must allocate storage for this parameter. HRESULT ID2D1Geometry::ComputeArea([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] float* area) Calculates the length of the geometry as though each segment were unrolled into a line. When this method returns, contains a reference to the length of the geometry. For closed geometries, the length includes an implicit closing segment. You must allocate storage for this parameter. HRESULT ID2D1Geometry::ComputeLength([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] float* length) Calculates the length of the geometry as though each segment were unrolled into a line. The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. When this method returns, contains a reference to the length of the geometry. For closed geometries, the length includes an implicit closing segment. You must allocate storage for this parameter. HRESULT ID2D1Geometry::ComputeLength([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] float* length) Calculates the point and tangent vector at the specified distance along the geometry after it has been transformed by the specified matrix and flattened using the specified tolerance. The distance along the geometry of the point and tangent to find. If this distance is less then 0, this method calculates the first point in the geometry. If this distance is greater than the length of the geometry, this method calculates the last point in the geometry. When this method returns, contains a reference to the tangent vector at the specified distance along the geometry. If the geometry is empty, this vector contains NaN as its x and y values. You must allocate storage for this parameter. The location at the specified distance along the geometry. If the geometry is empty, this point contains NaN as its x and y values. HRESULT ID2D1Geometry::ComputePointAtLength([None] float length,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out, Optional] D2D1_POINT_2F* point,[Out, Optional] D2D1_POINT_2F* unitTangentVector) Calculates the point and tangent vector at the specified distance along the geometry after it has been transformed by the specified matrix and flattened using the specified tolerance. The distance along the geometry of the point and tangent to find. If this distance is less then 0, this method calculates the first point in the geometry. If this distance is greater than the length of the geometry, this method calculates the last point in the geometry. The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. When this method returns, contains a reference to the tangent vector at the specified distance along the geometry. If the geometry is empty, this vector contains NaN as its x and y values. You must allocate storage for this parameter. The location at the specified distance along the geometry. If the geometry is empty, this point contains NaN as its x and y values. HRESULT ID2D1Geometry::ComputePointAtLength([None] float length,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out, Optional] D2D1_POINT_2F* point,[Out, Optional] D2D1_POINT_2F* unitTangentVector) Indicates whether the area filled by the geometry would contain the specified point given the specified flattening tolerance. The point to test. When this method returns, contains a bool value that is true if the area filled by the geometry contains point; otherwise, false.You must allocate storage for this parameter. HRESULT ID2D1Geometry::FillContainsPoint([None] D2D1_POINT_2F point,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) Indicates whether the area filled by the geometry would contain the specified point given the specified flattening tolerance. The point to test. When this method returns, contains a bool value that is true if the area filled by the geometry contains point; otherwise, false.You must allocate storage for this parameter. HRESULT ID2D1Geometry::FillContainsPoint([None] D2D1_POINT_2F point,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) Indicates whether the area filled by the geometry would contain the specified point given the specified flattening tolerance. The point to test. The numeric accuracy with which the precise geometric path and path intersection is calculated. Points missing the fill by less than the tolerance are still considered inside. Smaller values produce more accurate results but cause slower execution. When this method returns, contains a bool value that is true if the area filled by the geometry contains point; otherwise, false.You must allocate storage for this parameter. HRESULT ID2D1Geometry::FillContainsPoint([None] D2D1_POINT_2F point,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) Indicates whether the area filled by the geometry would contain the specified point given the specified flattening tolerance. The point to test. The numeric accuracy with which the precise geometric path and path intersection is calculated. Points missing the fill by less than the tolerance are still considered inside. Smaller values produce more accurate results but cause slower execution. When this method returns, contains a bool value that is true if the area filled by the geometry contains point; otherwise, false.You must allocate storage for this parameter. HRESULT ID2D1Geometry::FillContainsPoint([None] D2D1_POINT_2F point,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) Indicates whether the area filled by the geometry would contain the specified point given the specified flattening tolerance. The point to test. The transform to apply to the geometry prior to testing for containment, or NULL. The numeric accuracy with which the precise geometric path and path intersection is calculated. Points missing the fill by less than the tolerance are still considered inside. Smaller values produce more accurate results but cause slower execution. When this method returns, contains a bool value that is true if the area filled by the geometry contains point; otherwise, false.You must allocate storage for this parameter. HRESULT ID2D1Geometry::FillContainsPoint([None] D2D1_POINT_2F point,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) Retrieves the bounds of the geometry. When this method returns, contains the bounds of this geometry. If the bounds are empty, this will be a rect where bounds.left > bounds.right. You must allocate storage for this parameter. HRESULT ID2D1Geometry::GetBounds([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[Out] D2D1_RECT_F* bounds) Gets the bounds of the geometry after it has been widened by the specified stroke width and style and transformed by the specified matrix. The amount by which to widen the geometry by stroking its outline. When this method returns, contains the bounds of the widened geometry. You must allocate storage for this parameter. HRESULT ID2D1Geometry::GetWidenedBounds([None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] D2D1_RECT_F* bounds) Gets the bounds of the geometry after it has been widened by the specified stroke width and style and transformed by the specified matrix. The amount by which to widen the geometry by stroking its outline. The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. When this method returns, contains the bounds of the widened geometry. You must allocate storage for this parameter. HRESULT ID2D1Geometry::GetWidenedBounds([None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] D2D1_RECT_F* bounds) Gets the bounds of the geometry after it has been widened by the specified stroke width and style and transformed by the specified matrix. The amount by which to widen the geometry by stroking its outline. The style of the stroke that widens the geometry. The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. When this method returns, contains the bounds of the widened geometry. You must allocate storage for this parameter. HRESULT ID2D1Geometry::GetWidenedBounds([None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] D2D1_RECT_F* bounds) Computes the outline of the geometry and writes the result to an . The {{Outline}} method allows the caller to produce a geometry with an equivalent fill to the input geometry, with the following additional properties: The output geometry contains no transverse intersections; that is, segments may touch, but they never cross.The outermost figures in the output geometry are all oriented counterclockwise. The output geometry is fill-mode invariant; that is, the fill of the geometry does not depend on the choice of the fill mode. For more information about the fill mode, see .Additionally, the {{Outline}} method can be useful in removing redundant portions of said geometries to simplify complex geometries. It can also be useful in combination with to create unions among several geometries simultaneously. The to which the geometry's transformed outline is appended. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT Outline([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) Computes the outline of the geometry and writes the result to an . The {{Outline}} method allows the caller to produce a geometry with an equivalent fill to the input geometry, with the following additional properties: The output geometry contains no transverse intersections; that is, segments may touch, but they never cross.The outermost figures in the output geometry are all oriented counterclockwise. The output geometry is fill-mode invariant; that is, the fill of the geometry does not depend on the choice of the fill mode. For more information about the fill mode, see .Additionally, the {{Outline}} method can be useful in removing redundant portions of said geometries to simplify complex geometries. It can also be useful in combination with to create unions among several geometries simultaneously. The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. The to which the geometry's transformed outline is appended. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT Outline([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) Computes the outline of the geometry and writes the result to an . The {{Outline}} method allows the caller to produce a geometry with an equivalent fill to the input geometry, with the following additional properties: The output geometry contains no transverse intersections; that is, segments may touch, but they never cross.The outermost figures in the output geometry are all oriented counterclockwise. The output geometry is fill-mode invariant; that is, the fill of the geometry does not depend on the choice of the fill mode. For more information about the fill mode, see .Additionally, the {{Outline}} method can be useful in removing redundant portions of said geometries to simplify complex geometries. It can also be useful in combination with to create unions among several geometries simultaneously. The transform to apply to the geometry outline, or NULL. The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. The to which the geometry's transformed outline is appended. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT Outline([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) Creates a simplified version of the geometry that contains only lines and (optionally) cubic Bezier curves and writes the result to an . A value that specifies whether the simplified geometry should contain curves. The to which the simplified geometry is appended. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT Simplify([None] D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) Creates a simplified version of the geometry that contains only lines and (optionally) cubic Bezier curves and writes the result to an . A value that specifies whether the simplified geometry should contain curves. The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. The to which the simplified geometry is appended. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT Simplify([None] D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) Creates a simplified version of the geometry that contains only lines and (optionally) cubic Bezier curves and writes the result to an . A value that specifies whether the simplified geometry should contain curves. The transform to apply to the simplified geometry, or NULL. The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. The to which the simplified geometry is appended. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT Simplify([None] D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform. The point to test for containment. The thickness of the stroke to apply. When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter. HRESULT ID2D1Geometry::StrokeContainsPoint([None] D2D1_POINT_2F point,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform. The point to test for containment. The thickness of the stroke to apply. When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter. HRESULT ID2D1Geometry::StrokeContainsPoint([None] D2D1_POINT_2F point,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform. The point to test for containment. The thickness of the stroke to apply. The style of stroke to apply. When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter. HRESULT ID2D1Geometry::StrokeContainsPoint([None] D2D1_POINT_2F point,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform. The point to test for containment. The thickness of the stroke to apply. The style of stroke to apply. When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter. HRESULT ID2D1Geometry::StrokeContainsPoint([None] D2D1_POINT_2F point,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform. The point to test for containment. The thickness of the stroke to apply. The style of stroke to apply. The transform to apply to the stroked geometry. When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter. HRESULT ID2D1Geometry::StrokeContainsPoint([None] D2D1_POINT_2F point,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform. The point to test for containment. The thickness of the stroke to apply. The style of stroke to apply. The transform to apply to the stroked geometry. When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter. HRESULT ID2D1Geometry::StrokeContainsPoint([None] D2D1_POINT_2F point,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform. The point to test for containment. The thickness of the stroke to apply. The style of stroke to apply. The transform to apply to the stroked geometry. The numeric accuracy with which the precise geometric path and path intersection is calculated. Points missing the stroke by less than the tolerance are still considered inside. Smaller values produce more accurate results but cause slower execution. When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter. HRESULT ID2D1Geometry::StrokeContainsPoint([None] D2D1_POINT_2F point,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] float flatteningTolerance,[Out] BOOL* contains) Creates a set of clockwise-wound triangles that cover the geometry after it has been transformed using the specified matrix and flattened using the specified tolerance The to which the tessellated is appended. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT Tessellate([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1TessellationSink* tessellationSink) Creates a set of clockwise-wound triangles that cover the geometry after it has been transformed using the specified matrix and flattened using the specified tolerance The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. The to which the tessellated is appended. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT Tessellate([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1TessellationSink* tessellationSink) Creates a set of clockwise-wound triangles that cover the geometry after it has been transformed using the specified matrix and flattened using the specified tolerance The transform to apply to this geometry, or NULL. The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. The to which the tessellated is appended. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT Tessellate([In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1TessellationSink* tessellationSink) Widens the geometry by the specified stroke and writes the result to an after it has been transformed by the specified matrix and flattened using the specified tolerance. The amount by which to widen the geometry. The to which the widened geometry is appended. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT Widen([None] FLOAT strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) Widens the geometry by the specified stroke and writes the result to an after it has been transformed by the specified matrix and flattened using the specified tolerance. The amount by which to widen the geometry. The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. The to which the widened geometry is appended. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT Widen([None] FLOAT strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) Widens the geometry by the specified stroke and writes the result to an after it has been transformed by the specified matrix and flattened using the specified tolerance. The amount by which to widen the geometry. The style of stroke to apply to the geometry, or NULL. The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. The to which the widened geometry is appended. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT Widen([None] FLOAT strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) Widens the geometry by the specified stroke and writes the result to an after it has been transformed by the specified matrix and flattened using the specified tolerance. The amount by which to widen the geometry. The style of stroke to apply to the geometry, or NULL. The transform to apply to the geometry after widening it, or NULL. The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. The to which the widened geometry is appended. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT Widen([None] FLOAT strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D1_MATRIX_3X2_F* worldTransform,[None] FLOAT flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink)

Represents a composite geometry, composed of other objects.

Geometry groups are a convenient way to group several geometries simultaneously so all figures of several distinct geometries are concatenated into one.

dd316581 ID2D1GeometryGroup ID2D1GeometryGroup
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Indicates how the intersecting areas of the geometries contained in this geometry group are combined.

dd316583 GetFillMode GetFillMode D2D1_FILL_MODE ID2D1GeometryGroup::GetFillMode()

Indicates the number of geometry objects in the geometry group.

dd316589 GetSourceGeometryCount GetSourceGeometryCount unsigned int ID2D1GeometryGroup::GetSourceGeometryCount()

Indicates how the intersecting areas of the geometries contained in this geometry group are combined.

A value that indicates how the intersecting areas of the geometries contained in this geometry group are combined.

dd316583 D2D1_FILL_MODE ID2D1GeometryGroup::GetFillMode() ID2D1GeometryGroup::GetFillMode

Indicates the number of geometry objects in the geometry group.

The number of geometries in the .

dd316589 unsigned int ID2D1GeometryGroup::GetSourceGeometryCount() ID2D1GeometryGroup::GetSourceGeometryCount

Retrieves the geometries in the geometry group.

When this method returns, contains the address of a reference to an array of geometries to be filled by this method. The length of the array is specified by the geometryCount parameter. If the array is null, then this method performs no operation. You must allocate the memory for this array.

A value indicating the number of geometries to return in the geometries array. If this value is less than the number of geometries in the geometry group, the remaining geometries are omitted. If this value is larger than the number of geometries in the geometry group, the extra geometries are set to null. To obtain the number of geometries currently in the geometry group, use the GetSourceGeometryCount method.

The returned geometries are referenced and counted, and the caller must release them.

dd316586 void ID2D1GeometryGroup::GetSourceGeometries([Out, Buffer] ID2D1Geometry** geometries,[In] unsigned int geometriesCount) ID2D1GeometryGroup::GetSourceGeometries
Creates an , which is an object that holds other geometries. Geometry groups are a convenient way to group several geometries simultaneously so all figures of several distinct geometries are concatenated into one. To create a object, call the CreateGeometryGroup method on the object, passing in the fillMode with possible values of (alternate) and D2D1_FILL_MODE_WINDING, an array of geometry objects to add to the geometry group, and the number of elements in this array. an instance of A value that specifies the rule that a composite shape uses to determine whether a given point is part of the geometry. An array containing the geometry objects to add to the geometry group. The number of elements in this array is indicated by the geometriesCount parameter. Retrieves the geometries in the geometry group. The returned geometries are referenced and counted, and the caller must release them. an array of geometries to be filled by this method. The length of the array is specified by the geometryCount parameter. void ID2D1GeometryGroup::GetSourceGeometries([Out, Buffer] ID2D1Geometry** geometries,[None] int geometriesCount) Retrieves the geometries in the geometry group. The returned geometries are referenced and counted, and the caller must release them. A value indicating the number of geometries to return in the geometries array. If this value is less than the number of geometries in the geometry group, the remaining geometries are omitted. If this value is larger than the number of geometries in the geometry group, the extra geometries are set to NULL. To obtain the number of geometries currently in the geometry group, use the {{GetSourceGeometryCount}} method. an array of geometries to be filled by this method. The length of the array is specified by the geometryCount parameter. void ID2D1GeometryGroup::GetSourceGeometries([Out, Buffer] ID2D1Geometry** geometries,[None] int geometriesCount)

Encapsulates a device- and transform-dependent representation of a filled or stroked geometry. Callers should consider creating a geometry realization when they wish to accelerate repeated rendering of a given geometry. This interface exposes no methods.

dn280515 ID2D1GeometryRealization ID2D1GeometryRealization

Encapsulates a device- and transform-dependent representation of a filled or stroked geometry. Callers should consider creating a geometry realization when they wish to accelerate repeated rendering of a given geometry. This interface exposes no methods.

dn280515 ID2D1GeometryRealization ID2D1GeometryRealization
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Creates a device-dependent representation of the fill of the geometry that can be subsequently rendered.

The device context where the created instance should be attached to.

The geometry to realize.

The flattening tolerance to use when converting Beziers to line segments. This parameter shares the same units as the coordinates of the geometry.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.

?

This method is used in conjunction with . The D2D1::ComputeFlatteningTolerance helper API may be used to determine the proper flattening tolerance.

If the provided stroke style specifies a stroke transform type other than , then the stroke will be realized assuming the identity transform and a DPI of 96.

dn280462 HRESULT ID2D1DeviceContext1::CreateFilledGeometryRealization([In] ID2D1Geometry* geometry,[In] float flatteningTolerance,[Out, Fast] ID2D1GeometryRealization** geometryRealization) ID2D1DeviceContext1::CreateFilledGeometryRealization

Creates a device-dependent representation of the stroke of a geometry that can be subsequently rendered.

The device context where the created instance should be attached to.

The geometry to realize.

The flattening tolerance to use when converting Beziers to line segments. This parameter shares the same units as the coordinates of the geometry.

The width of the stroke. This parameter shares the same units as the coordinates of the geometry.

The stroke style (optional).

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid value was passed to the method.

?

This method is used in conjunction with . The D2D1::ComputeFlatteningTolerance helper API may be used to determine the proper flattening tolerance.

If the provided stroke style specifies a stroke transform type other than , then the stroke will be realized assuming the identity transform and a DPI of 96.

dn280463 HRESULT ID2D1DeviceContext1::CreateStrokedGeometryRealization([In] ID2D1Geometry* geometry,[In] float flatteningTolerance,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[Out, Fast] ID2D1GeometryRealization** geometryRealization) ID2D1DeviceContext1::CreateStrokedGeometryRealization

Describes a geometric path that can contain lines, arcs, cubic Bezier curves, and quadratic Bezier curves.

The interface extends the interface to add support for arcs and quadratic beziers, as well as functions for adding single lines and cubic beziers.

A geometry sink consists of one or more figures. Each figure is made up of one or more line, curve, or arc segments. To create a figure, call the BeginFigure method, specify the figure's start point, and then use its Add methods (such as AddLine and AddBezier) to add segments. When you are finished adding segments, call the EndFigure method. You can repeat this sequence to create additional figures. When you are finished creating figures, call the Close method.

dd316592 ID2D1GeometrySink ID2D1GeometrySink
Creates a line segment between the current point and the specified end point and adds it to the geometry sink. The end point of the line to draw. void AddLine([None] D2D1_POINT_2F point) Creates a cubic Bezier curve between the current point and the specified endpoint. A structure that describes the control points and endpoint of the Bezier curve to add. void AddBezier([In] const D2D1_BEZIER_SEGMENT* bezier) Creates a quadratic Bezier curve between the current point and the specified endpoint. A structure that describes the control point and the endpoint of the quadratic Bezier curve to add. void AddQuadraticBezier([In] const D2D1_QUADRATIC_BEZIER_SEGMENT* bezier) Adds a sequence of quadratic Bezier segments as an array in a single call. An array of a sequence of quadratic Bezier segments. void AddQuadraticBeziers([In, Buffer] const D2D1_QUADRATIC_BEZIER_SEGMENT* beziers,[None] UINT beziersCount) Adds a single arc to the path geometry. The arc segment to add to the figure. void AddArc([In] const D2D1_ARC_SEGMENT* arc)

Describes a geometric path that can contain lines, arcs, cubic Bezier curves, and quadratic Bezier curves.

The interface extends the interface to add support for arcs and quadratic beziers, as well as functions for adding single lines and cubic beziers.

A geometry sink consists of one or more figures. Each figure is made up of one or more line, curve, or arc segments. To create a figure, call the BeginFigure method, specify the figure's start point, and then use its Add methods (such as AddLine and AddBezier) to add segments. When you are finished adding segments, call the EndFigure method. You can repeat this sequence to create additional figures. When you are finished creating figures, call the Close method.

dd316592 ID2D1GeometrySink ID2D1GeometrySink
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Creates a line segment between the current point and the specified end point and adds it to the geometry sink.

The end point of the line to draw.

dd316604 void ID2D1GeometrySink::AddLine([In] D2D_POINT_2F point) ID2D1GeometrySink::AddLine
Creates a cubic Bezier curve between the current point and the specified end point and adds it to the geometry sink. No documentation. dd742735 void ID2D1GeometrySink::AddBezier([In] const D2D1_BEZIER_SEGMENT* bezier) ID2D1GeometrySink::AddBezier

Creates a quadratic Bezier curve between the current point and the specified end point.

A structure that describes the control point and the end point of the quadratic Bezier curve to add.

dd316614 void ID2D1GeometrySink::AddQuadraticBezier([In] const D2D1_QUADRATIC_BEZIER_SEGMENT* bezier) ID2D1GeometrySink::AddQuadraticBezier

Adds a sequence of quadratic Bezier segments as an array in a single call.

An array of a sequence of quadratic Bezier segments.

A value indicating the number of quadratic Bezier segments in beziers.

dd316608 void ID2D1GeometrySink::AddQuadraticBeziers([In, Buffer] const D2D1_QUADRATIC_BEZIER_SEGMENT* beziers,[In] unsigned int beziersCount) ID2D1GeometrySink::AddQuadraticBeziers

Describes a geometric path that can contain lines, arcs, cubic Bezier curves, and quadratic Bezier curves.

No documentation.

The interface extends the interface to add support for arcs and quadratic beziers, as well as functions for adding single lines and cubic beziers.

A geometry sink consists of one or more figures. Each figure is made up of one or more line, curve, or arc segments. To create a figure, call the BeginFigure method, specify the figure's start point, and then use its Add methods (such as AddLine and AddBezier) to add segments. When you are finished adding segments, call the EndFigure method. You can repeat this sequence to create additional figures. When you are finished creating figures, call the Close method.

dd316592 void ID2D1GeometrySink::AddArc([In] const D2D1_ARC_SEGMENT* arc) ID2D1GeometrySink::AddArc

Represents a device-dependent representation of a gradient mesh composed of patches. Use the method to create an instance of .

dn900410 ID2D1GradientMesh ID2D1GradientMesh
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Returns the number of patches that make up this gradient mesh.

dn900411 GetPatchCount GetPatchCount unsigned int ID2D1GradientMesh::GetPatchCount()

Returns the number of patches that make up this gradient mesh.

Returns the number of patches that make up this gradient mesh.

dn900411 unsigned int ID2D1GradientMesh::GetPatchCount() ID2D1GradientMesh::GetPatchCount

Returns a subset of the patches that make up this gradient mesh.

Index of the first patch to return.

A reference to the array to be filled with the patch data.

The number of patches to be returned.

if successful, otherwise a failure .

dn900412 HRESULT ID2D1GradientMesh::GetPatches([In] unsigned int startIndex,[Out, Buffer] D2D1_GRADIENT_MESH_PATCH* patches,[In] unsigned int patchesCount) ID2D1GradientMesh::GetPatches
Initializes a new instance of the .

Represents an collection of objects for linear and radial gradient brushes.

dd316783 ID2D1GradientStopCollection ID2D1GradientStopCollection
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves the number of gradient stops in the collection.

dd371454 GetGradientStopCount GetGradientStopCount unsigned int ID2D1GradientStopCollection::GetGradientStopCount()

Indicates the gamma space in which the gradient stops are interpolated.

dd316786 GetColorInterpolationGamma GetColorInterpolationGamma D2D1_GAMMA ID2D1GradientStopCollection::GetColorInterpolationGamma()

Indicates the behavior of the gradient outside the normalized gradient range.

dd316789 GetExtendMode GetExtendMode D2D1_EXTEND_MODE ID2D1GradientStopCollection::GetExtendMode()

Retrieves the number of gradient stops in the collection.

The number of gradient stops in the collection.

dd371454 unsigned int ID2D1GradientStopCollection::GetGradientStopCount() ID2D1GradientStopCollection::GetGradientStopCount

Copies the gradient stops from the collection into an array of structures.

No documentation. No documentation.

Gradient stops are copied in order of position, starting with the gradient stop with the smallest position value and progressing to the gradient stop with the largest position value.

dd371457 void ID2D1GradientStopCollection::GetGradientStops([Out, Buffer] D2D1_GRADIENT_STOP* gradientStops,[In] unsigned int gradientStopsCount) ID2D1GradientStopCollection::GetGradientStops

Indicates the gamma space in which the gradient stops are interpolated.

The gamma space in which the gradient stops are interpolated.

dd316786 D2D1_GAMMA ID2D1GradientStopCollection::GetColorInterpolationGamma() ID2D1GradientStopCollection::GetColorInterpolationGamma

Indicates the behavior of the gradient outside the normalized gradient range.

The behavior of the gradient outside the [0,1] normalized gradient range.

dd316789 D2D1_EXTEND_MODE ID2D1GradientStopCollection::GetExtendMode() ID2D1GradientStopCollection::GetExtendMode
Creates an from the specified gradient stops, a Gamma StandardRgb, and ExtendMode.Clamp. an instance of A pointer to an array of D2D1_GRADIENT_STOP structures. HRESULT CreateGradientStopCollection([In, Buffer] const D2D1_GRADIENT_STOP* gradientStops,[None] UINT gradientStopsCount,[None] D2D1_GAMMA colorInterpolationGamma,[None] D2D1_EXTEND_MODE extendMode,[Out] ID2D1GradientStopCollection** gradientStopCollection) Creates an from the specified gradient stops, color Gamma.StandardRgb, and extend mode. an instance of A pointer to an array of D2D1_GRADIENT_STOP structures. The behavior of the gradient outside the [0,1] normalized range. HRESULT CreateGradientStopCollection([In, Buffer] const D2D1_GRADIENT_STOP* gradientStops,[None] UINT gradientStopsCount,[None] D2D1_GAMMA colorInterpolationGamma,[None] D2D1_EXTEND_MODE extendMode,[Out] ID2D1GradientStopCollection** gradientStopCollection) Creates an from the specified gradient stops, color interpolation gamma, and ExtendMode.Clamp. an instance of A pointer to an array of D2D1_GRADIENT_STOP structures. The space in which color interpolation between the gradient stops is performed. HRESULT CreateGradientStopCollection([In, Buffer] const D2D1_GRADIENT_STOP* gradientStops,[None] UINT gradientStopsCount,[None] D2D1_GAMMA colorInterpolationGamma,[None] D2D1_EXTEND_MODE extendMode,[Out] ID2D1GradientStopCollection** gradientStopCollection) Creates an from the specified gradient stops, color interpolation gamma, and extend mode. an instance of A pointer to an array of D2D1_GRADIENT_STOP structures. The space in which color interpolation between the gradient stops is performed. The behavior of the gradient outside the [0,1] normalized range. HRESULT CreateGradientStopCollection([In, Buffer] const D2D1_GRADIENT_STOP* gradientStops,[None] UINT gradientStopsCount,[None] D2D1_GAMMA colorInterpolationGamma,[None] D2D1_EXTEND_MODE extendMode,[Out] ID2D1GradientStopCollection** gradientStopCollection)

Represents a collection of objects for linear and radial gradient brushes. It provides get methods for all the new parameters added to the gradient stop collection.

hh446792 ID2D1GradientStopCollection1 ID2D1GradientStopCollection1
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the color space of the input colors as well as the space in which gradient stops are interpolated.

If this object was created using , this method returns the color space related to the color interpolation gamma.

hh446802 GetPreInterpolationSpace GetPreInterpolationSpace D2D1_COLOR_SPACE ID2D1GradientStopCollection1::GetPreInterpolationSpace()

Gets the color space after interpolation has occurred.

If you create using , this method returns .

hh446800 GetPostInterpolationSpace GetPostInterpolationSpace D2D1_COLOR_SPACE ID2D1GradientStopCollection1::GetPostInterpolationSpace()

Gets the precision of the gradient buffer.

If this object was created using , this method returns .

hh446796 GetBufferPrecision GetBufferPrecision D2D1_BUFFER_PRECISION ID2D1GradientStopCollection1::GetBufferPrecision()

Retrieves the color interpolation mode that the gradient stop collection uses.

hh871465 GetColorInterpolationMode GetColorInterpolationMode D2D1_COLOR_INTERPOLATION_MODE ID2D1GradientStopCollection1::GetColorInterpolationMode()

Copies the gradient stops from the collection into memory.

When this method returns, contains a reference to a one-dimensional array of structures.

The number of gradient stops to copy.

If the object was created using , this method returns the same values specified in the creation method. If the object was created using , the stops returned here will first be transformed into the gamma space specified by the colorInterpolationGamma parameter. See the method for more info about color space and gamma space.

If gradientStopsCount is less than the number of gradient stops in the collection, the remaining gradient stops are omitted. If gradientStopsCount is larger than the number of gradient stops in the collection, the extra gradient stops are set to null. To obtain the number of gradient stops in the collection, use the GetGradientStopCount method.

hh446798 void ID2D1GradientStopCollection1::GetGradientStops1([Out, Buffer] D2D1_GRADIENT_STOP* gradientStops,[In] unsigned int gradientStopsCount) ID2D1GradientStopCollection1::GetGradientStops1

Gets the color space of the input colors as well as the space in which gradient stops are interpolated.

This method returns the color space.

If this object was created using , this method returns the color space related to the color interpolation gamma.

hh446802 D2D1_COLOR_SPACE ID2D1GradientStopCollection1::GetPreInterpolationSpace() ID2D1GradientStopCollection1::GetPreInterpolationSpace

Gets the color space after interpolation has occurred.

This method returns the color space.

If you create using , this method returns .

hh446800 D2D1_COLOR_SPACE ID2D1GradientStopCollection1::GetPostInterpolationSpace() ID2D1GradientStopCollection1::GetPostInterpolationSpace

Gets the precision of the gradient buffer.

The buffer precision of the gradient buffer.

If this object was created using , this method returns .

hh446796 D2D1_BUFFER_PRECISION ID2D1GradientStopCollection1::GetBufferPrecision() ID2D1GradientStopCollection1::GetBufferPrecision

Retrieves the color interpolation mode that the gradient stop collection uses.

The color interpolation mode.

hh871465 D2D1_COLOR_INTERPOLATION_MODE ID2D1GradientStopCollection1::GetColorInterpolationMode() ID2D1GradientStopCollection1::GetColorInterpolationMode
Initializes a new instance of the class. The context. An array of color values and offsets. Specifies both the input color space and the space in which the color interpolation occurs. The color space that colors will be converted to after interpolation occurs. The precision of the texture used to hold interpolated values. Defines how colors outside of the range defined by the stop collection are determined. The new gradient stop collection. HRESULT ID2D1DeviceContext::CreateGradientStopCollection([In, Buffer] const D2D1_GRADIENT_STOP* straightAlphaGradientStops,[In] unsigned int straightAlphaGradientStopsCount,[In] D2D1_COLOR_SPACE preInterpolationSpace,[In] D2D1_COLOR_SPACE postInterpolationSpace,[In] D2D1_BUFFER_PRECISION bufferPrecision,[In] D2D1_EXTEND_MODE extendMode,[In] D2D1_COLOR_INTERPOLATION_MODE colorInterpolationMode,[Out, Fast] ID2D1GradientStopCollection1** gradientStopCollection1) This method linearly interpolates between the color stops. An optional color space conversion is applied after interpolation. Whether and how this gamma conversion is applied is determined before and after interpolation. This method will fail if the device context does not support the requested buffer precision.Additional ReferencesD2D1_GRADIENT_STOP, D2D1_GAMMA_CONVERSION, , , RequirementsMinimum supported operating systemSame as Interface / Class Highest IRQL levelN/A (user mode) Callable from DlllMain()No Callable from services and session 0Yes Callable from UI threadYes?

Represents a producer of pixels that can fill an arbitrary 2D plane.

An is abstract. Concrete instances can be created through and .

Images are evaluated lazily. If the type of image passed in is concrete, then the image can be directly sampled from. Other images can act only as a source of pixels and can produce content only as a result of calling .

hh446803 ID2D1Image ID2D1Image
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Represents a brush based on an .

hh446804 ID2D1ImageBrush ID2D1ImageBrush
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets or sets the image associated with the image brush.

hh446807 GetImage / SetImage GetImage void ID2D1ImageBrush::GetImage([Out, Optional] ID2D1Image** image)

Gets or sets the extend mode of the image brush on the x-axis.

hh446805 GetExtendModeX / SetExtendModeX GetExtendModeX D2D1_EXTEND_MODE ID2D1ImageBrush::GetExtendModeX()

Gets or sets the extend mode of the image brush on the y-axis of the image.

hh446806 GetExtendModeY / SetExtendModeY GetExtendModeY D2D1_EXTEND_MODE ID2D1ImageBrush::GetExtendModeY()

Gets or sets the interpolation mode of the image brush.

hh446808 GetInterpolationMode / SetInterpolationMode GetInterpolationMode D2D1_INTERPOLATION_MODE ID2D1ImageBrush::GetInterpolationMode()

Gets or sets the rectangle that will be used as the bounds of the image when drawn as an image brush.

hh446809 GetSourceRectangle / SetSourceRectangle GetSourceRectangle void ID2D1ImageBrush::GetSourceRectangle([Out] D2D_RECT_F* sourceRectangle)

Sets the image associated with the provided image brush.

The image to be associated with the image brush.

hh446812 void ID2D1ImageBrush::SetImage([In, Optional] ID2D1Image* image) ID2D1ImageBrush::SetImage

Sets how the content inside the source rectangle in the image brush will be extended on the x-axis.

The extend mode on the x-axis of the image.

hh446810 void ID2D1ImageBrush::SetExtendModeX([In] D2D1_EXTEND_MODE extendModeX) ID2D1ImageBrush::SetExtendModeX

Sets the extend mode on the y-axis.

The extend mode on the y-axis of the image.

hh446811 void ID2D1ImageBrush::SetExtendModeY([In] D2D1_EXTEND_MODE extendModeY) ID2D1ImageBrush::SetExtendModeY

Sets the interpolation mode for the image brush.

How the contents of the image will be interpolated to handle the brush transform.

hh446813 void ID2D1ImageBrush::SetInterpolationMode([In] D2D1_INTERPOLATION_MODE interpolationMode) ID2D1ImageBrush::SetInterpolationMode

Sets the source rectangle in the image brush.

The source rectangle that defines the portion of the image to tile.

The top left corner of the sourceRectangle parameter maps to the brush space origin. That is, if the brush and world transforms are both identity, the portion of the image in the top left corner of the source rectangle will be rendered at (0,0) in the render target.

The source rectangle will be expanded differently depending on whether the input image is based on pixels (a bitmap or effect) or by a command list.

  • If the input image is a bitmap or an effect, the rectangle will be expanded to encapsulate a full input pixel before being additionally down-scaled to ensure that the projected rectangle will be correct in the final scene-space.
  • If the input image is a command list, the command list will be slightly expanded to encapsulate a full input pixel.
hh446815 void ID2D1ImageBrush::SetSourceRectangle([In] const D2D_RECT_F* sourceRectangle) ID2D1ImageBrush::SetSourceRectangle

Gets the image associated with the image brush.

When this method returns, contains the address of a reference to the image associated with this brush.

hh446807 void ID2D1ImageBrush::GetImage([Out, Optional] ID2D1Image** image) ID2D1ImageBrush::GetImage

Gets the extend mode of the image brush on the x-axis.

This method returns the x-extend mode.

hh446805 D2D1_EXTEND_MODE ID2D1ImageBrush::GetExtendModeX() ID2D1ImageBrush::GetExtendModeX

Gets the extend mode of the image brush on the y-axis of the image.

This method returns the y-extend mode.

hh446806 D2D1_EXTEND_MODE ID2D1ImageBrush::GetExtendModeY() ID2D1ImageBrush::GetExtendModeY

Gets the interpolation mode of the image brush.

This method returns the interpolation mode.

hh446808 D2D1_INTERPOLATION_MODE ID2D1ImageBrush::GetInterpolationMode() ID2D1ImageBrush::GetInterpolationMode

Gets the rectangle that will be used as the bounds of the image when drawn as an image brush.

When this method returns, contains the address of the output source rectangle.

hh446809 void ID2D1ImageBrush::GetSourceRectangle([Out] D2D_RECT_F* sourceRectangle) ID2D1ImageBrush::GetSourceRectangle
Initializes a new instance of the class. The context. The image. The image brush properties. HRESULT ID2D1DeviceContext::CreateImageBrush([In] ID2D1Image* image,[In] const D2D1_IMAGE_BRUSH_PROPERTIES* imageBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1ImageBrush** imageBrush) Initializes a new instance of the class. The context. The image. The image brush properties. The brush properties. HRESULT ID2D1DeviceContext::CreateImageBrush([In] ID2D1Image* image,[In] const D2D1_IMAGE_BRUSH_PROPERTIES* imageBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1ImageBrush** imageBrush)

Represents a producer of pixels that can fill an arbitrary 2D plane.

dn900413 ID2D1ImageSource ID2D1ImageSource
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Allows the operating system to free the video memory of resources by discarding their content.

OfferResources returns:

  • if resources were successfully offered
  • E_INVALIDARG if a resource in the array or the priority is invalid
mt591933 HRESULT ID2D1ImageSource::OfferResources() ID2D1ImageSource::OfferResources

Restores access to resources that were previously offered by calling OfferResources.

No documentation.

ReclaimResources returns:

  • if resources were successfully reclaimed
  • E_INVALIDARG if the resources are invalid

After you call OfferResources to offer one or more resources, you must call TryReclaimResources before you can use those resources again. You must check the value in the resourcesDiscarded to determine whether the resource?s content was discarded. If a resource?s content was discarded while it was offered, its current content is undefined. Therefore, you must overwrite the resource?s content before you use the resource.

dn952190 HRESULT ID2D1ImageSource::TryReclaimResources([Out] BOOL* resourcesDiscarded) ID2D1ImageSource::TryReclaimResources
Initializes a new instance of the .

Produces 2D pixel data that has been sourced from WIC.

Create an an instance of using .

dn900414 ID2D1ImageSourceFromWic ID2D1ImageSourceFromWic
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves the underlying bitmap image source from the Windows Imaging Component (WIC).

dn900422 GetSource GetSource void ID2D1ImageSourceFromWic::GetSource([Out, Optional] IWICBitmapSource** wicBitmapSource)

Ensures that a specified region of the image source cache is populated. This method can be used to minimize glitches by performing expensive work to populate caches outside of a rendering loop. This method can also be used to speculatively load image data before it is needed by drawing routines.

Specifies the region of the image, in pixels, that should be populated in the cache. By default, this is the entire extent of the image.

If this method succeeds, it returns . Otherwise, it returns an error code.

This API loads image data into caches of image sources, if that data was not already cached. It does not trim pre-existing caches, if any. More areas within the cache can be populated than actually requested.

?

The provided region must be constructed to include the scale with which the image source will subsequently be drawn. These coordinates must be provided in local coordinates. This means that they must be adjusted prior to calling the API according to the DPI and other relevant transforms, which can include the world transform and brush transforms.

This operation is only supported when the image source has been initialized using the option.

dn900420 HRESULT ID2D1ImageSourceFromWic::EnsureCached([In, Optional] const D2D_RECT_U* rectangleToFill) ID2D1ImageSourceFromWic::EnsureCached

This method trims the populated regions of the image source cache to just the specified rectangle.

Specifies the region of the image, in pixels, which should be preserved in the image source cache. Regions which are outside of the rectangle are evicted from the cache. By default, this is an empty rectangle, meaning that the entire image is evicted from the cache.

If this method succeeds, it returns . Otherwise, it returns an error code.

The provided region must be constructed to include the scale at which the image source will be drawn at. These coordinates must be provided in local coordinates. This means that they must be adjusted prior to calling the API according to the DPI and other relevant transforms, which can include the world transform and brush transforms.

?

This method will fail if on-demand caching was not requested when the image source was created.

?

As with , the caller can need to subsequently issue a D3D flush before memory usage is reduced.

This operation is only supported when the image source has been initialized using the option.

dn900424 HRESULT ID2D1ImageSourceFromWic::TrimCache([In, Optional] const D2D_RECT_U* rectangleToPreserve) ID2D1ImageSourceFromWic::TrimCache

Retrieves the underlying bitmap image source from the Windows Imaging Component (WIC).

On return contains the bitmap image source.

dn900422 void ID2D1ImageSourceFromWic::GetSource([Out, Optional] IWICBitmapSource** wicBitmapSource) ID2D1ImageSourceFromWic::GetSource
Initializes a new instance of the .

Represents a single continuous stroke of variable-width ink, as defined by a series of Bezier segments and widths.

dn900426 ID2D1Ink ID2D1Ink
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves or sets the starting point for this ink object.

dn900438 GetStartPoint / SetStartPoint GetStartPoint D2D1_INK_POINT ID2D1Ink::GetStartPoint()

Updates the last segment in this ink object with new control points.

dn900440 SetSegmentAtEnd SetSegmentAtEnd HRESULT ID2D1Ink::SetSegmentAtEnd([In] const D2D1_INK_BEZIER_SEGMENT* segment)

Returns the number of segments in this ink object.

dn900436 GetSegmentCount GetSegmentCount unsigned int ID2D1Ink::GetSegmentCount()

Sets the starting point for this ink object. This determines where this ink object will start rendering.

The new starting point for this ink object.

dn900445 void ID2D1Ink::SetStartPoint([In] const D2D1_INK_POINT* startPoint) ID2D1Ink::SetStartPoint

Retrieves the starting point for this ink object.

The starting point for this ink object.

dn900438 D2D1_INK_POINT ID2D1Ink::GetStartPoint() ID2D1Ink::GetStartPoint

Adds the given segments to the end of this ink object.

A reference to an array of segments to be added to this ink object.

The number of segments to be added to this ink object.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn900434 HRESULT ID2D1Ink::AddSegments([In, Buffer] const D2D1_INK_BEZIER_SEGMENT* segments,[In] unsigned int segmentsCount) ID2D1Ink::AddSegments

Removes the given number of segments from the end of this ink object.

The number of segments to be removed from the end of this ink object. Note that segmentsCount must be less or equal to the number of segments in the ink object.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn900439 HRESULT ID2D1Ink::RemoveSegmentsAtEnd([In] unsigned int segmentsCount) ID2D1Ink::RemoveSegmentsAtEnd

Updates the specified segments in this ink object with new control points.

The index of the first segment in this ink object to update.

A reference to the array of segment data to be used in the update.

The number of segments in this ink object that will be updated with new data. Note that segmentsCount must be less than or equal to the number of segments in the ink object minus startSegment.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn900443 HRESULT ID2D1Ink::SetSegments([In] unsigned int startSegment,[In, Buffer] const D2D1_INK_BEZIER_SEGMENT* segments,[In] unsigned int segmentsCount) ID2D1Ink::SetSegments

Updates the last segment in this ink object with new control points.

A reference to the segment data with which to overwrite this ink object's last segment. Note that if there are currently no segments in the ink object, SetSegmentsAtEnd will return an error.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn900440 HRESULT ID2D1Ink::SetSegmentAtEnd([In] const D2D1_INK_BEZIER_SEGMENT* segment) ID2D1Ink::SetSegmentAtEnd

Returns the number of segments in this ink object.

Returns the number of segments in this ink object.

dn900436 unsigned int ID2D1Ink::GetSegmentCount() ID2D1Ink::GetSegmentCount

Retrieves the specified subset of segments stored in this ink object.

The index of the first segment in this ink object to retrieve.

When this method returns, contains a reference to an array of retrieved segments.

The number of segments to retrieve. Note that segmentsCount must be less than or equal to the number of segments in the ink object minus startSegment.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn900437 HRESULT ID2D1Ink::GetSegments([In] unsigned int startSegment,[Out, Buffer] D2D1_INK_BEZIER_SEGMENT* segments,[In] unsigned int segmentsCount) ID2D1Ink::GetSegments

Retrieves a geometric representation of this ink object.

The ink style to be used in determining the geometric representation.

The world transform to be used in determining the geometric representation.

The flattening tolerance to be used in determining the geometric representation.

The geometry sink to which the geometry representation will be streamed.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn900449 HRESULT ID2D1Ink::StreamAsGeometry([In, Optional] ID2D1InkStyle* inkStyle,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[In] ID2D1SimplifiedGeometrySink* geometrySink) ID2D1Ink::StreamAsGeometry

Retrieve the bounds of the geometry, with an optional applied transform.

The ink style to be used in determining the bounds of this ink object.

The world transform to be used in determining the bounds of this ink object.

When this method returns, contains the bounds of this ink object.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn900435 HRESULT ID2D1Ink::GetBounds([In, Optional] ID2D1InkStyle* inkStyle,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[Out] D2D_RECT_F* bounds) ID2D1Ink::GetBounds
Initializes a new instance of the .

Represents a collection of style properties to be used by methods like when rendering ink. The ink style defines the nib (pen tip) shape and transform.

dn900427 ID2D1InkStyle ID2D1InkStyle
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves or sets the transform to be applied to this style's nib shape.

dn900429 GetNibTransform / SetNibTransform GetNibTransform void ID2D1InkStyle::GetNibTransform([Out] D2D_MATRIX_3X2_F* transform)

Retrieves or sets the pre-transform nib shape for this style.

dn900428 GetNibShape / SetNibShape GetNibShape D2D1_INK_NIB_SHAPE ID2D1InkStyle::GetNibShape()

Sets the transform to apply to this style's nib shape.

The transform to apply to this style?s nib shape. Note that the translation components of the transform matrix are ignored for the purposes of rendering.

dn900431 void ID2D1InkStyle::SetNibTransform([In] const D2D_MATRIX_3X2_F* transform) ID2D1InkStyle::SetNibTransform

Retrieves the transform to be applied to this style's nib shape.

When this method returns, contains a reference to the transform to be applied to this style's nib shape.

dn900429 void ID2D1InkStyle::GetNibTransform([Out] D2D_MATRIX_3X2_F* transform) ID2D1InkStyle::GetNibTransform

Sets the pre-transform nib shape for this style.

The pre-transform nib shape to use in this style.

dn900430 void ID2D1InkStyle::SetNibShape([In] D2D1_INK_NIB_SHAPE nibShape) ID2D1InkStyle::SetNibShape

Retrieves the pre-transform nib shape for this style.

Returns the pre-transform nib shape for this style.

dn900428 D2D1_INK_NIB_SHAPE ID2D1InkStyle::GetNibShape() ID2D1InkStyle::GetNibShape
Initializes a new instance of the . Initializes a new instance of the .

Represents the backing store required to render a layer.

To create a layer, call the CreateLayer method of the render target where the layer will be used. To draw to a layer, push the layer to the render target stack by calling the PushLayer method. After you have finished drawing to the layer, call the PopLayer method.

Between PushLayer and PopLayer calls, the layer is in use and cannot be used by another render target.

If the size of the layer is not specified, the corresponding PushLayer call determines the minimum layer size, based on the layer content bounds and the geometric mask. The layer resource can be larger than the size required by PushLayer without any rendering artifacts.

If the size of a layer is specified, or if the layer has been used and the required backing store size as calculated during PushLayer is larger than the layer, then the layer resource is expanded on each axis monotonically to ensure that it is large enough. The layer resource never shrinks in size.

dd371483 ID2D1Layer ID2D1Layer
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the size of the layer in device-independent pixels.

dd371485 GetSize GetSize D2D_SIZE_F ID2D1Layer::GetSize()

Gets the size of the layer in device-independent pixels.

The size of the layer in device-independent pixels.

dd371485 D2D_SIZE_F ID2D1Layer::GetSize() ID2D1Layer::GetSize
Creates a layer resource that can be used with this render target and its compatible render targets. The new layer has the specified initial size. The layer resource is allocated to the minimum size when {{PushLayer}} is called. Regardless of whether a size is initially specified, the layer automatically resizes as needed. an instance of HRESULT CreateLayer([In, Optional] const D2D1_SIZE_F* size,[Out] ID2D1Layer** layer) Creates a layer resource that can be used with this render target and its compatible render targets. The new layer has the specified initial size. Regardless of whether a size is initially specified, the layer automatically resizes as needed. an instance of If (0, 0) is specified, no backing store is created behind the layer resource. The layer resource is allocated to the minimum size when {{PushLayer}} is called. HRESULT CreateLayer([In, Optional] const D2D1_SIZE_F* size,[Out] ID2D1Layer** layer)

Paints an area with a linear gradient.

An paints an area with a linear gradient along a line between the brush start point and end point. The gradient, defined by the brush , is extruded perpendicular to this line, and then transformed by a brush transform (if specified).

The start point and end point are described in the brush space and are mappped to the render target when the brush is used. Note the starting and ending coordinates are absolute, not relative to the render target size. A value of (0, 0) maps to the upper-left corner of the render target, while a value of (1, 1) maps one pixel diagonally away from (0, 0). If there is a nonidentity brush transform or render target transform, the brush start point and end point are also transformed.

It is possible to specify a gradient axis that does not completely fill the area that is being painted. When this occurs, the , specified by the , determines how the remaining area is painted.

dd371488 ID2D1LinearGradientBrush ID2D1LinearGradientBrush
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves or sets the starting coordinates of the linear gradient.

The start point and end point are described in the brush's space and are mapped to the render target when the brush is used. If there is a non-identity brush transform or render target transform, the brush's start point and end point are also transformed.

dd371497 GetStartPoint / SetStartPoint GetStartPoint D2D_POINT_2F ID2D1LinearGradientBrush::GetStartPoint()

Retrieves or sets the ending coordinates of the linear gradient.

The start point and end point are described in the brush's space and are mapped to the render target when the brush is used. If there is a non-identity brush transform or render target transform, the brush's start point and end point are also transformed.

dd371492 GetEndPoint / SetEndPoint GetEndPoint D2D_POINT_2F ID2D1LinearGradientBrush::GetEndPoint()

Retrieves the associated with this linear gradient brush.

contains an array of structures and information, such as the extend mode and the color interpolation mode.

dd371496 GetGradientStopCollection GetGradientStopCollection void ID2D1LinearGradientBrush::GetGradientStopCollection([Out] ID2D1GradientStopCollection** gradientStopCollection)

Sets the starting coordinates of the linear gradient in the brush's coordinate space.

The starting two-dimensional coordinates of the linear gradient, in the brush's coordinate space.

The start point and end point are described in the brush's space and are mapped to the render target when the brush is used. If there is a non-identity brush transform or render target transform, the brush's start point and end point are also transformed.

dd371505 void ID2D1LinearGradientBrush::SetStartPoint([In] D2D_POINT_2F startPoint) ID2D1LinearGradientBrush::SetStartPoint

Sets the ending coordinates of the linear gradient in the brush's coordinate space.

The ending two-dimensional coordinates of the linear gradient, in the brush's coordinate space.

The start point and end point are described in the brush's space and are mapped to the render target when the brush is used. If there is a non-identity brush transform or render target transform, the brush's start point and end point are also transformed.

dd371501 void ID2D1LinearGradientBrush::SetEndPoint([In] D2D_POINT_2F endPoint) ID2D1LinearGradientBrush::SetEndPoint

Retrieves the starting coordinates of the linear gradient.

The starting two-dimensional coordinates of the linear gradient, in the brush's coordinate space.

The start point and end point are described in the brush's space and are mapped to the render target when the brush is used. If there is a non-identity brush transform or render target transform, the brush's start point and end point are also transformed.

dd371497 D2D_POINT_2F ID2D1LinearGradientBrush::GetStartPoint() ID2D1LinearGradientBrush::GetStartPoint

Retrieves the ending coordinates of the linear gradient.

The ending two-dimensional coordinates of the linear gradient, in the brush's coordinate space.

The start point and end point are described in the brush's space and are mapped to the render target when the brush is used. If there is a non-identity brush transform or render target transform, the brush's start point and end point are also transformed.

dd371492 D2D_POINT_2F ID2D1LinearGradientBrush::GetEndPoint() ID2D1LinearGradientBrush::GetEndPoint

Retrieves the associated with this linear gradient brush.

No documentation.

contains an array of structures and information, such as the extend mode and the color interpolation mode.

dd371496 void ID2D1LinearGradientBrush::GetGradientStopCollection([Out] ID2D1GradientStopCollection** gradientStopCollection) ID2D1LinearGradientBrush::GetGradientStopCollection
Creates an that contains the specified gradient stops and has the specified transform and base opacity. an instance of The start and end points of the gradient. A collection of structures that describe the colors in the brush's gradient and their locations along the gradient line. HRESULT CreateLinearGradientBrush([In] const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES* linearGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out] ID2D1LinearGradientBrush** linearGradientBrush) Creates an that contains the specified gradient stops and has the specified transform and base opacity. an instance of The start and end points of the gradient. The transform and base opacity of the new brush, or NULL. If this value is NULL, the brush defaults to a base opacity of 1.0f and the identity matrix as its transformation. A collection of structures that describe the colors in the brush's gradient and their locations along the gradient line. HRESULT CreateLinearGradientBrush([In] const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES* linearGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out] ID2D1LinearGradientBrush** linearGradientBrush)

A container for 3D lookup table data that can be passed to the LookupTable3D effect.

An ID2DLookupTable3D instance is created using or .

dn900453 ID2D1LookupTable3D ID2D1LookupTable3D
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion. Initializes a new instance of the .

Represents a set of vertices that form a list of triangles.

dd371508 ID2D1Mesh ID2D1Mesh
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Opens the mesh for population.

When this method returns, contains a reference to a reference to an that is used to populate the mesh. This parameter is passed uninitialized.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371510 HRESULT ID2D1Mesh::Open([Out] ID2D1TessellationSink** tessellationSink) ID2D1Mesh::Open
Create a mesh that uses triangles to describe a shape. To populate a mesh, use its {{Open}} method to obtain an . To draw the mesh, use the render target's {{FillMesh}} method. an instance of HRESULT CreateMesh([Out] ID2D1Mesh** mesh) Create a mesh that uses triangles to describe a shape and populates it with triangles. an instance of An array of structures that describe the triangles to add to this mesh. HRESULT CreateMesh([Out] ID2D1Mesh** mesh) Opens the mesh for population. When this method returns, contains a pointer to a pointer to an that is used to populate the mesh. This parameter is passed uninitialized. HRESULT Open([Out] ID2D1TessellationSink** tessellationSink)

A locking mechanism from a Direct2D factory that Direct2D uses to control exclusive resource access in an app that is uses multiple threads.

You can get an object by querying for it from an object.

You should use this lock while doing any operation on a Direct3D/DXGI surface. Direct2D will wait on any call until you leave the critical section.

Note?? Normal rendering is guarded automatically by an internal Direct2D lock.?
hh997713 ID2D1Multithread ID2D1Multithread
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Returns whether the Direct2D factory was created with the flag.

hh997715 GetMultithreadProtected GetMultithreadProtected BOOL ID2D1Multithread::GetMultithreadProtected()

Returns whether the Direct2D factory was created with the flag.

Returns true if the Direct2D factory was created as multi-threaded, or false if it was created as single-threaded.

hh997715 BOOL ID2D1Multithread::GetMultithreadProtected() ID2D1Multithread::GetMultithreadProtected

Enters the Direct2D API critical section, if it exists.

hh997714 void ID2D1Multithread::Enter() ID2D1Multithread::Enter

Leaves the Direct2D API critical section, if it exists.

hh997716 void ID2D1Multithread::Leave() ID2D1Multithread::Leave

Instructs the effect-rendering system to offset an input bitmap without inserting a rendering pass.

Because a rendering pass is not required, the interface derives from a transform node. This allows it to be inserted into a graph but does not allow an output buffer to be specified.

hh446820 ID2D1OffsetTransform ID2D1OffsetTransform
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Sets the offset in the current offset transform.

The new offset to apply to the offset transform.

hh446824 void ID2D1OffsetTransform::SetOffset([In] POINT offset) ID2D1OffsetTransform::SetOffset

Gets the offset currently in the offset transform.

The current transform offset.

hh446822 POINT ID2D1OffsetTransform::GetOffset() ID2D1OffsetTransform::GetOffset
Initializes a new instance of class The effect context The offset transformation HRESULT ID2D1EffectContext::CreateOffsetTransform([In] POINT offset,[Out, Fast] ID2D1OffsetTransform** transform)

Represents a complex shape that may be composed of arcs, curves, and lines.

An object enables you to describe a geometric path. To describe an object's path, use the object's Open method to retrieve an . Use the sink to populate the path geometry with figures and segments.

dd371512 ID2D1PathGeometry ID2D1PathGeometry
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves the number of segments in the path geometry.

dd371520 GetSegmentCount GetSegmentCount HRESULT ID2D1PathGeometry::GetSegmentCount([Out] unsigned int* count)

Retrieves the number of figures in the path geometry.

dd371515 GetFigureCount GetFigureCount HRESULT ID2D1PathGeometry::GetFigureCount([Out] unsigned int* count)

Retrieves the geometry sink that is used to populate the path geometry with figures and segments.

When this method returns, geometrySink contains the address of a reference to the geometry sink that is used to populate the path geometry with figures and segments. This parameter is passed uninitialized.

Because path geometries are immutable and can only be populated once, it is an error to call Open on a path geometry more than once.

Note that the fill mode defaults to . To set the fill mode, call SetFillMode before the first call to BeginFigure. Failure to do so will put the geometry sink in an error state.

dd371522 HRESULT ID2D1PathGeometry::Open([Out] ID2D1GeometrySink** geometrySink) ID2D1PathGeometry::Open

Copies the contents of the path geometry to the specified .

No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371525 HRESULT ID2D1PathGeometry::Stream([In] ID2D1GeometrySink* geometrySink) ID2D1PathGeometry::Stream

Retrieves the number of segments in the path geometry.

A reference that receives the number of segments in the path geometry when this method returns. You must allocate storage for this parameter.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371520 HRESULT ID2D1PathGeometry::GetSegmentCount([Out] unsigned int* count) ID2D1PathGeometry::GetSegmentCount

Retrieves the number of figures in the path geometry.

A reference that receives the number of figures in the path geometry when this method returns. You must allocate storage for this parameter.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371515 HRESULT ID2D1PathGeometry::GetFigureCount([Out] unsigned int* count) ID2D1PathGeometry::GetFigureCount
Creates an empty . an instance of Copies the contents of the path geometry to the specified . The sink to which the path geometry's contents are copied. Modifying this sink does not change the contents of this path geometry. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT Stream([In] ID2D1GeometrySink* geometrySink)

The interface adds functionality to . In particular, it provides the path geometry-specific ComputePointAndSegmentAtLength method.

This interface adds functionality to .

hh446826 ID2D1PathGeometry1 ID2D1PathGeometry1
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Computes the point that exists at a given distance along the path geometry along with the index of the segment the point is on and the directional vector at that point.

The distance to walk along the path.

The index of the segment at which to begin walking. Note: This index is global to the entire path, not just a particular figure.

The transform to apply to the path prior to walking.

The flattening tolerance to use when walking along an arc or Bezier segment. The flattening tolerance is the maximum error allowed when constructing a polygonal approximation of the geometry. No point in the polygonal representation will diverge from the original geometry by more than the flattening tolerance. Smaller values produce more accurate results but cause slower execution.

When this method returns, contains a description of the point that can be found at the given location.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGOne of the inputs was in an invalid range.

?

dn900454 HRESULT ID2D1PathGeometry1::ComputePointAndSegmentAtLength([In] float length,[In] unsigned int startSegment,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out] D2D1_POINT_DESCRIPTION* pointDescription) ID2D1PathGeometry1::ComputePointAndSegmentAtLength
Initializes a new instance of the class. The factory. HRESULT ID2D1Factory1::CreatePathGeometry([Out, Fast] ID2D1PathGeometry1** pathGeometry)

Converts Direct2D primitives stored in an into a fixed page representation. The print sub-system then consumes the primitives.

hh847997 ID2D1PrintControl ID2D1PrintControl
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Converts Direct2D primitives in the passed-in command list into a fixed page representation for use by the print subsystem.

The command list that contains the rendering operations.

The size of the page to add.

The print ticket stream.

Contains the first label for subsequent drawing operations. This parameter is passed uninitialized. If null is specified, no value is retrieved for this parameter.

Contains the second label for subsequent drawing operations. This parameter is passed uninitialized. If null is specified, no value is retrieved for this parameter.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.
The print job is already finished.

?

hh847998 HRESULT ID2D1PrintControl::AddPage([In] ID2D1CommandList* commandList,[In] D2D_SIZE_F pageSize,[In, Optional] IStream* pagePrintTicketStream,[Out, Optional] unsigned longlong* tag1,[Out, Optional] unsigned longlong* tag2) ID2D1PrintControl::AddPage

Passes all remaining resources to the print sub-system, then clean up and close the current print job.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.
The print job is already finished.

?

hh848001 HRESULT ID2D1PrintControl::Close() ID2D1PrintControl::Close
Initializes a new instance of the class. The device. The WIC factory. The document target. HRESULT ID2D1Device::CreatePrintControl([In] IWICImagingFactory* wicFactory,[In] IPrintDocumentPackageTarget* documentTarget,[In, Optional] const D2D1_PRINT_CONTROL_PROPERTIES* printControlProperties,[Out] ID2D1PrintControl** printControl) HRESULT ID2D1Device::CreatePrintControl([In] IWICImagingFactory* wicFactory,[In] IPrintDocumentPackageTarget* documentTarget,[In, Optional] const D2D1_PRINT_CONTROL_PROPERTIES* printControlProperties,[Out] ID2D1PrintControl** printControl)

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

TBD

No documentation. No documentation. No documentation. hh847997 HRESULT ID2D1PrintControl::AddPage([In] ID2D1CommandList* commandList,[In] D2D_SIZE_F pageSize,[In, Optional] IStream* pagePrintTicketStream,[Out, Optional] unsigned longlong* tag1,[Out, Optional] unsigned longlong* tag2) ID2D1PrintControl::AddPage

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

TBD

No documentation. No documentation. No documentation. No documentation. No documentation. hh847997 HRESULT ID2D1PrintControl::AddPage([In] ID2D1CommandList* commandList,[In] D2D_SIZE_F pageSize,[In, Optional] IStream* pagePrintTicketStream,[Out, Optional] unsigned longlong* tag1,[Out, Optional] unsigned longlong* tag2) ID2D1PrintControl::AddPage

Represents a set of run-time bindable and discoverable properties that allow a data-driven application to modify the state of a Direct2D effect.

This interface supports access through either indices or property names. In addition to top-level properties, each property in an object may contain an object, which stores metadata describing the parent property.

hh446854 ID2D1Properties ID2D1Properties
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the number of top-level properties.

This method returns the number of custom properties on the interface. System properties and sub-properties are part of a closed set, and are enumerable by iterating over this closed set.

hh446857 GetPropertyCount GetPropertyCount unsigned int ID2D1Properties::GetPropertyCount()

Gets the number of top-level properties.

This method returns the number of custom (non-system) properties that can be accessed by the object.

This method returns the number of custom properties on the interface. System properties and sub-properties are part of a closed set, and are enumerable by iterating over this closed set.

hh446857 unsigned int ID2D1Properties::GetPropertyCount() ID2D1Properties::GetPropertyCount
Gets the property name that corresponds to the given index. No documentation. No documentation. No documentation. No documentation. jj151735 HRESULT ID2D1Properties::GetPropertyName([In] unsigned int index,[Out, Buffer] wchar_t* name,[In] unsigned int nameCount) ID2D1Properties::GetPropertyName

Gets the number of characters for the given property name. This is a template overload. See Remarks.

The index of the property name to retrieve.

This method returns the size in characters of the name corresponding to the given property index, or zero if the property index does not exist.

The value returned by this method can be used to ensure that the buffer size for GetPropertyName is appropriate.

template<typename U> UINT32 GetPropertyNameLength( U index ) CONST;
jj151733 unsigned int ID2D1Properties::GetPropertyNameLength([In] unsigned int index) ID2D1Properties::GetPropertyNameLength

Gets the of the selected property.

No documentation.

This method returns a -typed value for the type of the selected property.

If the property does not exist, the method returns .

hh446873 D2D1_PROPERTY_TYPE ID2D1Properties::GetType([In] unsigned int index) ID2D1Properties::GetType

Gets the index corresponding to the given property name.

The name of the property to retrieve.

The index of the corresponding property name.

If the property does not exist, this method returns D2D1_INVALID_PROPERTY_INDEX. This reserved value will never map to a valid index and will cause null or sentinel values to be returned from other parts of the property interface.

hh446861 unsigned int ID2D1Properties::GetPropertyIndex([In] const wchar_t* name) ID2D1Properties::GetPropertyIndex
Sets the named property to the given value. No documentation. No documentation. No documentation. No documentation. No documentation. hh997717 HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) ID2D1Properties::SetValueByName

Sets the corresponding property by index. This is a template overload. See Remarks.

The index of the property to set.

The data to set.

No documentation. No documentation.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
The specified property does not exist.
E_OUTOFMEMORYFailed to allocate necessary memory.
D3DERR_OUT_OF_VIDEO_MEMORYFailed to allocate required video memory.
E_INVALIDARGOne or more arguments are invalid.
E_FAILUnspecified failure.

?

template<typename T, typename U> SetValue( U index, _In_ const T &value );
jj151751 HRESULT ID2D1Properties::SetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) ID2D1Properties::SetValue

Gets the property value by name. This is a template overload. See Remarks.

The property name to get.

No documentation. No documentation. No documentation.

Returns the value requested.

If propertyName does not exist, no information is retrieved.

Any error not in the standard set returned by a property implementation will be mapped into the standard error range.

template<typename T> T GetValueByName( _In_ PCWSTR propertyName ) const;
jj151746 HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) ID2D1Properties::GetValueByName

Gets the value of the property by index. This is a template overload. See Remarks.

The index of the property from which the value is to be obtained.

No documentation. No documentation. No documentation.

Returns the value requested.

template<typename T, typename U> T GetValue( U index ) const;
jj151743 HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) ID2D1Properties::GetValue

Gets the size of the property value in bytes, using the property index. This is a template overload. See Remarks.

The index of the property.

This method returns size of the value in bytes, using the property index

This method returns zero if index does not exist.

template<typename U> UINT32 GetValueSize( U index ) CONST;
jj151748 unsigned int ID2D1Properties::GetValueSize([In] unsigned int index) ID2D1Properties::GetValueSize

Gets the sub-properties of the provided property by index. This is a template overload. See Remarks.

The index of the sub-properties to be retrieved.

When this method returns, contains the address of a reference to the sub-properties.

If there are no sub-properties, subProperties will be null, and will be returned.

template<typename U> GetSubProperties( U index, _Outptr_opt_ **subProperties ) CONST;
jj151736 HRESULT ID2D1Properties::GetSubProperties([In] unsigned int index,[Out, Optional] ID2D1Properties** subProperties) ID2D1Properties::GetSubProperties
Gets or sets Cached property. Gets the number of characters for the given property name. The index of the property for which the name is being returned. The name of the property This method returns an empty string if index is invalid. HRESULT ID2D1Properties::GetPropertyName([In] unsigned int index,[Out, Buffer] wchar_t* name,[In] unsigned int nameCount) Gets the value of the specified property by index. The index of the property from which the data is to be obtained. The value of the specified property by index. HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by index. The index of the property from which the data is to be obtained. The value of the specified property by index. HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by index. The index of the property from which the data is to be obtained. The value of the specified property by index. HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by index. The index of the property from which the data is to be obtained. The value of the specified property by index. HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by index. The index of the property from which the data is to be obtained. The value of the specified property by index. HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by index. The index of the property from which the data is to be obtained. The value of the specified property by index. HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by index. The index of the property from which the data is to be obtained. The value of the specified property by index. HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by index. The index of the property from which the data is to be obtained. The value of the specified property by index. HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by index. The index of the property from which the data is to be obtained. The value of the specified property by index. HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by index. The index of the property from which the data is to be obtained. The value of the specified property by index. HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by index. The index of the property from which the data is to be obtained. The value of the specified property by index. HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by index. The index of the property from which the data is to be obtained. The value of the specified property by index. HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by index. The index of the property from which the data is to be obtained. The value of the specified property by index. HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by index. The index of the property from which the data is to be obtained. The value of the specified property by index. HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by index. The index of the property from which the data is to be obtained. The value of the specified property by index. HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by index. The index of the property from which the data is to be obtained. The value of the specified property by index. HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by index. The index of the property from which the data is to be obtained. The value of the specified property by index. HRESULT ID2D1Properties::GetValue([In] unsigned int index,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by name. The name of the property. The value of the specified property by name. HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by name. The name of the property. The value of the specified property by name. HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by name. The name of the property. The value of the specified property by name. HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by name. The name of the property. The value of the specified property by name. HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by name. The name of the property. The value of the specified property by name. HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by name. The name of the property. The value of the specified property by name. HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by name. The name of the property. The value of the specified property by name. HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by name. The name of the property. The value of the specified property by name. HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by name. The name of the property. The value of the specified property by name. HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by name. The name of the property. The value of the specified property by name. HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by name. The name of the property. The value of the specified property by name. HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by name. The name of the property. The value of the specified property by name. HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by name. The name of the property. The value of the specified property by name. HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by name. The name of the property. The value of the specified property by name. HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by name. The name of the property. The value of the specified property by name. HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Gets the value of the specified property by name. The name of the property. Specifies the type of property to get. The value of the specified property by name. HRESULT ID2D1Properties::GetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[Out, Buffer] void* data,[In] unsigned int dataSize) Sets the named property to the given value. Name of the property Value of the property HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Name of the property Value of the property HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Name of the property Value of the property HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Name of the property Value of the property HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Name of the property Value of the property HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Name of the property Value of the property HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Name of the property Value of the property HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Name of the property Value of the property HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Name of the property Value of the property HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Name of the property Value of the property HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Name of the property Value of the property HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Name of the property Value of the property HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Name of the property Value of the property HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Name of the property Value of the property HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Name of the property Value of the property HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Name of the property Specifies the type of property to set. Value of the property HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Index of the property Value of the property HRESULT ID2D1Properties::SetValueByName([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Index of the property Value of the property HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Index of the property Value of the property HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Index of the property Value of the property HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Index of the property Value of the property HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Index of the property Value of the property HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Index of the property Value of the property HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Index of the property Value of the property HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Index of the property Value of the property HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Index of the property Value of the property HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Index of the property Value of the property HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Index of the property Value of the property HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Index of the property Value of the property HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Index of the property Value of the property HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Index of the property Value of the property HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Index of the property Value of the property HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Index of the property Value of the property HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize) Sets the named property to the given value. Index of the property Specifies the type of property to set. Value of the property HRESULT ID2D1Properties::SetValue([In] const wchar_t* name,[In] D2D1_PROPERTY_TYPE type,[In, Buffer] const void* data,[In] unsigned int dataSize)

Paints an area with a radial gradient.

The is similar to the in that they both map a collection of gradient stops to a gradient. However, the linear gradient has a start and an end point to define the gradient vector, while the radial gradient uses an ellipse and a gradient origin to define its gradient behavior. To define the position and size of the ellipse, use the SetCenter, SetRadiusX, and SetRadiusY methods to specify the center, x-radius, and y-radius of the ellipse. The gradient origin is the center of the ellipse, unless a gradient offset is specified by using the SetGradientOriginOffset method.

The brush maps the gradient stop position 0.0f of the gradient origin, and the position 1.0f is mapped to the ellipse boundary. When the gradient origin is within the ellipse, the contents of the ellipse enclose the entire [0, 1] range of the brush gradient stops. If the gradient origin is outside the bounds of the ellipse, the brush still works, but its gradient is not well-defined.

The start point and end point are described in the brush space and are mappped to the render target when the brush is used. Note the starting and ending coordinates are absolute, not relative to the render target size. A value of (0, 0) maps to the upper-left corner of the render target, while a value of (1, 1) maps just one pixel diagonally away from (0, 0). If there is a nonidentity brush transform or render target transform, the brush ellipse and gradient origin are also transformed.

It is possible to specify an ellipse that does not completely fill area being painted. When this occurs, the and setting (specified by the brush ) determines how the remaining area is painted.

dd371529 ID2D1RadialGradientBrush ID2D1RadialGradientBrush
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves or sets the center of the gradient ellipse.

dd371532 GetCenter / SetCenter GetCenter D2D_POINT_2F ID2D1RadialGradientBrush::GetCenter()

Retrieves or sets the offset of the gradient origin relative to the gradient ellipse's center.

dd371535 GetGradientOriginOffset / SetGradientOriginOffset GetGradientOriginOffset D2D_POINT_2F ID2D1RadialGradientBrush::GetGradientOriginOffset()

Retrieves or sets the x-radius of the gradient ellipse.

dd371542 GetRadiusX / SetRadiusX GetRadiusX float ID2D1RadialGradientBrush::GetRadiusX()

Retrieves or sets the y-radius of the gradient ellipse.

dd371544 GetRadiusY / SetRadiusY GetRadiusY float ID2D1RadialGradientBrush::GetRadiusY()

Retrieves the associated with this radial gradient brush object.

contains an array of structures and additional information, such as the extend mode and the color interpolation mode.

dd371539 GetGradientStopCollection GetGradientStopCollection void ID2D1RadialGradientBrush::GetGradientStopCollection([Out] ID2D1GradientStopCollection** gradientStopCollection)

Specifies the center of the gradient ellipse in the brush's coordinate space.

The center of the gradient ellipse, in the brush's coordinate space.

dd371547 void ID2D1RadialGradientBrush::SetCenter([In] D2D_POINT_2F center) ID2D1RadialGradientBrush::SetCenter

Specifies the offset of the gradient origin relative to the gradient ellipse's center.

The offset of the gradient origin from the center of the gradient ellipse.

dd371550 void ID2D1RadialGradientBrush::SetGradientOriginOffset([In] D2D_POINT_2F gradientOriginOffset) ID2D1RadialGradientBrush::SetGradientOriginOffset

Specifies the x-radius of the gradient ellipse, in the brush's coordinate space.

The x-radius of the gradient ellipse. This value is in the brush's coordinate space.

dd371553 void ID2D1RadialGradientBrush::SetRadiusX([In] float radiusX) ID2D1RadialGradientBrush::SetRadiusX

Specifies the y-radius of the gradient ellipse, in the brush's coordinate space.

The y-radius of the gradient ellipse. This value is in the brush's coordinate space.

dd371557 void ID2D1RadialGradientBrush::SetRadiusY([In] float radiusY) ID2D1RadialGradientBrush::SetRadiusY

Retrieves the center of the gradient ellipse.

The center of the gradient ellipse. This value is expressed in the brush's coordinate space.

dd371532 D2D_POINT_2F ID2D1RadialGradientBrush::GetCenter() ID2D1RadialGradientBrush::GetCenter

Retrieves the offset of the gradient origin relative to the gradient ellipse's center.

The offset of the gradient origin from the center of the gradient ellipse. This value is expressed in the brush's coordinate space.

dd371535 D2D_POINT_2F ID2D1RadialGradientBrush::GetGradientOriginOffset() ID2D1RadialGradientBrush::GetGradientOriginOffset

Retrieves the x-radius of the gradient ellipse.

The x-radius of the gradient ellipse. This value is expressed in the brush's coordinate space.

dd371542 float ID2D1RadialGradientBrush::GetRadiusX() ID2D1RadialGradientBrush::GetRadiusX

Retrieves the y-radius of the gradient ellipse.

The y-radius of the gradient ellipse. This value is expressed in the brush's coordinate space.

dd371544 float ID2D1RadialGradientBrush::GetRadiusY() ID2D1RadialGradientBrush::GetRadiusY

Retrieves the associated with this radial gradient brush object.

No documentation.

contains an array of structures and additional information, such as the extend mode and the color interpolation mode.

dd371539 void ID2D1RadialGradientBrush::GetGradientStopCollection([Out] ID2D1GradientStopCollection** gradientStopCollection) ID2D1RadialGradientBrush::GetGradientStopCollection
Creates an that contains the specified gradient stops and has the specified transform and base opacity. an instance of The center, gradient origin offset, and x-radius and y-radius of the brush's gradient. A collection of structures that describe the colors in the brush's gradient and their locations along the gradient. HRESULT CreateRadialGradientBrush([In] const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES* radialGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out] ID2D1RadialGradientBrush** radialGradientBrush) Creates an that contains the specified gradient stops and has the specified transform and base opacity. an instance of The center, gradient origin offset, and x-radius and y-radius of the brush's gradient. A collection of structures that describe the colors in the brush's gradient and their locations along the gradient. HRESULT CreateRadialGradientBrush([In] const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES* radialGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out] ID2D1RadialGradientBrush** radialGradientBrush) Creates an that contains the specified gradient stops and has the specified transform and base opacity. an instance of The center, gradient origin offset, and x-radius and y-radius of the brush's gradient. The transform and base opacity of the new brush, or NULL. If this value is NULL, the brush defaults to a base opacity of 1.0f and the identity matrix as its transformation. A collection of structures that describe the colors in the brush's gradient and their locations along the gradient. HRESULT CreateRadialGradientBrush([In] const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES* radialGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out] ID2D1RadialGradientBrush** radialGradientBrush) Creates an that contains the specified gradient stops and has the specified transform and base opacity. an instance of The center, gradient origin offset, and x-radius and y-radius of the brush's gradient. The transform and base opacity of the new brush, or NULL. If this value is NULL, the brush defaults to a base opacity of 1.0f and the identity matrix as its transformation. A collection of structures that describe the colors in the brush's gradient and their locations along the gradient. HRESULT CreateRadialGradientBrush([In] const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES* radialGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out] ID2D1RadialGradientBrush** radialGradientBrush)

Describes a two-dimensional rectangle.

dd371561 ID2D1RectangleGeometry ID2D1RectangleGeometry
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves the rectangle that describes the rectangle geometry's dimensions.

dd371762 GetRect GetRect void ID2D1RectangleGeometry::GetRect([Out] D2D_RECT_F* rect)

Retrieves the rectangle that describes the rectangle geometry's dimensions.

Contains a reference to a rectangle that describes the rectangle geometry's dimensions when this method returns. You must allocate storage for this parameter.

dd371762 void ID2D1RectangleGeometry::GetRect([Out] D2D_RECT_F* rect) ID2D1RectangleGeometry::GetRect
Creates an . an instance of The coordinates of the rectangle geometry.

Describes the render information common to all of the various transform implementations.

This interface is used by a transform implementation to first describe and then indicate changes to the rendering pass that corresponds to the transform.

hh446890 ID2D1RenderInfo ID2D1RenderInfo
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Specifies that the output of the transform in which the render information is encapsulated is or is not cached.

hh446891 SetCached SetCached void ID2D1RenderInfo::SetCached([In] BOOL isCached)

Provides an estimated hint of shader execution cost to D2D.

The instruction count may be set according to the number of instructions in the shader. This information is used as a hint when rendering extremely large images. Calling this API is optional, but it may improve performance if you provide an accurate number.

Note??Instructions that occur in a loop should be counted according to the number of loop iterations.?
hh871466 SetInstructionCountHint SetInstructionCountHint void ID2D1RenderInfo::SetInstructionCountHint([In] unsigned int instructionCount)

Sets how a specific input to the transform should be handled by the renderer in terms of sampling.

The index of the input that will have the input description applied.

The description of the input to be applied to the transform.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

The input description must be matched correctly by the effect shader code.

hh446892 HRESULT ID2D1RenderInfo::SetInputDescription([In] unsigned int inputIndex,[In] D2D1_INPUT_DESCRIPTION inputDescription) ID2D1RenderInfo::SetInputDescription

Allows a caller to control the output precision and channel-depth of the transform in which the render information is encapsulated.

The type of buffer that should be used as an output from this transform.

The number of channels that will be used on the output buffer.

If the method succeeds, it returns . If it fails, it returns an error code.

If the output precision of the transform is not specified, then it will default to the precision specified on the Direct2D device context. The maximum of 16bpc UNORM and 16bpc FLOAT is 32bpc FLOAT.

The output channel depth will match the maximum of the input channel depths if the channel depth is .

There is no global output channel depth, this is always left to the control of the transforms.

hh446893 HRESULT ID2D1RenderInfo::SetOutputBuffer([In] D2D1_BUFFER_PRECISION bufferPrecision,[In] D2D1_CHANNEL_DEPTH channelDepth) ID2D1RenderInfo::SetOutputBuffer

Specifies that the output of the transform in which the render information is encapsulated is or is not cached.

TRUE if the output of the transform is cached; otherwise, .

hh446891 void ID2D1RenderInfo::SetCached([In] BOOL isCached) ID2D1RenderInfo::SetCached

Provides an estimated hint of shader execution cost to D2D.

An approximate instruction count of the associated shader.

The instruction count may be set according to the number of instructions in the shader. This information is used as a hint when rendering extremely large images. Calling this API is optional, but it may improve performance if you provide an accurate number.

Note??Instructions that occur in a loop should be counted according to the number of loop iterations.?
hh871466 void ID2D1RenderInfo::SetInstructionCountHint([In] unsigned int instructionCount) ID2D1RenderInfo::SetInstructionCountHint

Represents an object that can receive drawing commands. Interfaces that inherit from render the drawing commands they receive in different ways.

Your application should create render targets once and hold onto them for the life of the application or until the render target's EndDraw method returns the error. When you receive this error, you need to recreate the render target (and any resources it created).

dd371766 ID2D1RenderTarget ID2D1RenderTarget
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets or sets the current transform of the render target.

dd316845 GetTransform / SetTransform GetTransform void ID2D1RenderTarget::GetTransform([Out] D2D_MATRIX_3X2_F* transform)

Retrieves or sets the current antialiasing mode for nontext drawing operations.

dd316805 GetAntialiasMode / SetAntialiasMode GetAntialiasMode D2D1_ANTIALIAS_MODE ID2D1RenderTarget::GetAntialiasMode()

Gets or sets the current antialiasing mode for text and glyph drawing operations.

dd316835 GetTextAntialiasMode / SetTextAntialiasMode GetTextAntialiasMode D2D1_TEXT_ANTIALIAS_MODE ID2D1RenderTarget::GetTextAntialiasMode()

Retrieves or sets the render target's current text rendering options.

If the settings specified by textRenderingParams are incompatible with the render target's text antialiasing mode (specified by SetTextAntialiasMode), subsequent text and glyph drawing operations will fail and put the render target into an error state.

dd316841 GetTextRenderingParams / SetTextRenderingParams GetTextRenderingParams void ID2D1RenderTarget::GetTextRenderingParams([Out, Optional] IDWriteRenderingParams** textRenderingParams)

Retrieves the pixel format and alpha mode of the render target.

dd316814 GetPixelFormat GetPixelFormat D2D1_PIXEL_FORMAT ID2D1RenderTarget::GetPixelFormat()

Returns the size of the render target in device-independent pixels.

dd316823 GetSize GetSize D2D_SIZE_F ID2D1RenderTarget::GetSize()

Returns the size of the render target in device pixels.

dd316820 GetPixelSize GetPixelSize D2D_SIZE_U ID2D1RenderTarget::GetPixelSize()

Gets the maximum size, in device-dependent units (pixels), of any one bitmap dimension supported by the render target.

This method returns the maximum texture size of the Direct3D device.

Note??The software renderer and WARP devices return the value of 16 megapixels (16*1024*1024). You can create a Direct2D texture that is this size, but not a Direct3D texture that is this size.?
dd742853 GetMaximumBitmapSize GetMaximumBitmapSize unsigned int ID2D1RenderTarget::GetMaximumBitmapSize()

Creates a Direct2D bitmap from a reference to in-memory source data.

The dimension of the bitmap to create in pixels.

A reference to the memory location of the image data, or null to create an uninitialized bitmap.

The byte count of each scanline, which is equal to (the image width in pixels ? the number of bytes per pixel) + memory padding. If srcData is null, this value is ignored. (Note that pitch is also sometimes called stride.)

The pixel format and dots per inch (DPI) of the bitmap to create.

When this method returns, contains a reference to a reference to the new bitmap. This parameter is passed uninitialized.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371800 HRESULT ID2D1RenderTarget::CreateBitmap([In] D2D_SIZE_U size,[In, Optional] const void* srcData,[In] unsigned int pitch,[In] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) ID2D1RenderTarget::CreateBitmap

Creates an by copying the specified Microsoft Windows Imaging Component (WIC) bitmap.

No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

Before Direct2D can load a WIC bitmap, that bitmap must be converted to a supported pixel format and alpha mode. For a list of supported pixel formats and alpha modes, see Supported Pixel Formats and Alpha Modes.

dd371797 HRESULT ID2D1RenderTarget::CreateBitmapFromWicBitmap([In] IWICBitmapSource* wicBitmapSource,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out] ID2D1Bitmap** bitmap) ID2D1RenderTarget::CreateBitmapFromWicBitmap

Creates an whose data is shared with another resource.

No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

The CreateSharedBitmap method is useful for efficiently reusing bitmap data and can also be used to provide interoperability with Direct3D.

dd371865 HRESULT ID2D1RenderTarget::CreateSharedBitmap([In] const GUID& riid,[In] void* data,[In, Optional] const D2D1_BITMAP_PROPERTIES* bitmapProperties,[Out, Fast] ID2D1Bitmap** bitmap) ID2D1RenderTarget::CreateSharedBitmap

Creates an from the specified bitmap.

No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371788 HRESULT ID2D1RenderTarget::CreateBitmapBrush([In, Optional] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_BITMAP_BRUSH_PROPERTIES* bitmapBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1BitmapBrush** bitmapBrush) ID2D1RenderTarget::CreateBitmapBrush

Creates a new that has the specified color and a base opacity of 1.0f.

No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371871 HRESULT ID2D1RenderTarget::CreateSolidColorBrush([In] const D2D_COLOR_F* color,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[Out, Fast] ID2D1SolidColorBrush** solidColorBrush) ID2D1RenderTarget::CreateSolidColorBrush

Creates an from the specified gradient stops that uses the color interpolation gamma and the clamp extend mode.

No documentation. No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371832 HRESULT ID2D1RenderTarget::CreateGradientStopCollection([In, Buffer] const D2D1_GRADIENT_STOP* gradientStops,[In] unsigned int gradientStopsCount,[In] D2D1_GAMMA colorInterpolationGamma,[In] D2D1_EXTEND_MODE extendMode,[Out, Fast] ID2D1GradientStopCollection** gradientStopCollection) ID2D1RenderTarget::CreateGradientStopCollection

Creates an that contains the specified gradient stops, has no transform, and has a base opacity of 1.0.

No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371845 HRESULT ID2D1RenderTarget::CreateLinearGradientBrush([In] const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES* linearGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out, Fast] ID2D1LinearGradientBrush** linearGradientBrush) ID2D1RenderTarget::CreateLinearGradientBrush

Creates an that contains the specified gradient stops, has no transform, and has a base opacity of 1.0.

No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371859 HRESULT ID2D1RenderTarget::CreateRadialGradientBrush([In] const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES* radialGradientBrushProperties,[In, Optional] const D2D1_BRUSH_PROPERTIES* brushProperties,[In] ID2D1GradientStopCollection* gradientStopCollection,[Out, Fast] ID2D1RadialGradientBrush** radialGradientBrush) ID2D1RenderTarget::CreateRadialGradientBrush

Creates a new bitmap render target for use during intermediate offscreen drawing that is compatible with the current render target and has the same size, DPI, and pixel format (but not alpha mode) as the current render target.

When this method returns, contains a reference to a reference to a new bitmap render target. This parameter is passed uninitialized.

No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

The bitmap render target created by this method is not compatible with GDI and has an alpha mode of .

dd371825 HRESULT ID2D1RenderTarget::CreateCompatibleRenderTarget([In, Optional] const D2D_SIZE_F* desiredSize,[In, Optional] const D2D_SIZE_U* desiredPixelSize,[In, Optional] const D2D1_PIXEL_FORMAT* desiredFormat,[In] D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options,[Out, Fast] ID2D1BitmapRenderTarget** bitmapRenderTarget) ID2D1RenderTarget::CreateCompatibleRenderTarget

Creates a layer resource that can be used with this render target and its compatible render targets. The new layer has the specified initial size.

If (0, 0) is specified, no backing store is created behind the layer resource. The layer resource is allocated to the minimum size when PushLayer is called.

When the method returns, contains a reference to a reference to the new layer. This parameter is passed uninitialized.

If this method succeeds, it returns . Otherwise, it returns an error code.

Regardless of whether a size is initially specified, the layer automatically resizes as needed.

dd371835 HRESULT ID2D1RenderTarget::CreateLayer([In, Optional] const D2D_SIZE_F* size,[Out, Fast] ID2D1Layer** layer) ID2D1RenderTarget::CreateLayer

Create a mesh that uses triangles to describe a shape.

When this method returns, contains a reference to a reference to the new mesh.

If this method succeeds, it returns . Otherwise, it returns an error code.

To populate a mesh, use its Open method to obtain an . To draw the mesh, use the render target's FillMesh method.

dd371851 HRESULT ID2D1RenderTarget::CreateMesh([Out, Fast] ID2D1Mesh** mesh) ID2D1RenderTarget::CreateMesh

Draws a line between the specified points using the specified stroke style.

The start point of the line, in device-independent pixels.

The end point of the line, in device-independent pixels.

The brush used to paint the line's stroke.

The width of the stroke, in device-independent pixels. The value must be greater than or equal to 0.0f. If this parameter isn't specified, it defaults to 1.0f. The stroke is centered on the line.

The style of stroke to paint, or null to paint a solid line.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawLine) failed, check the result returned by the or methods.

dd371895 void ID2D1RenderTarget::DrawLine([In] D2D_POINT_2F point0,[In] D2D_POINT_2F point1,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) ID2D1RenderTarget::DrawLine

Draws the outline of a rectangle that has the specified dimensions and stroke style.

The dimensions of the rectangle to draw, in device-independent pixels.

The brush used to paint the rectangle's stroke.

The width of the stroke, in device-independent pixels. The value must be greater than or equal to 0.0f. If this parameter isn't specified, it defaults to 1.0f. The stroke is centered on the line.

The style of stroke to paint, or null to paint a solid stroke.

When this method fails, it does not return an error code. To determine whether a drawing method (such as DrawRectangle) failed, check the result returned by the or method.

dd371902 void ID2D1RenderTarget::DrawRectangle([In] const D2D_RECT_F* rect,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) ID2D1RenderTarget::DrawRectangle

Paints the interior of the specified rectangle.

The dimension of the rectangle to paint, in device-independent pixels.

The brush used to paint the rectangle's interior.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as FillRectangle) failed, check the result returned by the or methods.

dd371954 void ID2D1RenderTarget::FillRectangle([In] const D2D_RECT_F* rect,[In] ID2D1Brush* brush) ID2D1RenderTarget::FillRectangle

Draws the outline of the specified rounded rectangle using the specified stroke style.

The dimensions of the rounded rectangle to draw, in device-independent pixels.

The brush used to paint the rounded rectangle's outline.

The width of the stroke, in device-independent pixels. The value must be greater than or equal to 0.0f. If this parameter isn't specified, it defaults to 1.0f. The stroke is centered on the line.

The style of the rounded rectangle's stroke, or null to paint a solid stroke. The default value is null.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawRoundedRectangle) failed, check the result returned by the or methods.

dd371908 void ID2D1RenderTarget::DrawRoundedRectangle([In] const D2D1_ROUNDED_RECT* roundedRect,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) ID2D1RenderTarget::DrawRoundedRectangle

Paints the interior of the specified rounded rectangle.

The dimensions of the rounded rectangle to paint, in device-independent pixels.

The brush used to paint the interior of the rounded rectangle.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as FillRoundedRectangle) failed, check the result returned by the or methods.

dd371959 void ID2D1RenderTarget::FillRoundedRectangle([In] const D2D1_ROUNDED_RECT* roundedRect,[In] ID2D1Brush* brush) ID2D1RenderTarget::FillRoundedRectangle

Draws the outline of the specified ellipse using the specified stroke style.

The position and radius of the ellipse to draw, in device-independent pixels.

The brush used to paint the ellipse's outline.

The width of the stroke, in device-independent pixels. The value must be greater than or equal to 0.0f. If this parameter isn't specified, it defaults to 1.0f. The stroke is centered on the line.

The style of stroke to apply to the ellipse's outline, or null to paint a solid stroke.

The DrawEllipse method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawEllipse) failed, check the result returned by the or methods.

dd371886 void ID2D1RenderTarget::DrawEllipse([In] const D2D1_ELLIPSE* ellipse,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) ID2D1RenderTarget::DrawEllipse

Paints the interior of the specified ellipse.

The position and radius, in device-independent pixels, of the ellipse to paint.

The brush used to paint the interior of the ellipse.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as FillEllipse) failed, check the result returned by the or methods.

dd371928 void ID2D1RenderTarget::FillEllipse([In] const D2D1_ELLIPSE* ellipse,[In] ID2D1Brush* brush) ID2D1RenderTarget::FillEllipse

Draws the outline of the specified geometry using the specified stroke style.

The geometry to draw.

The brush used to paint the geometry's stroke.

The width of the stroke, in device-independent pixels. The value must be greater than or equal to 0.0f. If this parameter isn't specified, it defaults to 1.0f. The stroke is centered on the line.

The style of stroke to apply to the geometry's outline, or null to paint a solid stroke.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawGeometry) failed, check the result returned by the or methods.

dd371890 void ID2D1RenderTarget::DrawGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) ID2D1RenderTarget::DrawGeometry

Paints the interior of the specified geometry.

The geometry to paint.

The brush used to paint the geometry's interior.

The opacity mask to apply to the geometry, or null for no opacity mask. If an opacity mask (the opacityBrush parameter) is specified, brush must be an that has its x- and y-extend modes set to . For more information, see the Remarks section.

If the opacityBrush parameter is not null, the alpha value of each pixel of the mapped opacityBrush is used to determine the resulting opacity of each corresponding pixel of the geometry. Only the alpha value of each color in the brush is used for this processing; all other color information is ignored. The alpha value specified by the brush is multiplied by the alpha value of the geometry after the geometry has been painted by brush.

When this method fails, it does not return an error code. To determine whether a drawing operation (such as FillGeometry) failed, check the result returned by the or method.

dd371933 void ID2D1RenderTarget::FillGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[In, Optional] ID2D1Brush* opacityBrush) ID2D1RenderTarget::FillGeometry

Paints the interior of the specified mesh.

The mesh to paint.

The brush used to paint the mesh.

The current antialias mode of the render target must be when FillMesh is called. To change the render target's antialias mode, use the SetAntialiasMode method.

FillMesh does not expect a particular winding order for the triangles in the ; both clockwise and counter-clockwise will work.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as FillMesh) failed, check the result returned by the or methods.

dd371939 void ID2D1RenderTarget::FillMesh([In] ID2D1Mesh* mesh,[In] ID2D1Brush* brush) ID2D1RenderTarget::FillMesh
Applies the opacity mask described by the specified bitmap to a brush and uses that brush to paint a region of the render target. No documentation. No documentation. No documentation. No documentation. No documentation.

For this method to work properly, the render target must be using the antialiasing mode. You can set the antialiasing mode by calling the method.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as FillOpacityMask) failed, check the result returned by the or methods.

dd742850 void ID2D1RenderTarget::FillOpacityMask([In] ID2D1Bitmap* opacityMask,[In] ID2D1Brush* brush,[In] D2D1_OPACITY_MASK_CONTENT content,[In, Optional] const D2D_RECT_F* destinationRectangle,[In, Optional] const D2D_RECT_F* sourceRectangle) ID2D1RenderTarget::FillOpacityMask

Draws the specified bitmap after scaling it to the size of the specified rectangle.

The bitmap to render.

The size and position, in device-independent pixels in the render target's coordinate space, of the area to which the bitmap is drawn. If the rectangle is not well-ordered, nothing is drawn, but the render target does not enter an error state.

A value between 0.0f and 1.0f, inclusive, that specifies the opacity value to be applied to the bitmap; this value is multiplied against the alpha values of the bitmap's contents. Default is 1.0f.

The interpolation mode to use if the bitmap is scaled or rotated by the drawing operation. The default value is .

The size and position, in device-independent pixels in the bitmap's coordinate space, of the area within the bitmap to draw; null to draw the entire bitmap.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawBitmap) failed, check the result returned by the or methods.

dd371878 void ID2D1RenderTarget::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D_RECT_F* destinationRectangle,[In] float opacity,[In] D2D1_BITMAP_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D_RECT_F* sourceRectangle) ID2D1RenderTarget::DrawBitmap

Draws the specified text using the format information provided by an object.

No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation.

To create an object, create an and call its CreateTextFormat method.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawText) failed, check the result returned by the or methods.

dd371919 void ID2D1RenderTarget::DrawTextW([In, Buffer] const wchar_t* string,[In] unsigned int stringLength,[In] IDWriteTextFormat* textFormat,[In] const D2D_RECT_F* layoutRect,[In] ID2D1Brush* defaultFillBrush,[In] D2D1_DRAW_TEXT_OPTIONS options,[In] DWRITE_MEASURING_MODE measuringMode) ID2D1RenderTarget::DrawTextW

Draws the formatted text described by the specified object.

No documentation. No documentation. No documentation. No documentation.

When drawing the same text repeatedly, using the DrawTextLayout method is more efficient than using the DrawText method because the text doesn't need to be formatted and the layout processed with each call.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawTextLayout) failed, check the result returned by the or methods.

dd371913 void ID2D1RenderTarget::DrawTextLayout([In] D2D_POINT_2F origin,[In] IDWriteTextLayout* textLayout,[In] ID2D1Brush* defaultFillBrush,[In] D2D1_DRAW_TEXT_OPTIONS options) ID2D1RenderTarget::DrawTextLayout

Draws the specified glyphs.

The origin, in device-independent pixels, of the glyphs' baseline.

The glyphs to render.

The brush used to paint the specified glyphs.

A value that indicates how glyph metrics are used to measure text when it is formatted. The default value is .

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawGlyphRun) failed, check the result returned by the or methods.

dd371893 void ID2D1RenderTarget::DrawGlyphRun([In] D2D_POINT_2F baselineOrigin,[In] const DWRITE_GLYPH_RUN* glyphRun,[In] ID2D1Brush* foregroundBrush,[In] DWRITE_MEASURING_MODE measuringMode) ID2D1RenderTarget::DrawGlyphRun
Applies the specified transform to the render target, replacing the existing transformation. All subsequent drawing operations occur in the transformed space. No documentation. dd742857 void ID2D1RenderTarget::SetTransform([In] const D2D_MATRIX_3X2_F* transform) ID2D1RenderTarget::SetTransform

Gets the current transform of the render target.

When this returns, contains the current transform of the render target. This parameter is passed uninitialized.

dd316845 void ID2D1RenderTarget::GetTransform([Out] D2D_MATRIX_3X2_F* transform) ID2D1RenderTarget::GetTransform

Sets the antialiasing mode of the render target. The antialiasing mode applies to all subsequent drawing operations, excluding text and glyph drawing operations.

The antialiasing mode for future drawing operations.

To specify the antialiasing mode for text and glyph operations, use the SetTextAntialiasMode method.

dd316881 void ID2D1RenderTarget::SetAntialiasMode([In] D2D1_ANTIALIAS_MODE antialiasMode) ID2D1RenderTarget::SetAntialiasMode

Retrieves the current antialiasing mode for nontext drawing operations.

The current antialiasing mode for nontext drawing operations.

dd316805 D2D1_ANTIALIAS_MODE ID2D1RenderTarget::GetAntialiasMode() ID2D1RenderTarget::GetAntialiasMode

Specifies the antialiasing mode to use for subsequent text and glyph drawing operations.

The antialiasing mode to use for subsequent text and glyph drawing operations.

dd316897 void ID2D1RenderTarget::SetTextAntialiasMode([In] D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode) ID2D1RenderTarget::SetTextAntialiasMode

Gets the current antialiasing mode for text and glyph drawing operations.

The current antialiasing mode for text and glyph drawing operations.

dd316835 D2D1_TEXT_ANTIALIAS_MODE ID2D1RenderTarget::GetTextAntialiasMode() ID2D1RenderTarget::GetTextAntialiasMode

Specifies text rendering options to be applied to all subsequent text and glyph drawing operations.

The text rendering options to be applied to all subsequent text and glyph drawing operations; null to clear current text rendering options.

If the settings specified by textRenderingParams are incompatible with the render target's text antialiasing mode (specified by SetTextAntialiasMode), subsequent text and glyph drawing operations will fail and put the render target into an error state.

dd316898 void ID2D1RenderTarget::SetTextRenderingParams([In, Optional] IDWriteRenderingParams* textRenderingParams) ID2D1RenderTarget::SetTextRenderingParams

Retrieves the render target's current text rendering options.

When this method returns, textRenderingParamscontains the address of a reference to the render target's current text rendering options.

If the settings specified by textRenderingParams are incompatible with the render target's text antialiasing mode (specified by SetTextAntialiasMode), subsequent text and glyph drawing operations will fail and put the render target into an error state.

dd316841 void ID2D1RenderTarget::GetTextRenderingParams([Out, Optional] IDWriteRenderingParams** textRenderingParams) ID2D1RenderTarget::GetTextRenderingParams

Specifies a label for subsequent drawing operations.

A label to apply to subsequent drawing operations.

A label to apply to subsequent drawing operations.

The labels specified by this method are printed by debug error messages. If no tag is set, the default value for each tag is 0.

dd316892 void ID2D1RenderTarget::SetTags([In] unsigned longlong tag1,[In] unsigned longlong tag2) ID2D1RenderTarget::SetTags

Gets the label for subsequent drawing operations.

When this method returns, contains the first label for subsequent drawing operations. This parameter is passed uninitialized. If null is specified, no value is retrieved for this parameter.

When this method returns, contains the second label for subsequent drawing operations. This parameter is passed uninitialized. If null is specified, no value is retrieved for this parameter.

If the same address is passed for both parameters, both parameters receive the value of the second tag.

dd316830 void ID2D1RenderTarget::GetTags([Out, Optional] unsigned longlong* tag1,[Out, Optional] unsigned longlong* tag2) ID2D1RenderTarget::GetTags

Adds the specified layer to the render target so that it receives all subsequent drawing operations until PopLayer is called.

No documentation. No documentation.

The PushLayer method allows a caller to begin redirecting rendering to a layer. All rendering operations are valid in a layer. The location of the layer is affected by the world transform set on the render target.

Each PushLayer must have a matching PopLayer call. If there are more PopLayer calls than PushLayer calls, the render target is placed into an error state. If Flush is called before all outstanding layers are popped, the render target is placed into an error state, and an error is returned. The error state can be cleared by a call to EndDraw.

A particular resource can be active only at one time. In other words, you cannot call a PushLayer method, and then immediately follow with another PushLayer method with the same layer resource. Instead, you must call the second PushLayer method with different layer resources.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as PushLayer) failed, check the result returned by the or methods.

dd316869 void ID2D1RenderTarget::PushLayer([In] const D2D1_LAYER_PARAMETERS* layerParameters,[In, Optional] ID2D1Layer* layer) ID2D1RenderTarget::PushLayer

Stops redirecting drawing operations to the layer that is specified by the last PushLayer call.

A PopLayer must match a previous PushLayer call.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as PopLayer) failed, check the result returned by the or methods.

dd316852 void ID2D1RenderTarget::PopLayer() ID2D1RenderTarget::PopLayer

Executes all pending drawing commands.

When this method returns, contains the tag for drawing operations that caused errors or 0 if there were no errors. This parameter is passed uninitialized.

When this method returns, contains the tag for drawing operations that caused errors or 0 if there were no errors. This parameter is passed uninitialized.

If the method succeeds, it returns . Otherwise, it returns an error code and sets tag1 and tag2 to the tags that were active when the error occurred. If no error occurred, this method sets the error tag state to be (0,0).

This command does not flush the Direct3D device context that is associated with the render target.

Calling this method resets the error state of the render target.

dd316801 HRESULT ID2D1RenderTarget::Flush([Out, Optional] unsigned longlong* tag1,[Out, Optional] unsigned longlong* tag2) ID2D1RenderTarget::Flush

Saves the current drawing state to the specified .

No documentation. dd316876 void ID2D1RenderTarget::SaveDrawingState([InOut] ID2D1DrawingStateBlock* drawingStateBlock) ID2D1RenderTarget::SaveDrawingState

Sets the render target's drawing state to that of the specified .

No documentation. dd316872 void ID2D1RenderTarget::RestoreDrawingState([In] ID2D1DrawingStateBlock* drawingStateBlock) ID2D1RenderTarget::RestoreDrawingState

Specifies a rectangle to which all subsequent drawing operations are clipped.

The size and position of the clipping area, in device-independent pixels.

The antialiasing mode that is used to draw the edges of clip rects that have subpixel boundaries, and to blend the clip with the scene contents. The blending is performed once when the PopAxisAlignedClip method is called, and does not apply to each primitive within the layer.

The clipRect is transformed by the current world transform set on the render target. After the transform is applied to the clipRect that is passed in, the axis-aligned bounding box for the clipRect is computed. For efficiency, the contents are clipped to this axis-aligned bounding box and not to the original clipRect that is passed in.

The following diagrams show how a rotation transform is applied to the render target, the resulting clipRect, and a calculated axis-aligned bounding box.

  1. Assume the rectangle in the following illustration is a render target that is aligned to the screen pixels.

  2. Apply a rotation transform to the render target. In the following illustration, the black rectangle represents the original render target and the red dashed rectangle represents the transformed render target.

  3. After calling PushAxisAlignedClip, the rotation transform is applied to the clipRect. In the following illustration, the blue rectangle represents the transformed clipRect.

  4. The axis-aligned bounding box is calculated. The green dashed rectangle represents the bounding box in the following illustration. All contents are clipped to this axis-aligned bounding box.

Note??If rendering operations fail or if PopAxisAlignedClip is not called, clip rects may cause some artifacts on the render target. PopAxisAlignedClip can be considered a drawing operation that is designed to fix the borders of a clipping region. Without this call, the borders of a clipped area may be not antialiased or otherwise corrected.?

The PushAxisAlignedClip and PopAxisAlignedClip must match. Otherwise, the error state is set. For the render target to continue receiving new commands, you can call Flush to clear the error.

A PushAxisAlignedClip and PopAxisAlignedClip pair can occur around or within a PushLayer and PopLayer, but cannot overlap. For example, the sequence of PushAxisAlignedClip, PushLayer, PopLayer, PopAxisAlignedClip is valid, but the sequence of PushAxisAlignedClip, PushLayer, PopAxisAlignedClip, PopLayer is invalid.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as PushAxisAlignedClip) failed, check the result returned by the or methods.

dd316860 void ID2D1RenderTarget::PushAxisAlignedClip([In] const D2D_RECT_F* clipRect,[In] D2D1_ANTIALIAS_MODE antialiasMode) ID2D1RenderTarget::PushAxisAlignedClip

Removes the last axis-aligned clip from the render target. After this method is called, the clip is no longer applied to subsequent drawing operations.

A PushAxisAlignedClip/PopAxisAlignedClip pair can occur around or within a PushLayer/PopLayer pair, but may not overlap. For example, a PushAxisAlignedClip, PushLayer, PopLayer, PopAxisAlignedClip sequence is valid, but a PushAxisAlignedClip, PushLayer, PopAxisAlignedClip, PopLayer sequence is not.

PopAxisAlignedClip must be called once for every call to PushAxisAlignedClip.

For an example, see How to Clip with an Axis-Aligned Clip Rectangle.

This method doesn't return an error code if it fails. To determine whether a drawing operation (such as PopAxisAlignedClip) failed, check the result returned by the or methods.

dd316850 void ID2D1RenderTarget::PopAxisAlignedClip() ID2D1RenderTarget::PopAxisAlignedClip

Clears the drawing area to the specified color.

The color to which the drawing area is cleared, or null for transparent black.

Direct2D interprets the clearColor as straight alpha (not premultiplied). If the render target's alpha mode is , the alpha channel of clearColor is ignored and replaced with 1.0f (fully opaque).

If the render target has an active clip (specified by PushAxisAlignedClip), the clear command is applied only to the area within the clip region.

dd371769 void ID2D1RenderTarget::Clear([In, Optional] const D2D_COLOR_F* clearColor) ID2D1RenderTarget::Clear

Initiates drawing on this render target.

Drawing operations can only be issued between a BeginDraw and EndDraw call.

BeginDraw and EndDraw are used to indicate that a render target is in use by the Direct2D system. Different implementations of might behave differently when BeginDraw is called. An may be locked between BeginDraw/EndDraw calls, a DXGI surface render target might be acquired on BeginDraw and released on EndDraw, while an may begin batching at BeginDraw and may present on EndDraw, for example.

The BeginDraw method must be called before rendering operations can be called, though state-setting and state-retrieval operations can be performed even outside of BeginDraw/EndDraw.

After BeginDraw is called, a render target will normally build up a batch of rendering commands, but defer processing of these commands until either an internal buffer is full, the Flush method is called, or until EndDraw is called. The EndDraw method causes any batched drawing operations to complete, and then returns an indicating the success of the operations and, optionally, the tag state of the render target at the time the error occurred. The EndDraw method always succeeds: it should not be called twice even if a previous EndDraw resulted in a failing .

If EndDraw is called without a matched call to BeginDraw, it returns an error indicating that BeginDraw must be called before EndDraw. Calling BeginDraw twice on a render target puts the target into an error state where nothing further is drawn, and returns an appropriate and error information when EndDraw is called.

dd371768 void ID2D1RenderTarget::BeginDraw() ID2D1RenderTarget::BeginDraw

Ends drawing operations on the render target and indicates the current error state and associated tags.

When this method returns, contains the tag for drawing operations that caused errors or 0 if there were no errors. This parameter is passed uninitialized.

When this method returns, contains the tag for drawing operations that caused errors or 0 if there were no errors. This parameter is passed uninitialized.

If the method succeeds, it returns . Otherwise, it returns an error code and sets tag1 and tag2 to the tags that were active when the error occurred.

Drawing operations can only be issued between a BeginDraw and EndDraw call.

BeginDraw and EndDraw are use to indicate that a render target is in use by the Direct2D system. Different implementations of might behave differently when BeginDraw is called. An may be locked between BeginDraw/EndDraw calls, a DXGI surface render target might be acquired on BeginDraw and released on EndDraw, while an may begin batching at BeginDraw and may present on EndDraw, for example.

The BeginDraw method must be called before rendering operations can be called, though state-setting and state-retrieval operations can be performed even outside of BeginDraw/EndDraw.

After BeginDraw is called, a render target will normally build up a batch of rendering commands, but defer processing of these commands until either an internal buffer is full, the Flush method is called, or until EndDraw is called. The EndDraw method causes any batched drawing operations to complete, and then returns an indicating the success of the operations and, optionally, the tag state of the render target at the time the error occurred. The EndDraw method always succeeds: it should not be called twice even if a previous EndDraw resulted in a failing .

If EndDraw is called without a matched call to BeginDraw, it returns an error indicating that BeginDraw must be called before EndDraw. Calling BeginDraw twice on a render target puts the target into an error state where nothing further is drawn, and returns an appropriate and error information when EndDraw is called.

dd371924 HRESULT ID2D1RenderTarget::EndDraw([Out, Optional] unsigned longlong* tag1,[Out, Optional] unsigned longlong* tag2) ID2D1RenderTarget::EndDraw

Retrieves the pixel format and alpha mode of the render target.

The pixel format and alpha mode of the render target.

dd316814 D2D1_PIXEL_FORMAT ID2D1RenderTarget::GetPixelFormat() ID2D1RenderTarget::GetPixelFormat

Sets the dots per inch (DPI) of the render target.

A value greater than or equal to zero that specifies the horizontal DPI of the render target.

A value greater than or equal to zero that specifies the vertical DPI of the render target.

This method specifies the mapping from pixel space to device-independent space for the render target. If both dpiX and dpiY are 0, the factory-read system DPI is chosen. If one parameter is zero and the other unspecified, the DPI is not changed.

For , the DPI defaults to the most recently factory-read system DPI. The default value for all other render targets is 96 DPI.

dd316887 void ID2D1RenderTarget::SetDpi([In] float dpiX,[In] float dpiY) ID2D1RenderTarget::SetDpi

Return the render target's dots per inch (DPI).

When this method returns, contains the horizontal DPI of the render target. This parameter is passed uninitialized.

When this method returns, contains the vertical DPI of the render target. This parameter is passed uninitialized.

This method indicates the mapping from pixel space to device-independent space for the render target.

For , the DPI defaults to the most recently factory-read system DPI. The default value for all other render targets is 96 DPI.

dd316809 void ID2D1RenderTarget::GetDpi([Out] float* dpiX,[Out] float* dpiY) ID2D1RenderTarget::GetDpi

Returns the size of the render target in device-independent pixels.

The current size of the render target in device-independent pixels.

dd316823 D2D_SIZE_F ID2D1RenderTarget::GetSize() ID2D1RenderTarget::GetSize

Returns the size of the render target in device pixels.

The size of the render target in device pixels.

dd316820 D2D_SIZE_U ID2D1RenderTarget::GetPixelSize() ID2D1RenderTarget::GetPixelSize

Gets the maximum size, in device-dependent units (pixels), of any one bitmap dimension supported by the render target.

The maximum size, in pixels, of any one bitmap dimension supported by the render target.

This method returns the maximum texture size of the Direct3D device.

Note??The software renderer and WARP devices return the value of 16 megapixels (16*1024*1024). You can create a Direct2D texture that is this size, but not a Direct3D texture that is this size.?
dd742853 unsigned int ID2D1RenderTarget::GetMaximumBitmapSize() ID2D1RenderTarget::GetMaximumBitmapSize

Indicates whether the render target supports the specified properties.

The render target properties to test.

TRUE if the specified render target properties are supported by this render target; otherwise, .

This method does not evaluate the DPI settings specified by the renderTargetProperties parameter.

dd742854 BOOL ID2D1RenderTarget::IsSupported([In] const D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties) ID2D1RenderTarget::IsSupported
Default stroke width used for all methods that are not explicitly using it. Default is set to 1.0f. Get or set the default stroke width used for all methods that are not explicitly using it. Default is set to 1.0f. Creates a render target that draws to a DirectX Graphics Infrastructure (DXGI) surface. To write to a Direct3D surface, you obtain an and pass it to the {{CreateDxgiSurfaceRenderTarget}} method to create a DXGI surface render target; you can then use the DXGI surface render target to draw 2-D content to the DXGI surface. A DXGI surface render target is a type of . Like other Direct2D render targets, you can use it to create resources and issue drawing commands. The DXGI surface render target and the DXGI surface must use the same DXGI format. If you specify the {{DXGI_FORMAT_UNKOWN}} format when you create the render target, it will automatically use the surface's format.The DXGI surface render target does not perform DXGI surface synchronization. To work with Direct2D, the Direct3D device that provides the must be created with the D3D10_CREATE_DEVICE_BGRA_SUPPORT flag.For more information about creating and using DXGI surface render targets, see the {{Direct2D and Direct3D Interoperability Overview}}.When you create a render target and hardware acceleration is available, you allocate resources on the computer's GPU. By creating a render target once and retaining it as long as possible, you gain performance benefits. Your application should create render targets once and hold onto them for the life of the application or until the render target's {{EndDraw}} method returns the {{D2DERR_RECREATE_TARGET}} error. When you receive this error, you need to recreate the render target (and any resources it created). an instance of The DXGI surface to bind this render target to The rendering mode, pixel format, remoting options, DPI information, and the minimum DirectX support required for hardware rendering. For information about supported pixel formats, see {{Supported Pixel Formats and Alpha Modes}}. Draws the specified bitmap after scaling it to the size of the specified rectangle. This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawBitmap}}) failed, check the result returned by the or methods. The bitmap to render. A value between 0.0f and 1.0f, inclusive, that specifies an opacity value to apply to the bitmap; this value is multiplied against the alpha values of the bitmap's contents. The default value is 1.0f. The interpolation mode to use if the bitmap is scaled or rotated by the drawing operation. The default value is . void ID2D1RenderTarget::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_RECT_F* destinationRectangle,[None] float opacity,[None] D2D1_BITMAP_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D1_RECT_F* sourceRectangle) Draws the specified bitmap after scaling it to the size of the specified rectangle. This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawBitmap}}) failed, check the result returned by the or methods. The bitmap to render. The size and position, in device-independent pixels in the render target's coordinate space, of the area to which the bitmap is drawn; NULL to draw the selected portion of the bitmap at the origin of the render target. If the rectangle is specified but not well-ordered, nothing is drawn, but the render target does not enter an error state. A value between 0.0f and 1.0f, inclusive, that specifies an opacity value to apply to the bitmap; this value is multiplied against the alpha values of the bitmap's contents. The default value is 1.0f. The interpolation mode to use if the bitmap is scaled or rotated by the drawing operation. The default value is . void ID2D1RenderTarget::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_RECT_F* destinationRectangle,[None] float opacity,[None] D2D1_BITMAP_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D1_RECT_F* sourceRectangle) Draws the specified bitmap after scaling it to the size of the specified rectangle. This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawBitmap}}) failed, check the result returned by the or methods. The bitmap to render. A value between 0.0f and 1.0f, inclusive, that specifies an opacity value to apply to the bitmap; this value is multiplied against the alpha values of the bitmap's contents. The default value is 1.0f. The interpolation mode to use if the bitmap is scaled or rotated by the drawing operation. The default value is . The size and position, in device-independent pixels in the bitmap's coordinate space, of the area within the bitmap to be drawn; NULL to draw the entire bitmap. void ID2D1RenderTarget::DrawBitmap([In] ID2D1Bitmap* bitmap,[In, Optional] const D2D1_RECT_F* destinationRectangle,[None] float opacity,[None] D2D1_BITMAP_INTERPOLATION_MODE interpolationMode,[In, Optional] const D2D1_RECT_F* sourceRectangle) Draws the outline of the specified ellipse using the specified stroke style. The {{DrawEllipse}} method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawEllipse) failed, check the result returned by the or methods. The position and radius of the ellipse to draw, in device-independent pixels. The brush used to paint the ellipse's outline. void ID2D1RenderTarget::DrawEllipse([In] const D2D1_ELLIPSE* ellipse,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) Draws the outline of the specified ellipse using the specified stroke style. The {{DrawEllipse}} method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawEllipse) failed, check the result returned by the or methods. The position and radius of the ellipse to draw, in device-independent pixels. The brush used to paint the ellipse's outline. The thickness of the ellipse's stroke. The stroke is centered on the ellipse's outline. void ID2D1RenderTarget::DrawEllipse([In] const D2D1_ELLIPSE* ellipse,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) Draws the outline of the specified geometry. This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawGeometry) failed, check the result returned by the or methods. The geometry to draw. The brush used to paint the geometry's stroke. void ID2D1RenderTarget::DrawGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) Draws the outline of the specified geometry. This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawGeometry) failed, check the result returned by the or methods. The geometry to draw. The brush used to paint the geometry's stroke. The thickness of the geometry's stroke. The stroke is centered on the geometry's outline. void ID2D1RenderTarget::DrawGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) Draws a line between the specified points. This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawLine) failed, check the result returned by the or methods. The start point of the line, in device-independent pixels. The end point of the line, in device-independent pixels. The brush used to paint the line's stroke. void ID2D1RenderTarget::DrawLine([None] D2D1_POINT_2F point0,[None] D2D1_POINT_2F point1,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) Draws a line between the specified points. This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawLine) failed, check the result returned by the or methods. The start point of the line, in device-independent pixels. The end point of the line, in device-independent pixels. The brush used to paint the line's stroke. A value greater than or equal to 0.0f that specifies the width of the stroke. If this parameter isn't specified, it defaults to 1.0f. The stroke is centered on the line. void ID2D1RenderTarget::DrawLine([None] D2D1_POINT_2F point0,[None] D2D1_POINT_2F point1,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) Draws the outline of a rectangle that has the specified dimensions. When this method fails, it does not return an error code. To determine whether a drawing method (such as {{DrawRectangle}}) failed, check the result returned by the or method. The dimensions of the rectangle to draw, in device-independent pixels. The brush used to paint the rectangle's stroke. void ID2D1RenderTarget::DrawRectangle([In] const D2D1_RECT_F* rect,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) Draws the outline of a rectangle that has the specified dimensions and stroke style. When this method fails, it does not return an error code. To determine whether a drawing method (such as {{DrawRectangle}}) failed, check the result returned by the or method. The dimensions of the rectangle to draw, in device-independent pixels. The brush used to paint the rectangle's stroke. A value greater than or equal to 0.0f that specifies the width of the rectangle's stroke. The stroke is centered on the rectangle's outline. void ID2D1RenderTarget::DrawRectangle([In] const D2D1_RECT_F* rect,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) Draws the outline of the specified rounded rectangle. This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawRoundedRectangle}}) failed, check the result returned by the or methods. The dimensions of the rounded rectangle to draw, in device-independent pixels. The brush used to paint the rounded rectangle's outline. void ID2D1RenderTarget::DrawRoundedRectangle([In] const D2D1_ROUNDED_RECT* roundedRect,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) Draws the outline of the specified rounded rectangle. This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawRoundedRectangle}}) failed, check the result returned by the or methods. The dimensions of the rounded rectangle to draw, in device-independent pixels. The brush used to paint the rounded rectangle's outline. The width of the rounded rectangle's stroke. The stroke is centered on the rounded rectangle's outline. The default value is 1.0f. void ID2D1RenderTarget::DrawRoundedRectangle([In] const D2D1_ROUNDED_RECT* roundedRect,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) Draws the outline of the specified rounded rectangle using the specified stroke style. This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawRoundedRectangle}}) failed, check the result returned by the or methods. The dimensions of the rounded rectangle to draw, in device-independent pixels. The brush used to paint the rounded rectangle's outline. The width of the rounded rectangle's stroke. The stroke is centered on the rounded rectangle's outline. The default value is 1.0f. The style of the rounded rectangle's stroke, or NULL to paint a solid stroke. The default value is NULL. void ID2D1RenderTarget::DrawRoundedRectangle([In] const D2D1_ROUNDED_RECT* roundedRect,[In] ID2D1Brush* brush,[None] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle) Draws the specified text using the format information provided by an object. To create an object, create an and call its {{CreateTextFormat}} method. This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawText}}) failed, check the result returned by the or methods. A reference to an array of Unicode characters to draw. An object that describes formatting details of the text to draw, such as the font, the font size, and flow direction. The size and position of the area in which the text is drawn. The brush used to paint the text. void ID2D1RenderTarget::DrawTextA([In, Buffer] const wchar_t* string,[None] int stringLength,[In] IDWriteTextFormat* textFormat,[In] const D2D1_RECT_F* layoutRect,[In] ID2D1Brush* defaultForegroundBrush,[None] D2D1_DRAW_TEXT_OPTIONS options,[None] DWRITE_MEASURING_MODE measuringMode) Draws the specified text using the format information provided by an object. To create an object, create an and call its {{CreateTextFormat}} method. This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawText}}) failed, check the result returned by the or methods. A reference to an array of Unicode characters to draw. An object that describes formatting details of the text to draw, such as the font, the font size, and flow direction. The size and position of the area in which the text is drawn. The brush used to paint the text. A value that indicates whether the text should be snapped to pixel boundaries and whether the text should be clipped to the layout rectangle. The default value is , which indicates that text should be snapped to pixel boundaries and it should not be clipped to the layout rectangle. void ID2D1RenderTarget::DrawTextA([In, Buffer] const wchar_t* string,[None] int stringLength,[In] IDWriteTextFormat* textFormat,[In] const D2D1_RECT_F* layoutRect,[In] ID2D1Brush* defaultForegroundBrush,[None] D2D1_DRAW_TEXT_OPTIONS options,[None] DWRITE_MEASURING_MODE measuringMode) Draws the specified text using the format information provided by an object. To create an object, create an and call its {{CreateTextFormat}} method. This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{DrawText}}) failed, check the result returned by the or methods. A reference to an array of Unicode characters to draw. An object that describes formatting details of the text to draw, such as the font, the font size, and flow direction. The size and position of the area in which the text is drawn. The brush used to paint the text. A value that indicates whether the text should be snapped to pixel boundaries and whether the text should be clipped to the layout rectangle. The default value is , which indicates that text should be snapped to pixel boundaries and it should not be clipped to the layout rectangle. A value that indicates how glyph metrics are used to measure text when it is formatted. The default value is DWRITE_MEASURING_MODE_NATURAL. void ID2D1RenderTarget::DrawTextA([In, Buffer] const wchar_t* string,[None] int stringLength,[In] IDWriteTextFormat* textFormat,[In] const D2D1_RECT_F* layoutRect,[In] ID2D1Brush* defaultForegroundBrush,[None] D2D1_DRAW_TEXT_OPTIONS options,[None] DWRITE_MEASURING_MODE measuringMode) Draws the formatted text described by the specified object. When drawing the same text repeatedly, using the DrawTextLayout method is more efficient than using the {{DrawText}} method because the text doesn't need to be formatted and the layout processed with each call. This method doesn't return an error code if it fails. To determine whether a drawing operation (such as DrawTextLayout) failed, check the result returned by the or methods. The point, described in device-independent pixels, at which the upper-left corner of the text described by textLayout is drawn. The formatted text to draw. Any drawing effects that do not inherit from are ignored. If there are drawing effects that inherit from ID2D1Resource that are not brushes, this method fails and the render target is put in an error state. The brush used to paint any text in textLayout that does not already have a brush associated with it as a drawing effect (specified by the method). void ID2D1RenderTarget::DrawTextLayout([None] D2D1_POINT_2F origin,[In] IDWriteTextLayout* textLayout,[In] ID2D1Brush* defaultForegroundBrush,[None] D2D1_DRAW_TEXT_OPTIONS options)

Ends drawing operations on the render target and indicates the current error state and associated tags.

When this method returns, contains the tag for drawing operations that caused errors or 0 if there were no errors. This parameter is passed uninitialized.

When this method returns, contains the tag for drawing operations that caused errors or 0 if there were no errors. This parameter is passed uninitialized.

If the method succeeds, it returns . Otherwise, it returns an error code and sets tag1 and tag2 to the tags that were active when the error occurred.

Drawing operations can only be issued between a BeginDraw and EndDraw call.

BeginDraw and EndDraw are use to indicate that a render target is in use by the Direct2D system. Different implementations of might behave differently when BeginDraw is called. An may be locked between BeginDraw/EndDraw calls, a DXGI surface render target might be acquired on BeginDraw and released on EndDraw, while an may begin batching at BeginDraw and may present on EndDraw, for example.

The BeginDraw method must be called before rendering operations can be called, though state-setting and state-retrieval operations can be performed even outside of BeginDraw/EndDraw.

After BeginDraw is called, a render target will normally build up a batch of rendering commands, but defer processing of these commands until either an internal buffer is full, the Flush method is called, or until EndDraw is called. The EndDraw method causes any batched drawing operations to complete, and then returns an indicating the success of the operations and, optionally, the tag state of the render target at the time the error occurred. The EndDraw method always succeeds: it should not be called twice even if a previous EndDraw resulted in a failing .

If EndDraw is called without a matched call to BeginDraw, it returns an error indicating that BeginDraw must be called before EndDraw. Calling BeginDraw twice on a render target puts the target into an error state where nothing further is drawn, and returns an appropriate and error information when EndDraw is called.

dd371924 HRESULT ID2D1RenderTarget::EndDraw([Out, Optional] unsigned longlong* tag1,[Out, Optional] unsigned longlong* tag2) ID2D1RenderTarget::EndDraw
Ends drawing operations on the render target and indicates the current error state and associated tags. Drawing operations can only be issued between a {{BeginDraw}} and EndDraw call.BeginDraw and EndDraw are use to indicate that a render target is in use by the Direct2D system. Different implementations of might behave differently when {{BeginDraw}} is called. An may be locked between BeginDraw/EndDraw calls, a DXGI surface render target might be acquired on BeginDraw and released on EndDraw, while an may begin batching at BeginDraw and may present on EndDraw, for example. The BeginDraw method must be called before rendering operations can be called, though state-setting and state-retrieval operations can be performed even outside of {{BeginDraw}}/EndDraw. After {{BeginDraw}} is called, a render target will normally build up a batch of rendering commands, but defer processing of these commands until either an internal buffer is full, the {{Flush}} method is called, or until EndDraw is called. The EndDraw method causes any batched drawing operations to complete, and then returns an HRESULT indicating the success of the operations and, optionally, the tag state of the render target at the time the error occurred. The EndDraw method always succeeds: it should not be called twice even if a previous EndDraw resulted in a failing HRESULT. If EndDraw is called without a matched call to {{BeginDraw}}, it returns an error indicating that BeginDraw must be called before EndDraw. Calling BeginDraw twice on a render target puts the target into an error state where nothing further is drawn, and returns an appropriate HRESULT and error information when EndDraw is called. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code and sets tag1 and tag2 to the tags that were active when the error occurred. Paints the interior of the specified geometry. If the opacityBrush parameter is not NULL, the alpha value of each pixel of the mapped opacityBrush is used to determine the resulting opacity of each corresponding pixel of the geometry. Only the alpha value of each color in the brush is used for this processing; all other color information is ignored. The alpha value specified by the brush is multiplied by the alpha value of the geometry after the geometry has been painted by brush. When this method fails, it does not return an error code. To determine whether a drawing operation (such as FillGeometry) failed, check the result returned by the or method. The geometry to paint. The brush used to paint the geometry's interior. void FillGeometry([In] ID2D1Geometry* geometry,[In] ID2D1Brush* brush,[In, Optional] ID2D1Brush* opacityBrush) Applies the opacity mask described by the specified bitmap to a brush and uses that brush to paint a region of the render target. For this method to work properly, the render target must be using the antialiasing mode. You can set the antialiasing mode by calling the method. This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{FillOpacityMask}}) failed, check the result returned by the or methods. The opacity mask to apply to the brush. The alpha value of each pixel in the region specified by sourceRectangle is multiplied with the alpha value of the brush after the brush has been mapped to the area defined by destinationRectangle. The brush used to paint the region of the render target specified by destinationRectangle. The type of content the opacity mask contains. The value is used to determine the color space in which the opacity mask is blended. void ID2D1RenderTarget::FillOpacityMask([In] ID2D1Bitmap* opacityMask,[In] ID2D1Brush* brush,[None] D2D1_OPACITY_MASK_CONTENT content,[In, Optional] const D2D1_RECT_F* destinationRectangle,[In, Optional] const D2D1_RECT_F* sourceRectangle) Paints the interior of the specified rounded rectangle. This method doesn't return an error code if it fails. To determine whether a drawing operation (such as {{FillRoundedRectangle}}) failed, check the result returned by the or methods. The dimensions of the rounded rectangle to paint, in device-independent pixels. The brush used to paint the interior of the rounded rectangle. void ID2D1RenderTarget::FillRoundedRectangle([In] const D2D1_ROUNDED_RECT* roundedRect,[In] ID2D1Brush* brush) Executes all pending drawing commands. This command does not flush the device that is associated with the render target. Calling this method resets the error state of the render target. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code and sets tag1 and tag2 to the tags that were active when the error occurred. If no error occurred, this method sets the error tag state to be (0,0). HRESULT ID2D1RenderTarget::Flush([Out, Optional] D2D1_TAG* tag1,[Out, Optional] D2D1_TAG* tag2) Get or sets the dots per inch (DPI) of the render target. This method specifies the mapping from pixel space to device-independent space for the render target. If both dpiX and dpiY are 0, the factory-read system DPI is chosen. If one parameter is zero and the other unspecified, the DPI is not changed. For , the DPI defaults to the most recently factory-read system DPI. The default value for all other render targets is 96 DPI. void ID2D1RenderTarget::SetDpi([None] float dpiX,[None] float dpiY)

Represents a Direct2D drawing resource.

dd316908 ID2D1Resource ID2D1Resource
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves the factory associated with this resource.

dd316911 GetFactory GetFactory void ID2D1Resource::GetFactory([Out] ID2D1Factory** factory)

Retrieves the factory associated with this resource.

When this method returns, contains a reference to a reference to the factory that created this resource. This parameter is passed uninitialized.

dd316911 void ID2D1Resource::GetFactory([Out] ID2D1Factory** factory) ID2D1Resource::GetFactory

Tracks a transform-created resource texture.

hh446904 ID2D1ResourceTexture ID2D1ResourceTexture
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Updates the specific resource texture inside the specific range or box using the supplied data.

The "left" extent of the updates if specified; if null, the entire texture is updated.

The "right" extent of the updates if specified; if null, the entire texture is updated.

The stride to advance through the input data, according to dimension.

The number of dimensions in the resource texture. This must match the number used to load the texture.

The data to be placed into the resource texture.

The size of the data buffer to be used to update the resource texture.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.
E_INVALIDARGAn invalid parameter was passed to the returning function.

?

The number of dimensions in the update must match those of the created texture.

hh446906 HRESULT ID2D1ResourceTexture::Update([In, Buffer, Optional] const unsigned int* minimumExtents,[In, Buffer, Optional] const unsigned int* maximimumExtents,[In, Buffer, Optional] const unsigned int* strides,[In] unsigned int dimensions,[In, Buffer] const unsigned char* data,[In] unsigned int dataCount) ID2D1ResourceTexture::Update
Initializes a new instance of class The effect context A unique identifier to the resource The description of the resource HRESULT ID2D1EffectContext::CreateResourceTexture([In, Optional] const GUID* resourceId,[In] const D2D1_RESOURCE_TEXTURE_PROPERTIES* resourceTextureProperties,[In, Buffer, Optional] const unsigned char* data,[In, Buffer, Optional] const unsigned int* strides,[In] unsigned int dataSize,[Out] ID2D1ResourceTexture** resourceTexture) Initializes a new instance of class The effect context A unique identifier to the resource The description of the resource The data to be loaded into the resource texture. Reference to the stride to advance through the resource texture, according to dimension. HRESULT ID2D1EffectContext::CreateResourceTexture([In, Optional] const GUID* resourceId,[In] const D2D1_RESOURCE_TEXTURE_PROPERTIES* resourceTextureProperties,[In, Buffer, Optional] const unsigned char* data,[In, Buffer, Optional] const unsigned int* strides,[In] unsigned int dataSize,[Out] ID2D1ResourceTexture** resourceTexture)

Describes a rounded rectangle.

dd316914 ID2D1RoundedRectangleGeometry ID2D1RoundedRectangleGeometry
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves a rounded rectangle that describes this rounded rectangle geometry.

dd316917 GetRoundedRect GetRoundedRect void ID2D1RoundedRectangleGeometry::GetRoundedRect([Out] D2D1_ROUNDED_RECT* roundedRect)

Retrieves a rounded rectangle that describes this rounded rectangle geometry.

A reference that receives a rounded rectangle that describes this rounded rectangle geometry. You must allocate storage for this parameter.

dd316917 void ID2D1RoundedRectangleGeometry::GetRoundedRect([Out] D2D1_ROUNDED_RECT* roundedRect) ID2D1RoundedRectangleGeometry::GetRoundedRect
Creates an . an instance of The coordinates and corner radii of the rounded rectangle geometry.

Describes a geometric path that does not contain quadratic bezier curves or arcs.

A geometry sink consists of one or more figures. Each figure is made up of one or more line or Bezier curve segments. To create a figure, call the BeginFigure method and specify the figure's start point, then use AddLines and AddBeziers to add line and Bezier segments. When you are finished adding segments, call the EndFigure method. You can repeat this sequence to create additional figures. When you are finished creating figures, call the Close method.

To create geometry paths that can contain arcs and quadratic Bezier curves, use an .

dd316919 ID2D1SimplifiedGeometrySink ID2D1SimplifiedGeometrySink
Specifies the method used to determine which points are inside the geometry described by this geometry sink and which points are outside. The fill mode defaults to D2D1_FILL_MODE_ALTERNATE. To set the fill mode, call SetFillMode before the first call to {{BeginFigure}}. Not doing will put the geometry sink in an error state. The method used to determine whether a given point is part of the geometry. void SetFillMode([None] D2D1_FILL_MODE fillMode) Specifies stroke and join options to be applied to new segments added to the geometry sink. After this method is called, the specified segment flags are applied to each segment subsequently added to the sink. The segment flags are applied to every additional segment until this method is called again and a different set of segment flags is specified. Stroke and join options to be applied to new segments added to the geometry sink. void SetSegmentFlags([None] D2D1_PATH_SEGMENT vertexFlags) Starts a new figure at the specified point. If this method is called while a figure is currently in progress, the interface is invalidated and all future methods will fail. The point at which to begin the new figure. Whether the new figure should be hollow or filled. void BeginFigure([None] D2D1_POINT_2F startPoint,[None] D2D1_FIGURE_BEGIN figureBegin) Creates a sequence of lines using the specified points and adds them to the geometry sink. A pointer to an array of one or more points that describe the lines to draw. A line is drawn from the geometry sink's current point (the end point of the last segment drawn or the location specified by {{BeginFigure}}) to the first point in the array. if the array contains additional points, a line is drawn from the first point to the second point in the array, from the second point to the third point, and so on. void AddLines([In, Buffer] const D2D1_POINT_2F* points,[None] UINT pointsCount) Creates a sequence of cubic Bezier curves and adds them to the geometry sink. A pointer to an array of Bezier segments that describes the Bezier curves to create. A curve is drawn from the geometry sink's current point (the end point of the last segment drawn or the location specified by {{BeginFigure}}) to the end point of the first Bezier segment in the array. if the array contains additional Bezier segments, each subsequent Bezier segment uses the end point of the preceding Bezier segment as its start point. void AddBeziers([In, Buffer] const D2D1_BEZIER_SEGMENT* beziers,[None] UINT beziersCount) Ends the current figure; optionally, closes it. Calling this method without a matching call to {{BeginFigure}} places the geometry sink in an error state; subsequent calls are ignored, and the overall failure will be returned when the {{Close}} method is called. A value that indicates whether the current figure is closed. If the figure is closed, a line is drawn between the current point and the start point specified by {{BeginFigure}}. void EndFigure([None] D2D1_FIGURE_END figureEnd) Closes the geometry sink, indicates whether it is in an error state, and resets the sink's error state. Do not close the geometry sink while a figure is still in progress; doing so puts the geometry sink in an error state. For the close operation to be successful, there must be one {{EndFigure}} call for each call to {{BeginFigure}}.After calling this method, the geometry sink might not be usable. Direct2D implementations of this interface do not allow the geometry sink to be modified after it is closed, but other implementations might not impose this restriction. HRESULT Close()

Describes a geometric path that does not contain quadratic bezier curves or arcs.

A geometry sink consists of one or more figures. Each figure is made up of one or more line or Bezier curve segments. To create a figure, call the BeginFigure method and specify the figure's start point, then use AddLines and AddBeziers to add line and Bezier segments. When you are finished adding segments, call the EndFigure method. You can repeat this sequence to create additional figures. When you are finished creating figures, call the Close method.

To create geometry paths that can contain arcs and quadratic Bezier curves, use an .

dd316919 ID2D1SimplifiedGeometrySink ID2D1SimplifiedGeometrySink Describes a geometric path that does not contain quadratic Bezier curves or arcs. A geometry sink consists of one or more figures. Each figure is made up of one or more line or Bezier curve segments. To create a figure, call the BeginFigure method and specify the figure's start point, then use AddLines and AddBeziers to add line and Bezier segments. When you are finished adding segments, call the EndFigure method. You can repeat this sequence to create additional figures. When you are finished creating figures, call the Close method. To create geometry paths that can contain arcs and quadratic Bezier curves, use an .
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Specifies the method used to determine which points are inside the geometry described by this geometry sink and which points are outside.

The method used to determine whether a given point is part of the geometry.

The fill mode defaults to . To set the fill mode, call SetFillMode before the first call to BeginFigure. Not doing will put the geometry sink in an error state.

dd316937 void ID2D1SimplifiedGeometrySink::SetFillMode([In] D2D1_FILL_MODE fillMode) ID2D1SimplifiedGeometrySink::SetFillMode

Specifies stroke and join options to be applied to new segments added to the geometry sink.

Stroke and join options to be applied to new segments added to the geometry sink.

After this method is called, the specified segment flags are applied to each segment subsequently added to the sink. The segment flags are applied to every additional segment until this method is called again and a different set of segment flags is specified.

dd316939 void ID2D1SimplifiedGeometrySink::SetSegmentFlags([In] D2D1_PATH_SEGMENT vertexFlags) ID2D1SimplifiedGeometrySink::SetSegmentFlags

Starts a new figure at the specified point.

The point at which to begin the new figure.

Whether the new figure should be hollow or filled.

If this method is called while a figure is currently in progress, the interface is invalidated and all future methods will fail.

dd316929 void ID2D1SimplifiedGeometrySink::BeginFigure([In] D2D_POINT_2F startPoint,[In] D2D1_FIGURE_BEGIN figureBegin) ID2D1SimplifiedGeometrySink::BeginFigure

Creates a sequence of lines using the specified points and adds them to the geometry sink.

A reference to an array of one or more points that describe the lines to draw. A line is drawn from the geometry sink's current point (the end point of the last segment drawn or the location specified by BeginFigure) to the first point in the array. if the array contains additional points, a line is drawn from the first point to the second point in the array, from the second point to the third point, and so on.

The number of points in the points array.

dd316925 void ID2D1SimplifiedGeometrySink::AddLines([In, Buffer] const D2D_POINT_2F* points,[In] unsigned int pointsCount) ID2D1SimplifiedGeometrySink::AddLines

Creates a sequence of cubic Bezier curves and adds them to the geometry sink.

A reference to an array of Bezier segments that describes the Bezier curves to create. A curve is drawn from the geometry sink's current point (the end point of the last segment drawn or the location specified by BeginFigure) to the end point of the first Bezier segment in the array. if the array contains additional Bezier segments, each subsequent Bezier segment uses the end point of the preceding Bezier segment as its start point.

The number of Bezier segments in the beziers array.

dd316922 void ID2D1SimplifiedGeometrySink::AddBeziers([In, Buffer] const D2D1_BEZIER_SEGMENT* beziers,[In] unsigned int beziersCount) ID2D1SimplifiedGeometrySink::AddBeziers

Ends the current figure; optionally, closes it.

A value that indicates whether the current figure is closed. If the figure is closed, a line is drawn between the current point and the start point specified by BeginFigure.

Calling this method without a matching call to BeginFigure places the geometry sink in an error state; subsequent calls are ignored, and the overall failure will be returned when the Close method is called.

dd316934 void ID2D1SimplifiedGeometrySink::EndFigure([In] D2D1_FIGURE_END figureEnd) ID2D1SimplifiedGeometrySink::EndFigure

Closes the geometry sink, indicates whether it is in an error state, and resets the sink's error state.

If this method succeeds, it returns . Otherwise, it returns an error code.

Do not close the geometry sink while a figure is still in progress; doing so puts the geometry sink in an error state. For the close operation to be successful, there must be one EndFigure call for each call to BeginFigure.

After calling this method, the geometry sink might not be usable. Direct2D implementations of this interface do not allow the geometry sink to be modified after it is closed, but other implementations might not impose this restriction.

dd316932 HRESULT ID2D1SimplifiedGeometrySink::Close() ID2D1SimplifiedGeometrySink::Close
Creates a sequence of cubic Bezier curves and adds them to the geometry sink. An array of Bezier segments that describes the Bezier curves to create. A curve is drawn from the geometry sink's current point (the end point of the last segment drawn or the location specified by BeginFigure) to the end point of the first Bezier segment in the array. If the array contains additional Bezier segments, each subsequent Bezier segment uses the end point of the preceding Bezier segment as its start point. Creates a sequence of lines using the specified points and adds them to the geometry sink. An array of one or more points that describe the lines to draw. A line is drawn from the geometry sink's current point (the end point of the last segment drawn or the location specified by BeginFigure) to the first point in the array. If the array contains additional points, a line is drawn from the first point to the second point in the array, from the second point to the third point, and so on. Starts a new figure at the specified point. The point at which to begin the new figure. Whether the new figure should be hollow or filled. If this method is called while a figure is currently in progress, the interface is invalidated and all future methods will fail. Closes the geometry sink, indicates whether it is in an error state, and resets the sink's error state. If this method succeeds, it returns . Otherwise, it returns an error code. Do not close the geometry sink while a figure is still in progress; doing so puts the geometry sink in an error state. For the close operation to be successful, there must be one EndFigure call for each call to BeginFigure.After calling this method, the geometry sink might not be usable. Direct2D implementations of this interface do not allow the geometry sink to be modified after it is closed, but other implementations might not impose this restriction. Ends the current figure; optionally, closes it. A value that indicates whether the current figure is closed. If the figure is closed, a line is drawn between the current point and the start point specified by BeginFigure. Calling this method without a matching call to BeginFigure places the geometry sink in an error state; subsequent calls are ignored, and the overall failure will be returned when the Close method is called. Specifies the method used to determine which points are inside the geometry described by this geometry sink and which points are outside. The method used to determine whether a given point is part of the geometry. The fill mode defaults to . To set the fill mode, call SetFillMode before the first call to BeginFigure. Not doing will put the geometry sink in an error state. Specifies stroke and join options to be applied to new segments added to the geometry sink. Stroke and join options to be applied to new segments added to the geometry sink. After this method is called, the specified segment flags are applied to each segment subsequently added to the sink. The segment flags are applied to every additional segment until this method is called again and a different set of segment flags is specified.

Paints an area with a solid color.

dd372207 ID2D1SolidColorBrush ID2D1SolidColorBrush
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves or sets the color of the solid color brush.

dd372209 GetColor / SetColor GetColor D2D_COLOR_F ID2D1SolidColorBrush::GetColor()

Specifies the color of this solid color brush.

The color of this solid color brush.

To help create colors, Direct2D provides the ColorF class. It offers several helper methods for creating colors and provides a set or predefined colors.

dd372211 void ID2D1SolidColorBrush::SetColor([In] const D2D_COLOR_F* color) ID2D1SolidColorBrush::SetColor

Retrieves the color of the solid color brush.

The color of this solid color brush.

dd372209 D2D_COLOR_F ID2D1SolidColorBrush::GetColor() ID2D1SolidColorBrush::GetColor
Creates a new that has the specified color and opacity. an instance of The red, green, blue, and alpha values of the brush's color. Creates a new that has the specified color and opacity. an instance of The red, green, blue, and alpha values of the brush's color. The base opacity of the brush.

Represents a CPU-based rasterization stage in the transform pipeline graph.

specializes an implementation of the Shantzis calculations to a transform implemented as the source of an effect graph with the data being provided from sytem memory.

hh446908 ID2D1SourceTransform ID2D1SourceTransform
[This documentation is preliminary and is subject to change.] The interface supplied to the transform to allow specifying the precision-based transform pass. If the method succeeds, it returns . If it fails, it returns an error code. Provides a render information interface to the source transform to allow it to specify state to the rendering system. This part of the render information interface is shared with the GPU transform. HRESULT ID2D1SourceTransform::SetRenderInfo([In] ID2D1RenderInfo* renderInfo) No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SourceTransform::Draw([In] ID2D1Bitmap1* target,[In] const RECT* drawRect,[In] D2D_POINT_2U targetOrigin)

Represents a CPU-based rasterization stage in the transform pipeline graph.

specializes an implementation of the Shantzis calculations to a transform implemented as the source of an effect graph with the data being provided from sytem memory.

hh446908 ID2D1SourceTransform ID2D1SourceTransform
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Sets the render information for the transform.

The interface supplied to the transform to allow specifying the CPU based transform pass.

If the method succeeds, it returns . If it fails, it returns an error code.

Provides a render information interface to the source transform to allow it to specify state to the rendering system.

hh446912 HRESULT ID2D1SourceTransform::SetRenderInfo([In] ID2D1RenderInfo* renderInfo) ID2D1SourceTransform::SetRenderInfo

Draws the transform to the graphics processing unit (GPU)?based Direct2D pipeline.

The target to which the transform should be written.

The area within the source from which the image should be drawn.

The origin within the target bitmap to which the source data should be drawn.

If the method succeeds, it returns . If it fails, it returns an error code.

The implementation of the rasterizer guarantees that adding the renderRect to the targetOrigin does not exceed the bounds of the bitmap.

When implementing this method you must update the bitmap in this way:

  1. Call the ID2D1Bitmap::Map method with the and flags.
  2. Update the buffer this method returns.
  3. Call the ID2D1Bitmap::Unmap method.

If you set the buffer precision manually on the associated object, it must handle different pixel formats in this method by calling . If you set the buffer precision manually, then you can rely on that format always being the one you provided.

hh446910 HRESULT ID2D1SourceTransform::Draw([In] ID2D1Bitmap1* target,[In] const RECT* drawRect,[In] D2D_POINT_2U targetOrigin) ID2D1SourceTransform::Draw

Adds the given sprites to the end of this sprite batch.

In Direct2D, a sprite is defined by four properties: a destination rectangle, a source rectangle, a color, and a transform. Destination rectangles are mandatory, but the remaining properties are optional.

Note??Always omit or pass a null value for properties you do not wish to use. This allows Direct2D to avoid storing values for those properties and to skip their handling entirely, which improves drawing speed. For example, suppose you have a batch of 500 sprites, and you do not wish to transform any of their destination rectangles. Rather than passing an array of identity matrices, simply omit the transforms parameter. This allows Direct2D to avoid storing any transforms and will yield the fastest drawing performance. On the other hand, if any sprite in the batch has any value set for a property, then internally Direct2D must allocate space for that property array and assign every sprite a value for that property (even if it?s just the default value).?
mt619834 ID2D1SpriteBatch ID2D1SpriteBatch
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves the number of sprites in this sprite batch.

mt619836 GetSpriteCount GetSpriteCount unsigned int ID2D1SpriteBatch::GetSpriteCount()

Adds the given sprites to the end of this sprite batch.

The number of sprites to be added. This determines how many strides into each given array Direct2D will read.

A reference to an array containing the destination rectangles specifying where to draw the sprites on the destination device context.

A reference to an array containing the source rectangles specifying the regions of the source bitmap to draw as sprites. Direct2D will use the entire source bitmap for sprites that are assigned a null value or the InfiniteRectU. If this parameter is omitted entirely or set to a null value, then Direct2D will use the entire source bitmap for all the added sprites.

A reference to an array containing the colors to apply to each sprite. The output color is the result of component-wise multiplication of the source bitmap color and the provided color. The output color is not clamped.

Direct2D will not change the color of sprites that are assigned a null value. If this parameter is omitted entirely or set to a null value, then Direct2D will not change the color of any of the added sprites.

A reference to an array containing the transforms to apply to each sprite?s destination rectangle.

Direct2D will not transform the destination rectangle of any sprites that are assigned a null value. If this parameter is omitted entirely or set to a null value, then Direct2D will not transform the destination rectangle of any of the added sprites.

Specifies the distance, in bytes, between each rectangle in the destinationRectangles array. If you provide a stride of 0, then the same destination rectangle will be used for each added sprite.

Specifies the distance, in bytes, between each rectangle in the sourceRectangles array (if that array is given). If you provide a stride of 0, then the same source rectangle will be used for each added sprite.

Specifies the distance, in bytes, between each color in the colors array (if that array is given). If you provide a stride of 0, then the same color will be used for each added sprite.

Specifies the distance, in bytes, between each transform in the transforms array (if that array is given). If you provide a stride of 0, then the same transform will be used for each added sprite.

If this method succeeds, it returns . Otherwise, it returns an error code.

In Direct2D, a sprite is defined by four properties: a destination rectangle, a source rectangle, a color, and a transform. Destination rectangles are mandatory, but the remaining properties are optional.

Note??Always omit or pass a null value for properties you do not wish to use. This allows Direct2D to avoid storing values for those properties and to skip their handling entirely, which improves drawing speed. For example, suppose you have a batch of 500 sprites, and you do not wish to transform any of their destination rectangles. Rather than passing an array of identity matrices, simply omit the transforms parameter. This allows Direct2D to avoid storing any transforms and will yield the fastest drawing performance. On the other hand, if any sprite in the batch has any value set for a property, then internally Direct2D must allocate space for that property array and assign every sprite a value for that property (even if it?s just the default value).?
mt619834 HRESULT ID2D1SpriteBatch::AddSprites([In] unsigned int spriteCount,[In, Buffer] const D2D_RECT_F* destinationRectangles,[In, Buffer, Optional] const D2D_RECT_U* sourceRectangles,[In, Buffer, Optional] const D2D_COLOR_F* colors,[In, Buffer, Optional] const D2D_MATRIX_3X2_F* transforms,[In] unsigned int destinationRectanglesStride,[In] unsigned int sourceRectanglesStride,[In] unsigned int colorsStride,[In] unsigned int transformsStride) ID2D1SpriteBatch::AddSprites

Updates the properties of the specified sprites in this sprite batch. Providing a null value for any property will leave that property unmodified for that sprite.

The index of the first sprite in this sprite batch to update.

The number of sprites to update with new properties. This determines how many strides into each given array Direct2D will read.

A reference to an array containing the destination rectangles specifying where to draw the sprites on the destination device context.

A reference to an array containing the source rectangles specifying the regions of the source bitmap to draw as sprites.

Direct2D will use the entire source bitmap for sprites that are assigned a null value or the InfiniteRectU. If this parameter is omitted entirely or set to a null value, then Direct2D will use the entire source bitmap for all the updated sprites.

A reference to an array containing the colors to apply to each sprite. The output color is the result of component-wise multiplication of the source bitmap color and the provided color. The output color is not clamped.

Direct2D will not change the color of sprites that are assigned a null value. If this parameter is omitted entirely or set to a null value, then Direct2D will not change the color of any of the updated sprites.

A reference to an array containing the transforms to apply to each sprite?s destination rectangle.

Direct2D will not transform the destination rectangle of any sprites that are assigned a null value. If this parameter is omitted entirely or set to a null value, then Direct2D will not transform the destination rectangle of any of the updated sprites.

Specifies the distance, in bytes, between each rectangle in the destinationRectangles array. If you provide a stride of 0, then the same destination rectangle will be used for each updated sprite.

Specifies the distance, in bytes, between each rectangle in the sourceRectangles array (if that array is given). If you provide a stride of 0, then the same source rectangle will be used for each updated sprite.

Specifies the distance, in bytes, between each color in the colors array (if that array is given). If you provide a stride of 0, then the same color will be used for each updated sprite.

Specifies the distance, in bytes, between each transform in the transforms array (if that array is given). If you provide a stride of 0, then the same transform will be used for each updated sprite.

Returns on success. Returns E_INVALIDARG if an invalid value was passed to the method. In this case, no sprites are modified by this call to SetSprites.

mt604121 HRESULT ID2D1SpriteBatch::SetSprites([In] unsigned int startIndex,[In] unsigned int spriteCount,[In, Buffer, Optional] const D2D_RECT_F* destinationRectangles,[In, Buffer, Optional] const D2D_RECT_U* sourceRectangles,[In, Buffer, Optional] const D2D_COLOR_F* colors,[In, Buffer, Optional] const D2D_MATRIX_3X2_F* transforms,[In] unsigned int destinationRectanglesStride,[In] unsigned int sourceRectanglesStride,[In] unsigned int colorsStride,[In] unsigned int transformsStride) ID2D1SpriteBatch::SetSprites

Retrieves the specified subset of sprites from this sprite batch. For the best performance, use nullptr for properties that you do not need to retrieve.

The index of the first sprite in this sprite batch to retrieve.

The number of sprites to retrieve.

When this method returns, contains a reference to an array containing the destination rectangles for the retrieved sprites.

When this method returns, contains a reference to an array containing the source rectangles for the retrieved sprites.

The InfiniteRectU is returned for any sprites that were not assigned a source rectangle.

When this method returns, contains a reference to an array containing the colors to be applied to the retrieved sprites.

The color {1.0f, 1.0f, 1.0f, 1.0f} is returned for any sprites that were not assigned a color.

When this method returns, contains a reference to an array containing the transforms to be applied to the retrieved sprites.

The identity matrix is returned for any sprites that were not assigned a transform.

If this method succeeds, it returns . Otherwise, it returns an error code.

mt619837 HRESULT ID2D1SpriteBatch::GetSprites([In] unsigned int startIndex,[In] unsigned int spriteCount,[Out, Buffer, Optional] D2D_RECT_F* destinationRectangles,[Out, Buffer, Optional] D2D_RECT_U* sourceRectangles,[Out, Buffer, Optional] D2D_COLOR_F* colors,[Out, Buffer, Optional] D2D_MATRIX_3X2_F* transforms) ID2D1SpriteBatch::GetSprites

Retrieves the number of sprites in this sprite batch.

Returns the number of sprites in this sprite batch

mt619836 unsigned int ID2D1SpriteBatch::GetSpriteCount() ID2D1SpriteBatch::GetSpriteCount

Removes all sprites from this sprite batch.

mt619835 void ID2D1SpriteBatch::Clear() ID2D1SpriteBatch::Clear
Initializes a new instance of the .

Describes the caps, miter limit, line join, and dash information for a stroke.

dd372217 ID2D1StrokeStyle ID2D1StrokeStyle
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves the type of shape used at the beginning of a stroke.

dd372244 GetStartCap GetStartCap D2D1_CAP_STYLE ID2D1StrokeStyle::GetStartCap()

Retrieves the type of shape used at the end of a stroke.

dd372238 GetEndCap GetEndCap D2D1_CAP_STYLE ID2D1StrokeStyle::GetEndCap()

Gets a value that specifies how the ends of each dash are drawn.

dd372218 GetDashCap GetDashCap D2D1_CAP_STYLE ID2D1StrokeStyle::GetDashCap()

Retrieves the limit on the ratio of the miter length to half the stroke's thickness.

dd372242 GetMiterLimit GetMiterLimit float ID2D1StrokeStyle::GetMiterLimit()

Retrieves the type of joint used at the vertices of a shape's outline.

dd372240 GetLineJoin GetLineJoin D2D1_LINE_JOIN ID2D1StrokeStyle::GetLineJoin()

Retrieves a value that specifies how far in the dash sequence the stroke will start.

dd372234 GetDashOffset GetDashOffset float ID2D1StrokeStyle::GetDashOffset()

Gets a value that describes the stroke's dash pattern.

If a custom dash style is specified, the dash pattern is described by the dashes array, which can be retrieved by calling the GetDashes method.

dd372236 GetDashStyle GetDashStyle D2D1_DASH_STYLE ID2D1StrokeStyle::GetDashStyle()

Retrieves the number of entries in the dashes array.

dd372232 GetDashesCount GetDashesCount unsigned int ID2D1StrokeStyle::GetDashesCount()

Retrieves the type of shape used at the beginning of a stroke.

The type of shape used at the beginning of a stroke.

dd372244 D2D1_CAP_STYLE ID2D1StrokeStyle::GetStartCap() ID2D1StrokeStyle::GetStartCap

Retrieves the type of shape used at the end of a stroke.

The type of shape used at the end of a stroke.

dd372238 D2D1_CAP_STYLE ID2D1StrokeStyle::GetEndCap() ID2D1StrokeStyle::GetEndCap

Gets a value that specifies how the ends of each dash are drawn.

A value that specifies how the ends of each dash are drawn.

dd372218 D2D1_CAP_STYLE ID2D1StrokeStyle::GetDashCap() ID2D1StrokeStyle::GetDashCap

Retrieves the limit on the ratio of the miter length to half the stroke's thickness.

A positive number greater than or equal to 1.0f that describes the limit on the ratio of the miter length to half the stroke's thickness.

dd372242 float ID2D1StrokeStyle::GetMiterLimit() ID2D1StrokeStyle::GetMiterLimit

Retrieves the type of joint used at the vertices of a shape's outline.

A value that specifies the type of joint used at the vertices of a shape's outline.

dd372240 D2D1_LINE_JOIN ID2D1StrokeStyle::GetLineJoin() ID2D1StrokeStyle::GetLineJoin

Retrieves a value that specifies how far in the dash sequence the stroke will start.

A value that specifies how far in the dash sequence the stroke will start.

dd372234 float ID2D1StrokeStyle::GetDashOffset() ID2D1StrokeStyle::GetDashOffset

Gets a value that describes the stroke's dash pattern.

A value that describes the predefined dash pattern used, or if a custom dash style is used.

If a custom dash style is specified, the dash pattern is described by the dashes array, which can be retrieved by calling the GetDashes method.

dd372236 D2D1_DASH_STYLE ID2D1StrokeStyle::GetDashStyle() ID2D1StrokeStyle::GetDashStyle

Retrieves the number of entries in the dashes array.

The number of entries in the dashes array if the stroke is dashed; otherwise, 0.

dd372232 unsigned int ID2D1StrokeStyle::GetDashesCount() ID2D1StrokeStyle::GetDashesCount

Copies the dash pattern to the specified array.

A reference to an array that will receive the dash pattern. The array must be able to contain at least as many elements as specified by dashesCount. You must allocate storage for this array.

The number of dashes to copy. If this value is less than the number of dashes in the stroke style's dashes array, the returned dashes are truncated to dashesCount. If this value is greater than the number of dashes in the stroke style's dashes array, the extra dashes are set to 0.0f. To obtain the actual number of dashes in the stroke style's dashes array, use the GetDashesCount method.

The dashes are specified in units that are a multiple of the stroke width, with subsequent members of the array indicating the dashes and gaps between dashes: the first entry indicates a filled dash, the second a gap, and so on.

dd372230 void ID2D1StrokeStyle::GetDashes([Out, Buffer] float* dashes,[In] unsigned int dashesCount) ID2D1StrokeStyle::GetDashes
Creates an that describes start cap, dash pattern, and other features of a stroke. an instance of a definition for this render target Creates an that describes start cap, dash pattern, and other features of a stroke. an instance of A structure that describes the stroke's line cap, dash offset, and other details of a stroke. An array whose elements are set to the length of each dash and space in the dash pattern. The first element sets the length of a dash, the second element sets the length of a space, the third element sets the length of a dash, and so on. The length of each dash and space in the dash pattern is the product of the element value in the array and the stroke width.

Describes the caps, miter limit, line join, and dash information for a stroke.

This interface adds functionality to .

hh446914 ID2D1StrokeStyle1 ID2D1StrokeStyle1
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the stroke transform type.

hh446916 GetStrokeTransformType GetStrokeTransformType D2D1_STROKE_TRANSFORM_TYPE ID2D1StrokeStyle1::GetStrokeTransformType()

Gets the stroke transform type.

This method returns the stroke transform type.

hh446916 D2D1_STROKE_TRANSFORM_TYPE ID2D1StrokeStyle1::GetStrokeTransformType() ID2D1StrokeStyle1::GetStrokeTransformType
Initializes a new instance of the class. The factory. No documentation. HRESULT ID2D1Factory1::CreateStrokeStyle([In] const D2D1_STROKE_STYLE_PROPERTIES1* strokeStyleProperties,[In, Buffer, Optional] const float* dashes,[In] unsigned int dashesCount,[Out, Fast] ID2D1StrokeStyle1** strokeStyle) Initializes a new instance of the class. The factory. No documentation. No documentation. HRESULT ID2D1Factory1::CreateStrokeStyle([In] const D2D1_STROKE_STYLE_PROPERTIES1* strokeStyleProperties,[In, Buffer, Optional] const float* dashes,[In] unsigned int dashesCount,[Out, Fast] ID2D1StrokeStyle1** strokeStyle) HRESULT ID2D1Factory1::CreateStrokeStyle([In] const D2D1_STROKE_STYLE_PROPERTIES1* strokeStyleProperties,[In, Buffer, Optional] const float* dashes,[In] unsigned int dashesCount,[Out, Fast] ID2D1StrokeStyle1** strokeStyle) It is valid to specify a dash array only if is also specified.

This interface performs all the same functions as the interface, plus it enables functionality such as ink rendering, gradient mesh rendering, and improved image loading.

dn890789 ID2D1SvgAttribute ID2D1SvgAttribute
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion. No documentation. GetElement GetElement void ID2D1SvgAttribute::GetElement([Out, Optional] ID2D1SvgElement** element) No documentation. No documentation. void ID2D1SvgAttribute::GetElement([Out, Optional] ID2D1SvgElement** element) ID2D1SvgAttribute::GetElement No documentation. No documentation. No documentation. HRESULT ID2D1SvgAttribute::Clone([Out] ID2D1SvgAttribute** attribute) ID2D1SvgAttribute::Clone

This interface performs all the same functions as the interface, plus it enables functionality such as ink rendering, gradient mesh rendering, and improved image loading.

dn890789 ID2D1SvgDocument ID2D1SvgDocument
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion. No documentation. GetViewportSize / SetViewportSize GetViewportSize D2D_SIZE_F ID2D1SvgDocument::GetViewportSize() No documentation. GetRoot / SetRoot GetRoot void ID2D1SvgDocument::GetRoot([Out, Optional] ID2D1SvgElement** root) No documentation. No documentation. No documentation. HRESULT ID2D1SvgDocument::SetViewportSize([In] D2D_SIZE_F viewportSize) ID2D1SvgDocument::SetViewportSize No documentation. No documentation. D2D_SIZE_F ID2D1SvgDocument::GetViewportSize() ID2D1SvgDocument::GetViewportSize No documentation. No documentation. No documentation. HRESULT ID2D1SvgDocument::SetRoot([In, Optional] ID2D1SvgElement* root) ID2D1SvgDocument::SetRoot No documentation. No documentation. void ID2D1SvgDocument::GetRoot([Out, Optional] ID2D1SvgElement** root) ID2D1SvgDocument::GetRoot No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgDocument::FindElementById([In] const wchar_t* id,[Out, Optional] ID2D1SvgElement** svgElement) ID2D1SvgDocument::FindElementById No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgDocument::Serialize([In] IStream* outputXmlStream,[In, Optional] ID2D1SvgElement* subtree) ID2D1SvgDocument::Serialize No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgDocument::Deserialize([In] IStream* inputXmlStream,[Out] ID2D1SvgElement** subtree) ID2D1SvgDocument::Deserialize No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgDocument::CreatePaint([In] D2D1_SVG_PAINT_TYPE paintType,[In, Optional] const D2D_COLOR_F* color,[In, Optional] const wchar_t* id,[Out] ID2D1SvgPaint** paint) ID2D1SvgDocument::CreatePaint No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgDocument::CreateStrokeDashArray([In, Buffer, Optional] const D2D1_SVG_LENGTH* dashes,[In] unsigned int dashesCount,[Out] ID2D1SvgStrokeDashArray** strokeDashArray) ID2D1SvgDocument::CreateStrokeDashArray No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgDocument::CreatePointCollection([In, Buffer, Optional] const D2D_POINT_2F* points,[In] unsigned int pointsCount,[Out] ID2D1SvgPointCollection** pointCollection) ID2D1SvgDocument::CreatePointCollection No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgDocument::CreatePathData([In, Buffer, Optional] const float* segmentData,[In] unsigned int segmentDataCount,[In, Buffer, Optional] const D2D1_SVG_PATH_COMMAND* commands,[In] unsigned int commandsCount,[Out] ID2D1SvgPathData** pathData) ID2D1SvgDocument::CreatePathData

Interface for all SVG elements.

mt797830 ID2D1SvgElement ID2D1SvgElement
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion. No documentation. GetDocument GetDocument void ID2D1SvgElement::GetDocument([Out, Optional] ID2D1SvgDocument** document) No documentation. GetTagNameLength GetTagNameLength unsigned int ID2D1SvgElement::GetTagNameLength() No documentation. IsTextContent IsTextContent BOOL ID2D1SvgElement::IsTextContent() No documentation. GetParent GetParent void ID2D1SvgElement::GetParent([Out, Optional] ID2D1SvgElement** parent) No documentation. GetFirstChild GetFirstChild void ID2D1SvgElement::GetFirstChild([Out, Optional] ID2D1SvgElement** child) No documentation. GetLastChild GetLastChild void ID2D1SvgElement::GetLastChild([Out, Optional] ID2D1SvgElement** child) No documentation. GetSpecifiedAttributeCount GetSpecifiedAttributeCount unsigned int ID2D1SvgElement::GetSpecifiedAttributeCount() No documentation. GetTextValueLength GetTextValueLength unsigned int ID2D1SvgElement::GetTextValueLength() No documentation. No documentation. void ID2D1SvgElement::GetDocument([Out, Optional] ID2D1SvgDocument** document) ID2D1SvgElement::GetDocument No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgElement::GetTagName([Out, Buffer] wchar_t* name,[In] unsigned int nameCount) ID2D1SvgElement::GetTagName No documentation. No documentation. unsigned int ID2D1SvgElement::GetTagNameLength() ID2D1SvgElement::GetTagNameLength No documentation. No documentation. BOOL ID2D1SvgElement::IsTextContent() ID2D1SvgElement::IsTextContent No documentation. No documentation. void ID2D1SvgElement::GetParent([Out, Optional] ID2D1SvgElement** parent) ID2D1SvgElement::GetParent No documentation. No documentation. BOOL ID2D1SvgElement::HasChildren() ID2D1SvgElement::HasChildren No documentation. No documentation. void ID2D1SvgElement::GetFirstChild([Out, Optional] ID2D1SvgElement** child) ID2D1SvgElement::GetFirstChild No documentation. No documentation. void ID2D1SvgElement::GetLastChild([Out, Optional] ID2D1SvgElement** child) ID2D1SvgElement::GetLastChild No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgElement::GetPreviousChild([In] ID2D1SvgElement* referenceChild,[Out, Optional] ID2D1SvgElement** previousChild) ID2D1SvgElement::GetPreviousChild No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgElement::GetNextChild([In] ID2D1SvgElement* referenceChild,[Out, Optional] ID2D1SvgElement** nextChild) ID2D1SvgElement::GetNextChild No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgElement::InsertChildBefore([In] ID2D1SvgElement* newChild,[In, Optional] ID2D1SvgElement* referenceChild) ID2D1SvgElement::InsertChildBefore No documentation. No documentation. No documentation. HRESULT ID2D1SvgElement::AppendChild([In] ID2D1SvgElement* newChild) ID2D1SvgElement::AppendChild No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgElement::ReplaceChild([In] ID2D1SvgElement* newChild,[In] ID2D1SvgElement* oldChild) ID2D1SvgElement::ReplaceChild No documentation. No documentation. No documentation. HRESULT ID2D1SvgElement::RemoveChild([In] ID2D1SvgElement* oldChild) ID2D1SvgElement::RemoveChild No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgElement::CreateChild([In, Optional] const wchar_t* tagName,[Out] ID2D1SvgElement** newChild) ID2D1SvgElement::CreateChild No documentation. No documentation. No documentation. No documentation. BOOL ID2D1SvgElement::IsAttributeSpecified([In] const wchar_t* name,[Out, Optional] BOOL* inherited) ID2D1SvgElement::IsAttributeSpecified No documentation. No documentation. unsigned int ID2D1SvgElement::GetSpecifiedAttributeCount() ID2D1SvgElement::GetSpecifiedAttributeCount No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgElement::GetSpecifiedAttributeName([In] unsigned int index,[Out, Buffer] wchar_t* name,[In] unsigned int nameCount,[Out, Optional] BOOL* inherited) ID2D1SvgElement::GetSpecifiedAttributeName No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgElement::GetSpecifiedAttributeNameLength([In] unsigned int index,[Out] unsigned int* nameLength,[Out, Optional] BOOL* inherited) ID2D1SvgElement::GetSpecifiedAttributeNameLength No documentation. No documentation. No documentation. HRESULT ID2D1SvgElement::RemoveAttribute([In] const wchar_t* name) ID2D1SvgElement::RemoveAttribute No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgElement::SetTextValue([In, Buffer] const wchar_t* name,[In] unsigned int nameCount) ID2D1SvgElement::SetTextValue No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgElement::GetTextValue([Out, Buffer] wchar_t* name,[In] unsigned int nameCount) ID2D1SvgElement::GetTextValue No documentation. No documentation. unsigned int ID2D1SvgElement::GetTextValueLength() ID2D1SvgElement::GetTextValueLength No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgElement::SetAttributeValue([In] const wchar_t* name,[In] ID2D1SvgAttribute* value) ID2D1SvgElement::SetAttributeValue No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgElement::SetAttributeValue([In] const wchar_t* name,[In] D2D1_SVG_ATTRIBUTE_POD_TYPE type,[In, Buffer] const void* value,[In] unsigned int valueSizeInBytes) ID2D1SvgElement::SetAttributeValue No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgElement::SetAttributeValue([In] const wchar_t* name,[In] D2D1_SVG_ATTRIBUTE_STRING_TYPE type,[In] const wchar_t* value) ID2D1SvgElement::SetAttributeValue No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgElement::GetAttributeValue([In] const wchar_t* name,[In] const GUID& riid,[Out, Optional] void** value) ID2D1SvgElement::GetAttributeValue No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgElement::GetAttributeValue([In] const wchar_t* name,[In] D2D1_SVG_ATTRIBUTE_POD_TYPE type,[Out, Buffer] void* value,[In] unsigned int valueSizeInBytes) ID2D1SvgElement::GetAttributeValue No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgElement::GetAttributeValue([In] const wchar_t* name,[In] D2D1_SVG_ATTRIBUTE_STRING_TYPE type,[Out, Buffer] wchar_t* value,[In] unsigned int valueCount) ID2D1SvgElement::GetAttributeValue No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgElement::GetAttributeValueLength([In] const wchar_t* name,[In] D2D1_SVG_ATTRIBUTE_STRING_TYPE type,[Out] unsigned int* valueLength) ID2D1SvgElement::GetAttributeValueLength

This object supplies the values for context-fill, context-stroke, and context-value that are used when rendering SVG glyphs.

mt750193 ID2D1SvgGlyphStyle ID2D1SvgGlyphStyle
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Returns or sets the requested fill parameters.

mt750194 GetFill / SetFill GetFill void ID2D1SvgGlyphStyle::GetFill([Out, Optional] ID2D1Brush** brush)

Returns the number of dashes in the dash array.

mt750196 GetStrokeDashesCount GetStrokeDashesCount unsigned int ID2D1SvgGlyphStyle::GetStrokeDashesCount()

Provides values to an SVG glyph for fill.

Describes how the area is painted. A null brush will cause the context-fill value to come from the defaultFillBrush. If the defaultFillBrush is also null, the context-fill value will be 'none'. To set the ?context-fill? value, this method uses the provided brush with its opacity set to 1. To set the ?context-fill-opacity? value, this method uses the opacity of the provided brush.

This method returns an success or error code.

mt750197 HRESULT ID2D1SvgGlyphStyle::SetFill([In, Optional] ID2D1Brush* brush) ID2D1SvgGlyphStyle::SetFill

Returns the requested fill parameters.

Describes how the area is painted.

mt750194 void ID2D1SvgGlyphStyle::GetFill([Out, Optional] ID2D1Brush** brush) ID2D1SvgGlyphStyle::GetFill

Provides values to an SVG glyph for stroke properties. The brush with opacity set to 1 is used as the 'context-stroke'. The opacity of the brush is used as the 'context-stroke-opacity' value.

Describes how the stroke is painted. A null brush will cause the context-stroke value to be none.

Specifies the 'context-value' for the 'stroke-width' property.

Specifies the 'context-value' for the 'stroke-dasharray' property. A null value will cause the stroke-dasharray to be set to 'none'.

The the number of dashes in the dash array.

Specifies the 'context-value' for the 'stroke-dashoffset' property.

This method returns an success or error code.

mt750198 HRESULT ID2D1SvgGlyphStyle::SetStroke([In, Optional] ID2D1Brush* brush,[In] float strokeWidth,[In, Buffer, Optional] const float* dashes,[In] unsigned int dashesCount,[In] float dashOffset) ID2D1SvgGlyphStyle::SetStroke

Returns the number of dashes in the dash array.

Returns the number of dashes in the dash array.

mt750196 unsigned int ID2D1SvgGlyphStyle::GetStrokeDashesCount() ID2D1SvgGlyphStyle::GetStrokeDashesCount

Returns the requested stroke parameters. Any parameters that are non-null will receive the value of the requested parameter.

Describes how the stroke is painted.

The 'context-value' for the 'stroke-width' property.

The 'context-value' for the 'stroke-dasharray' property.

The the number of dashes in the dash array.

The 'context-value' for the 'stroke-dashoffset' property.

mt750195 void ID2D1SvgGlyphStyle::GetStroke([Out, Optional] ID2D1Brush** brush,[Out, Optional] float* strokeWidth,[Out, Buffer, Optional] float* dashes,[In] unsigned int dashesCount,[Out, Optional] float* dashOffset) ID2D1SvgGlyphStyle::GetStroke

Represents a bitmap that has been bound to an .

dd371109 ID2D1SvgPaint ID2D1SvgPaint
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion. No documentation. GetPaintType / SetPaintType GetPaintType D2D1_SVG_PAINT_TYPE ID2D1SvgPaint::GetPaintType() No documentation. GetColor / SetColor GetColor void ID2D1SvgPaint::GetColor([Out] D2D_COLOR_F* color) No documentation. GetIdLength GetIdLength unsigned int ID2D1SvgPaint::GetIdLength() No documentation. No documentation. No documentation. HRESULT ID2D1SvgPaint::SetPaintType([In] D2D1_SVG_PAINT_TYPE paintType) ID2D1SvgPaint::SetPaintType No documentation. No documentation. D2D1_SVG_PAINT_TYPE ID2D1SvgPaint::GetPaintType() ID2D1SvgPaint::GetPaintType No documentation. No documentation. No documentation. HRESULT ID2D1SvgPaint::SetColor([In] const D2D_COLOR_F* color) ID2D1SvgPaint::SetColor No documentation. No documentation. void ID2D1SvgPaint::GetColor([Out] D2D_COLOR_F* color) ID2D1SvgPaint::GetColor No documentation. No documentation. No documentation. HRESULT ID2D1SvgPaint::SetId([In] const wchar_t* id) ID2D1SvgPaint::SetId No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgPaint::GetId([Out, Buffer] wchar_t* id,[In] unsigned int idCount) ID2D1SvgPaint::GetId No documentation. No documentation. unsigned int ID2D1SvgPaint::GetIdLength() ID2D1SvgPaint::GetIdLength

This interface performs all the same functions as the interface, plus it enables functionality such as ink rendering, gradient mesh rendering, and improved image loading.

dn890789 ID2D1SvgPathData ID2D1SvgPathData
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion. No documentation. GetSegmentDataCount GetSegmentDataCount unsigned int ID2D1SvgPathData::GetSegmentDataCount() No documentation. GetCommandsCount GetCommandsCount unsigned int ID2D1SvgPathData::GetCommandsCount() No documentation. No documentation. No documentation. HRESULT ID2D1SvgPathData::RemoveSegmentDataAtEnd([In] unsigned int dataCount) ID2D1SvgPathData::RemoveSegmentDataAtEnd No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgPathData::UpdateSegmentData([In, Buffer] const float* data,[In] unsigned int dataCount,[In] unsigned int startIndex) ID2D1SvgPathData::UpdateSegmentData No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgPathData::GetSegmentData([Out, Buffer] float* data,[In] unsigned int dataCount,[In] unsigned int startIndex) ID2D1SvgPathData::GetSegmentData No documentation. No documentation. unsigned int ID2D1SvgPathData::GetSegmentDataCount() ID2D1SvgPathData::GetSegmentDataCount No documentation. No documentation. No documentation. HRESULT ID2D1SvgPathData::RemoveCommandsAtEnd([In] unsigned int commandsCount) ID2D1SvgPathData::RemoveCommandsAtEnd No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgPathData::UpdateCommands([In, Buffer] const D2D1_SVG_PATH_COMMAND* commands,[In] unsigned int commandsCount,[In] unsigned int startIndex) ID2D1SvgPathData::UpdateCommands No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgPathData::GetCommands([Out, Buffer] D2D1_SVG_PATH_COMMAND* commands,[In] unsigned int commandsCount,[In] unsigned int startIndex) ID2D1SvgPathData::GetCommands No documentation. No documentation. unsigned int ID2D1SvgPathData::GetCommandsCount() ID2D1SvgPathData::GetCommandsCount No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgPathData::CreatePathGeometry([In] D2D1_FILL_MODE fillMode,[Out] ID2D1PathGeometry1** pathGeometry) ID2D1SvgPathData::CreatePathGeometry

Interface describing an SVG points value in a polyline or polygon element.

mt797912 ID2D1SvgPointCollection ID2D1SvgPointCollection
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion. No documentation. GetPointsCount GetPointsCount unsigned int ID2D1SvgPointCollection::GetPointsCount() No documentation. No documentation. No documentation. HRESULT ID2D1SvgPointCollection::RemovePointsAtEnd([In] unsigned int pointsCount) ID2D1SvgPointCollection::RemovePointsAtEnd No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgPointCollection::UpdatePoints([In, Buffer] const D2D_POINT_2F* points,[In] unsigned int pointsCount,[In] unsigned int startIndex) ID2D1SvgPointCollection::UpdatePoints No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgPointCollection::GetPoints([Out, Buffer] D2D_POINT_2F* points,[In] unsigned int pointsCount,[In] unsigned int startIndex) ID2D1SvgPointCollection::GetPoints No documentation. No documentation. unsigned int ID2D1SvgPointCollection::GetPointsCount() ID2D1SvgPointCollection::GetPointsCount

This interface performs all the same functions as the interface, plus it enables functionality such as ink rendering, gradient mesh rendering, and improved image loading.

dn890789 ID2D1SvgStrokeDashArray ID2D1SvgStrokeDashArray
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion. No documentation. GetDashesCount GetDashesCount unsigned int ID2D1SvgStrokeDashArray::GetDashesCount() No documentation. No documentation. No documentation. HRESULT ID2D1SvgStrokeDashArray::RemoveDashesAtEnd([In] unsigned int dashesCount) ID2D1SvgStrokeDashArray::RemoveDashesAtEnd No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgStrokeDashArray::UpdateDashes([In, Buffer] const D2D1_SVG_LENGTH* dashes,[In] unsigned int dashesCount,[In] unsigned int startIndex) ID2D1SvgStrokeDashArray::UpdateDashes No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgStrokeDashArray::UpdateDashes([In, Buffer] const float* dashes,[In] unsigned int dashesCount,[In] unsigned int startIndex) ID2D1SvgStrokeDashArray::UpdateDashes No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgStrokeDashArray::GetDashes([Out, Buffer] D2D1_SVG_LENGTH* dashes,[In] unsigned int dashesCount,[In] unsigned int startIndex) ID2D1SvgStrokeDashArray::GetDashes No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT ID2D1SvgStrokeDashArray::GetDashes([Out, Buffer] float* dashes,[In] unsigned int dashesCount,[In] unsigned int startIndex) ID2D1SvgStrokeDashArray::GetDashes No documentation. No documentation. unsigned int ID2D1SvgStrokeDashArray::GetDashesCount() ID2D1SvgStrokeDashArray::GetDashesCount

Populates an object with triangles.

dd372245 ID2D1TessellationSink ID2D1TessellationSink
Copies the specified triangles to the sink. An array of structures that describe the triangles to add to the sink. void AddTriangles([In, Buffer] const D2D1_TRIANGLE* triangles,[None] UINT trianglesCount) Closes the sink. HRESULT Close()

Populates an object with triangles.

dd372245 ID2D1TessellationSink ID2D1TessellationSink
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Copies the specified triangles to the sink.

An array of structures that describe the triangles to add to the sink.

The number of triangles to copy from the triangles array.

dd372248 void ID2D1TessellationSink::AddTriangles([In, Buffer] const D2D1_TRIANGLE* triangles,[In] unsigned int trianglesCount) ID2D1TessellationSink::AddTriangles

Closes the sink and returns its error status.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd372250 HRESULT ID2D1TessellationSink::Close() ID2D1TessellationSink::Close

Represents the base interface for all of the transforms implemented by the transform author.

Transforms are aggregated by effect authors. This interface provides a common interface for implementing the Shantzis rectangle calculations which is the basis for all the transform processing in Direct2D imaging extensions. These calculations are described in the paper A model for efficient and flexible image computing.

hh446919 ID2D1Transform ID2D1Transform Represents the base interface for all of the transforms implemented by the transform author. ID2D1Transform

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Allows a transform to state how it would map a rectangle requested on its output to a set of sample rectangles on its input.

The output rectangle to which the inputs must be mapped.

The corresponding set of inputs. The inputs will directly correspond to the transform inputs.

The transform implementation must ensure that any pixel shader or software callback implementation it provides honors this calculation.

The transform implementation must regard this method as purely functional. It can base the mapped input and output rectangles on its current state as specified by the encapsulating effect properties. However, it must not change its own state in response to this method being invoked. The DirectImage renderer implementation reserves the right to call this method at any time and in any sequence.

hh446945 HRESULT ID2D1Transform::MapOutputRectToInputRects([In] const RECT* outputRect,[Out, Buffer] RECT* inputRects,[In] unsigned int inputRectsCount) ID2D1Transform::MapOutputRectToInputRects

[This documentation is preliminary and is subject to change.]

Applies to: desktop apps | Metro style apps

Performs the inverse mapping to MapOutputRectToInputRects.

No documentation. No documentation. No documentation. No outputOpaqueSubRect.

The transform implementation must ensure that any pixel shader or software callback implementation it provides honors this calculation.

The transform implementation must regard this method as purely functional. It can base the mapped input and output rectangles on its current state as specified by the encapsulating effect properties. However, it must not change its own state in response to this method being invoked. The Direct2D renderer implementation reserves the right to call this method at any time and in any sequence.

hh446943 HRESULT ID2D1Transform::MapInputRectsToOutputRect([In, Buffer] const RECT* inputRects,[In, Buffer] const RECT* inputOpaqueSubRects,[In] unsigned int inputRectCount,[Out] RECT* outputRect,[Out] RECT* outputOpaqueSubRect) ID2D1Transform::MapInputRectsToOutputRect
No documentation. No documentation. No documentation. The rectangle invalidated. HRESULT ID2D1Transform::MapInvalidRect([In] unsigned int inputIndex,[In] RECT invalidInputRect,[Out] RECT* invalidOutputRect) ID2D1Transform::MapInvalidRect

Represents a geometry that has been transformed.

Using an rather than transforming a geometry by using a render target's transform enables you to transform a geometry without transforming its stroke.

dd372252 ID2D1TransformedGeometry ID2D1TransformedGeometry
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves the source geometry of this transformed geometry object.

dd372255 GetSourceGeometry GetSourceGeometry void ID2D1TransformedGeometry::GetSourceGeometry([Out] ID2D1Geometry** sourceGeometry)

Retrieves the matrix used to transform the object's source geometry.

dd372256 GetTransform GetTransform void ID2D1TransformedGeometry::GetTransform([Out] D2D_MATRIX_3X2_F* transform)

Retrieves the source geometry of this transformed geometry object.

When this method returns, contains a reference to a reference to the source geometry for this transformed geometry object. This parameter is passed uninitialized.

dd372255 void ID2D1TransformedGeometry::GetSourceGeometry([Out] ID2D1Geometry** sourceGeometry) ID2D1TransformedGeometry::GetSourceGeometry

Retrieves the matrix used to transform the object's source geometry.

No documentation. dd372256 void ID2D1TransformedGeometry::GetTransform([Out] D2D_MATRIX_3X2_F* transform) ID2D1TransformedGeometry::GetTransform
Default Constructor for a . an instance of

Represents an image source which shares resources with an original image source.

dn952305 ID2D1TransformedImageSource ID2D1TransformedImageSource
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves the source image used to create the transformed image source. This value corresponds to the value passed to CreateTransformedImageSource.

dn952307 GetSource GetSource void ID2D1TransformedImageSource::GetSource([Out, Optional] ID2D1ImageSource** imageSource)

Retrieves the properties specified when the transformed image source was created. This value corresponds to the value passed to CreateTransformedImageSource.

dn952306 GetProperties GetProperties void ID2D1TransformedImageSource::GetProperties([Out] D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES* properties)

Retrieves the source image used to create the transformed image source. This value corresponds to the value passed to CreateTransformedImageSource.

No documentation. dn952307 void ID2D1TransformedImageSource::GetSource([Out, Optional] ID2D1ImageSource** imageSource) ID2D1TransformedImageSource::GetSource

Retrieves the properties specified when the transformed image source was created. This value corresponds to the value passed to CreateTransformedImageSource.

No documentation. dn952306 void ID2D1TransformedImageSource::GetProperties([Out] D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES* properties) ID2D1TransformedImageSource::GetProperties
Initializes a new instance of the .

Represents a graph of transform nodes.

This interface allows a graph of transform nodes to be specified. This interface is passed to to allow an effect implementation to specify a graph of transforms or a single transform.

hh446920 ID2D1TransformGraph ID2D1TransformGraph
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Returns the number of inputs to the transform graph.

hh871467 GetInputCount GetInputCount unsigned int ID2D1TransformGraph::GetInputCount()

Returns the number of inputs to the transform graph.

The number of inputs to this transform graph.

hh871467 unsigned int ID2D1TransformGraph::GetInputCount() ID2D1TransformGraph::GetInputCount

Sets a single transform node as being equivalent to the whole graph.

The node to be set.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.

?

This equivalent to calling , adding a single node, connecting all of the node inputs to the effect inputs in order, and setting the transform not as the graph output.

hh446935 HRESULT ID2D1TransformGraph::SetSingleTransformNode([In] ID2D1TransformNode* node) ID2D1TransformGraph::SetSingleTransformNode

Adds the provided node to the transform graph.

The node that will be added to the transform graph.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred
E_OUTOFMEMORYDirect2D could not allocate sufficient memory to complete the call.

?

This adds a transform node to the transform graph. A node must be added to the transform graph before it can be interconnected in any way.

A transform graph cannot be directly added to another transform graph. Only interfaces derived from can be added to the transform graph.

hh446922 HRESULT ID2D1TransformGraph::AddNode([In] ID2D1TransformNode* node) ID2D1TransformGraph::AddNode

Removes the provided node from the transform graph.

The node that will be removed from the transform graph.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred
D2DERR_NOT_FOUND = (HRESULT_FROM_WIN32())Direct2D could not locate the specified node.

?

The node must already exist in the graph; otherwise, the call fails with D2DERR_NOT_FOUND.

Any connections to this node will be removed when the node is removed.

After the node is removed, it cannot be used by the interface until it has been added to the graph by AddNode.

hh446931 HRESULT ID2D1TransformGraph::RemoveNode([In] ID2D1TransformNode* node) ID2D1TransformGraph::RemoveNode

Sets the output node for the transform graph.

The node that will be considered the output of the transform node.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred
D2DERR_NOT_FOUND = (HRESULT_FROM_WIN32())Direct2D could not locate the specified node.

?

The node must already exist in the graph; otherwise, the call fails with D2DERR_NOT_FOUND.

hh446932 HRESULT ID2D1TransformGraph::SetOutputNode([In] ID2D1TransformNode* node) ID2D1TransformGraph::SetOutputNode

Connects two nodes inside the transform graph.

The node from which the connection will be made.

The node to which the connection will be made.

The node input that will be connected.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred
D2DERR_NOT_FOUND = (HRESULT_FROM_WIN32())Direct2D could not locate the specified node.

?

Both nodes must already exist in the graph; otherwise, the call fails with D2DERR_NOT_FOUND.

hh446926 HRESULT ID2D1TransformGraph::ConnectNode([In] ID2D1TransformNode* fromNode,[In] ID2D1TransformNode* toNode,[In] unsigned int toNodeInputIndex) ID2D1TransformGraph::ConnectNode

Connects a transform node inside the graph to the corresponding effect input of the encapsulating effect.

The effect input to which the transform node will be bound.

The node to which the connection will be made.

The node input that will be connected.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred
D2DERR_NOT_FOUND = (HRESULT_FROM_WIN32())Direct2D could not locate the specified node.

?

hh446928 HRESULT ID2D1TransformGraph::ConnectToEffectInput([In] unsigned int toEffectInputIndex,[In] ID2D1TransformNode* node,[In] unsigned int toNodeInputIndex) ID2D1TransformGraph::ConnectToEffectInput

Clears the transform nodes and all connections from the transform graph.

Used when enough changes to transfoms would make editing of the transform graph inefficient.

hh446924 void ID2D1TransformGraph::Clear() ID2D1TransformGraph::Clear

Uses the specified input as the effect output.

The index of the input to the effect.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred
D2DERR_NOT_FOUND = (HRESULT_FROM_WIN32())Direct2D could not locate the specified node.

?

hh997720 HRESULT ID2D1TransformGraph::SetPassthroughGraph([In] unsigned int effectInputIndex) ID2D1TransformGraph::SetPassthroughGraph
Sets a single transform node as being equivalent to the whole graph. The node to be set. This equivalent to calling , adding a single node, and connecting all of the node inputs to the effect inputs in order. HRESULT ID2D1TransformGraph::SetSingleTransformNode([In] ID2D1TransformNode* node) Adds the provided node to the transform graph. The node that will be added to the transform graph. This adds a transform node to the transform graph. A node must be added to the transform graph before it can be interconnected in any way.A transform graph cannot be directly added to another transform graph. Any other kind of interface derived from can be added to the transform graph. HRESULT ID2D1TransformGraph::AddNode([In] ID2D1TransformNode* node) Removes the provided node from the transform graph. The node that will be removed from the transform graph. The node must already exist in the graph; otherwise, the call fails with D2DERR_NOT_FOUND.Any connections to this node will be removed when the node is removed.After the node is removed, it cannot be used by the interface until it has been added to the graph by AddNode. HRESULT ID2D1TransformGraph::RemoveNode([In] ID2D1TransformNode* node) Sets the output node for the transform graph. The node that will be set as the output of the the transform graph. HRESULT ID2D1TransformGraph::SetOutputNode([In] ID2D1TransformNode* node) Connects two nodes inside the transform graph. The node from which the connection will be made. The node to which the connection will be made. The node input that will be connected. HRESULT ID2D1TransformGraph::ConnectNode([In] ID2D1TransformNode* fromNode,[In] ID2D1TransformNode* toNode,[In] unsigned int toNodeInputIndex) [This documentation is preliminary and is subject to change.] The effect input to which the transform node will be bound. The node to which the connection will be made. The node input that will be connected. The method returns an . Possible values include, but are not limited to, those in the following table.HRESULTDescription S_OKNo error occurred D2DERR_NOT_FOUND = (HRESULT_FROM_WIN32())Direct2D could not locate the specified node.? HRESULT ID2D1TransformGraph::ConnectToEffectInput([In] unsigned int toEffectInputIndex,[In] ID2D1TransformNode* node,[In] unsigned int toNodeInputIndex)

Represents the base interface for all of the transforms implemented by the transform author.

Transforms are aggregated by effect authors. This interface provides a common interface for implementing the Shantzis rectangle calculations which is the basis for all the transform processing in Direct2D imaging extensions. These calculations are described in the paper A model for efficient and flexible image computing.

hh446919 ID2D1Transform ID2D1Transform
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Allows a transform to state how it would map a rectangle requested on its output to a set of sample rectangles on its input.

The output rectangle from which the inputs must be mapped.

The corresponding set of inputs. The inputs will directly correspond to the transform inputs.

The number of inputs specified. Direct2D guarantees that this is equal to the number of inputs specified on the transform.

If the method succeeds, it returns . If it fails, it returns an error code.

The transform implementation must ensure that any pixel shader or software callback implementation it provides honors this calculation.

The transform implementation must regard this method as purely functional. It can base the mapped input and output rectangles on its current state as specified by the encapsulating effect properties. However, it must not change its own state in response to this method being invoked. The Direct2D renderer implementation reserves the right to call this method at any time and in any sequence.

hh446945 HRESULT ID2D1Transform::MapOutputRectToInputRects([In] const RECT* outputRect,[Out, Buffer] RECT* inputRects,[In] unsigned int inputRectsCount) ID2D1Transform::MapOutputRectToInputRects

Performs the inverse mapping to MapOutputRectToInputRects.

No documentation. No documentation. No documentation. No documentation. No documentation.

The transform implementation must ensure that any pixel shader or software callback implementation it provides honors this calculation.

Unlike the MapOutputRectToInputRects and MapInvalidRect functions, this method is explicitly called by the renderer at a determined place in its rendering algorithm. The transform implementation may change its state based on the input rectangles and use this information to control its rendering information. This method is always called before the MapInvalidRect and MapOutputRectToInputRects methods of the transform.

hh446943 HRESULT ID2D1Transform::MapInputRectsToOutputRect([In, Buffer] const RECT* inputRects,[In, Buffer] const RECT* inputOpaqueSubRects,[In] unsigned int inputRectCount,[Out] RECT* outputRect,[Out] RECT* outputOpaqueSubRect) ID2D1Transform::MapInputRectsToOutputRect

Sets the input rectangles for this rendering pass into the transform.

The index of the input rectangle.

The invalid input rectangle.

The output rectangle to which the input rectangle must be mapped.

The transform implementation must regard MapInvalidRect as purely functional. The transform implementation can base the mapped input rectangle on the transform implementation's current state as specified by the encapsulating effect properties. But the transform implementation can't change its own state in response to a call to MapInvalidRect. Direct2D can call this method at any time and in any sequence following a call to the MapInputRectsToOutputRect method.

hh446946 HRESULT ID2D1Transform::MapInvalidRect([In] unsigned int inputIndex,[In] RECT invalidInputRect,[Out] RECT* invalidOutputRect) ID2D1Transform::MapInvalidRect

Describes a node in a transform topology.

Transform nodes are type-less and only define the notion of an object that accepts a number of inputs and is an output. This interface limits a topology to single output nodes.

hh446939 ID2D1TransformNode ID2D1TransformNode Describes a node in a transform topology. ID2D1TransformNode
Gets the number of inputs to the transform node.

Describes a node in a transform topology.

Transform nodes are type-less and only define the notion of an object that accepts a number of inputs and is an output. This interface limits a topology to single output nodes.

hh446939 ID2D1TransformNode ID2D1TransformNode
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the number of inputs to the transform node.

This method returns the number of inputs to this transform node.

hh446940 unsigned int ID2D1TransformNode::GetInputCount() ID2D1TransformNode::GetInputCount

Defines a mappable single-dimensional vertex buffer.

hh446949 ID2D1VertexBuffer ID2D1VertexBuffer
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Maps the provided data into user memory.

When this method returns, contains the address of a reference to the available buffer.

The desired size of the buffer.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
E_INVALIDARGAn invalid parameter was passed to the returning function.
D3DERR_DEVICELOSTThe device has been lost but cannot be reset at this time.

?

If data is larger than bufferSize, this method fails.

hh446951 HRESULT ID2D1VertexBuffer::Map([Out, Buffer] unsigned char** data,[In] unsigned int bufferSize) ID2D1VertexBuffer::Map

Unmaps the vertex buffer.

The method returns an . Possible values include, but are not limited to, those in the following table.

Description
No error occurred.
The object was not in the correct state to process the method.

?

After this method returns, the mapped memory from the vertex buffer is no longer accessible by the effect.

hh446967 HRESULT ID2D1VertexBuffer::Unmap() ID2D1VertexBuffer::Unmap
Initializes a new instance of class. Instance of an effect context

Renders drawing instructions to a window.

As is the case with other render targets, you must call BeginDraw before issuing drawing commands. After you've finished drawing, call EndDraw to indicate that drawing is finished and to release access to the buffer backing the render target. For , the only side effect of BeginDraw is changing the state of the render target to allow drawing commands to be issued. EndDraw flushes any batched drawing commands. If no errors have occurred, then it also presents the buffer, causing it to appear on the associated window. Finally, EndDraw returns the of the first error that occurred in drawing or presenting, as well as the tag state at the time the error occurred.

objects are double buffered, so drawing commands issued do not appear immediately, but rather are performed on an offscreen surface. When EndDraw is called, if there have been no rendering errors, the offscreen buffer is presented. If there have been rendering errors in the batch flushed by EndDraw, then the buffer is not presented, and the application must call BeginDraw and re-draw the frame. Flush can be used to check for errors before calling EndDraw if an application wants the frame to be presented regardless of errors.

A hardware render target's back-buffer is the size specified by GetPixelSize. If EndDraw presents the buffer, this bitmap is stretched to cover the surface where it is presented: the entire client area of the window. This stretch is performed using bilinear filtering if the render target is rendering in hardware and using nearest-neighbor filtering if the rendering target is using software. (Typically, an application will call Resize to ensure the pixel size of the render target and the pixel size of the destination match, and no scaling is necessary, though this is not a requirement.)

In the case where a window straddles adapters, Direct2D ensures that the portion of the off-screen render target is copied from the adapter where rendering is occurring to the adapter that needs to display the contents. If the adapter a render target is on has been removed or the driver upgraded while the application is running, this is returned as an error in the EndDraw call. In this case, the application should create a new render target and resources as necessary.

dd371461 ID2D1HwndRenderTarget ID2D1HwndRenderTarget
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Returns the associated with this render target.

dd371470 GetHwnd GetHwnd HWND ID2D1HwndRenderTarget::GetHwnd()

Indicates whether the associated with this render target is occluded.

A value that indicates whether the associated with this render target is occluded.

Note??If the window was occluded the last time that EndDraw was called, the next time that the render target calls CheckWindowState, it will return regardless of the current window state. If you want to use CheckWindowState to determine the current window state, you should call CheckWindowState after every EndDraw call and ignore its return value. This call will ensure that your next call to CheckWindowState state will return the actual window state.? dd371466 D2D1_WINDOW_STATE ID2D1HwndRenderTarget::CheckWindowState() ID2D1HwndRenderTarget::CheckWindowState
Changes the size of the render target to the specified pixel size. No documentation. No documentation.

After this method is called, the contents of the render target's back-buffer are not defined, even if the option was specified when the render target was created.

dd742774 HRESULT ID2D1HwndRenderTarget::Resize([In] const D2D_SIZE_U* pixelSize) ID2D1HwndRenderTarget::Resize

Returns the associated with this render target.

The associated with this render target.

dd371470 HWND ID2D1HwndRenderTarget::GetHwnd() ID2D1HwndRenderTarget::GetHwnd
Creates an , a render target that renders to a window. When you create a render target and hardware acceleration is available, you allocate resources on the computer's GPU. By creating a render target once and retaining it as long as possible, you gain performance benefits. Your application should create render targets once and hold onto them for the life of the application or until the {{D2DERR_RECREATE_TARGET}} error is received. When you receive this error, you need to recreate the render target (and any resources it created). an instance of The rendering mode, pixel format, remoting options, DPI information, and the minimum DirectX support required for hardware rendering. For information about supported pixel formats, see {{Supported Pixel Formats and Alpha Modes}}. The window handle, initial size (in pixels), and present options.

Describes an elliptical arc between two points.

dd368065 D2D1_ARC_SEGMENT D2D1_ARC_SEGMENT

The end point of the arc.

dd368065 D2D_POINT_2F point D2D_POINT_2F point

The x-radius and y-radius of the arc.

dd368065 D2D_SIZE_F size D2D_SIZE_F size

A value that specifies how many degrees in the clockwise direction the ellipse is rotated relative to the current coordinate system.

dd368065 float rotationAngle float rotationAngle

A value that specifies whether the arc sweep is clockwise or counterclockwise.

dd368065 D2D1_SWEEP_DIRECTION sweepDirection D2D1_SWEEP_DIRECTION sweepDirection

A value that specifies whether the given arc is larger than 180 degrees.

dd368065 D2D1_ARC_SIZE arcSize D2D1_ARC_SIZE arcSize

Represents a cubic bezier segment drawn between two points.

A cubic Bezier curve is defined by four points: a start point, an end point (point3), and two control points (point1 and point2). A Bezier segment does not contain a property for the starting point of the curve; it defines only the end point. The beginning point of the curve is the current point of the path to which the Bezier curve is added.

The two control points of a cubic Bezier curve behave like magnets, attracting portions of what would otherwise be a straight line toward themselves and producing a curve. The first control point, point1, affects the beginning portion of the curve; the second control point, point2, affects the ending portion of the curve.

Note??The curve doesn't necessarily pass through either of the control points; each control point moves its portion of the line toward itself, but not through itself.?
dd368070 D2D1_BEZIER_SEGMENT D2D1_BEZIER_SEGMENT

The first control point for the Bezier segment.

dd368070 D2D_POINT_2F point1 D2D_POINT_2F point1

The second control point for the Bezier segment.

dd368070 D2D_POINT_2F point2 D2D_POINT_2F point2

The end point for the Bezier segment.

dd368070 D2D_POINT_2F point3 D2D_POINT_2F point3

Describes the extend modes and the interpolation mode of an .

dd368071 D2D1_BITMAP_BRUSH_PROPERTIES D2D1_BITMAP_BRUSH_PROPERTIES
No documentation. dd368071 D2D1_EXTEND_MODE extendModeX D2D1_EXTEND_MODE extendModeX No documentation. dd368071 D2D1_EXTEND_MODE extendModeY D2D1_EXTEND_MODE extendModeY No documentation. dd368071 D2D1_BITMAP_INTERPOLATION_MODE interpolationMode D2D1_BITMAP_INTERPOLATION_MODE interpolationMode

Describes the extend modes and the interpolation mode of an .

hh847943 D2D1_BITMAP_BRUSH_PROPERTIES1 D2D1_BITMAP_BRUSH_PROPERTIES1
No documentation. hh847943 D2D1_EXTEND_MODE extendModeX D2D1_EXTEND_MODE extendModeX No documentation. hh847943 D2D1_EXTEND_MODE extendModeY D2D1_EXTEND_MODE extendModeY No documentation. hh847943 D2D1_INTERPOLATION_MODE interpolationMode D2D1_INTERPOLATION_MODE interpolationMode

Defines a blend description to be used in a particular blend transform.

This description closely matches the struct with some omissions and the addition of the blend factor in the description.

hh404277 D2D1_BLEND_DESCRIPTION D2D1_BLEND_DESCRIPTION

Specifies the first RGB data source and includes an optional preblend operation.

hh404277 D2D1_BLEND sourceBlend D2D1_BLEND sourceBlend

Specifies the second RGB data source and includes an optional preblend operation.

hh404277 D2D1_BLEND destinationBlend D2D1_BLEND destinationBlend

Specifies how to combine the RGB data sources.

hh404277 D2D1_BLEND_OPERATION blendOperation D2D1_BLEND_OPERATION blendOperation

Specifies the first alpha data source and includes an optional preblend operation. Blend options that end in _COLOR are not allowed.

hh404277 D2D1_BLEND sourceBlendAlpha D2D1_BLEND sourceBlendAlpha

Specifies the second alpha data source and includes an optional preblend operation. Blend options that end in _COLOR are not allowed.

hh404277 D2D1_BLEND destinationBlendAlpha D2D1_BLEND destinationBlendAlpha

Specifies how to combine the alpha data sources.

hh404277 D2D1_BLEND_OPERATION blendOperationAlpha D2D1_BLEND_OPERATION blendOperationAlpha

Parameters to the blend operations. The blend must use for this to be used.

hh404277 SHARPDX_COLOR4 blendFactor SHARPDX_COLOR4 blendFactor

Describes the opacity and transformation of a brush.

This structure is used when creating a brush. For convenience, Direct2D provides the D2D1::BrushProperties function for creating structures.

After creating a brush, you can change its opacity or transform by calling the SetOpacity or SetTransform methods.

dd368077 D2D1_BRUSH_PROPERTIES D2D1_BRUSH_PROPERTIES

A value between 0.0f and 1.0f, inclusive, that specifies the degree of opacity of the brush.

dd368077 float opacity float opacity

The transformation that is applied to the brush.

dd368077 D2D_MATRIX_3X2_F transform D2D_MATRIX_3X2_F transform

Specifies the options with which the Direct2D device, factory, and device context are created.

The root objects referred to here are the Direct2D device, Direct2D factory and the Direct2D device context.

hh404298 D2D1_CREATION_PROPERTIES D2D1_CREATION_PROPERTIES
No documentation. hh404298 D2D1_THREADING_MODE threadingMode D2D1_THREADING_MODE threadingMode No documentation. hh404298 D2D1_DEBUG_LEVEL debugLevel D2D1_DEBUG_LEVEL debugLevel No documentation. hh404298 D2D1_DEVICE_CONTEXT_OPTIONS options D2D1_DEVICE_CONTEXT_OPTIONS options

Describes the drawing state of a render target.

dd368093 D2D1_DRAWING_STATE_DESCRIPTION D2D1_DRAWING_STATE_DESCRIPTION

The antialiasing mode for subsequent nontext drawing operations.

dd368093 D2D1_ANTIALIAS_MODE antialiasMode D2D1_ANTIALIAS_MODE antialiasMode

The antialiasing mode for subsequent text and glyph drawing operations.

dd368093 D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode

A label for subsequent drawing operations.

dd368093 unsigned longlong tag1 unsigned longlong tag1

A label for subsequent drawing operations.

dd368093 unsigned longlong tag2 unsigned longlong tag2

The transformation to apply to subsequent drawing operations.

dd368093 D2D_MATRIX_3X2_F transform D2D_MATRIX_3X2_F transform

Describes the drawing state of a device context.

hh847946 D2D1_DRAWING_STATE_DESCRIPTION1 D2D1_DRAWING_STATE_DESCRIPTION1

The antialiasing mode for subsequent nontext drawing operations.

hh847946 D2D1_ANTIALIAS_MODE antialiasMode D2D1_ANTIALIAS_MODE antialiasMode

The antialiasing mode for subsequent text and glyph drawing operations.

hh847946 D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode

A label for subsequent drawing operations.

hh847946 unsigned longlong tag1 unsigned longlong tag1

A label for subsequent drawing operations.

hh847946 unsigned longlong tag2 unsigned longlong tag2

The transformation to apply to subsequent drawing operations.

hh847946 D2D_MATRIX_3X2_F transform D2D_MATRIX_3X2_F transform

The blend mode for the device context to apply to subsequent drawing operations.

hh847946 D2D1_PRIMITIVE_BLEND primitiveBlend D2D1_PRIMITIVE_BLEND primitiveBlend

hh847946 D2D1_UNIT_MODE unitMode D2D1_UNIT_MODE unitMode

Contains the debugging level of an object.

To enable debugging, you must install the Direct2D Debug Layer.

dd368102 D2D1_FACTORY_OPTIONS D2D1_FACTORY_OPTIONS
No documentation. dd368102 D2D1_DEBUG_LEVEL debugLevel D2D1_DEBUG_LEVEL debugLevel

Describes compute shader support, which is an option on D3D10 feature level.

You can fill this structure by passing a D2D1_ FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS structure to .

hh871446 D2D1_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS D2D1_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS

Shader model 4 compute shaders are supported.

hh871446 BOOL computeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x BOOL computeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x

Describes the support for doubles in shaders.

Fill this structure by passing a structure to .

hh871445 D2D1_FEATURE_DATA_DOUBLES D2D1_FEATURE_DATA_DOUBLES

TRUE is doubles are supported within the shaders.

hh871445 BOOL doublePrecisionFloatShaderOps BOOL doublePrecisionFloatShaderOps

Represents a tensor patch with 16 control points, 4 corner colors, and boundary flags. An is made up of 1 or more gradient mesh patches. Use the GradientMeshPatch function or the GradientMeshPatchFromCoonsPatch function to create one.

The following image shows the numbering of control points on a tensor grid.

dn890726 D2D1_GRADIENT_MESH_PATCH D2D1_GRADIENT_MESH_PATCH
No documentation. dn890726 D2D_POINT_2F point00 D2D_POINT_2F point00 No documentation. dn890726 D2D_POINT_2F point01 D2D_POINT_2F point01 No documentation. dn890726 D2D_POINT_2F point02 D2D_POINT_2F point02 No documentation. dn890726 D2D_POINT_2F point03 D2D_POINT_2F point03 No documentation. dn890726 D2D_POINT_2F point10 D2D_POINT_2F point10 No documentation. dn890726 D2D_POINT_2F point11 D2D_POINT_2F point11 No documentation. dn890726 D2D_POINT_2F point12 D2D_POINT_2F point12 No documentation. dn890726 D2D_POINT_2F point13 D2D_POINT_2F point13 No documentation. dn890726 D2D_POINT_2F point20 D2D_POINT_2F point20 No documentation. dn890726 D2D_POINT_2F point21 D2D_POINT_2F point21 No documentation. dn890726 D2D_POINT_2F point22 D2D_POINT_2F point22 No documentation. dn890726 D2D_POINT_2F point23 D2D_POINT_2F point23 No documentation. dn890726 D2D_POINT_2F point30 D2D_POINT_2F point30 No documentation. dn890726 D2D_POINT_2F point31 D2D_POINT_2F point31 No documentation. dn890726 D2D_POINT_2F point32 D2D_POINT_2F point32 No documentation. dn890726 D2D_POINT_2F point33 D2D_POINT_2F point33 No documentation. dn890726 D2D_COLOR_F color00 D2D_COLOR_F color00 No documentation. dn890726 D2D_COLOR_F color03 D2D_COLOR_F color03 No documentation. dn890726 D2D_COLOR_F color30 D2D_COLOR_F color30 No documentation. dn890726 D2D_COLOR_F color33 D2D_COLOR_F color33 No documentation. dn890726 D2D1_PATCH_EDGE_MODE topEdgeMode D2D1_PATCH_EDGE_MODE topEdgeMode No documentation. dn890726 D2D1_PATCH_EDGE_MODE leftEdgeMode D2D1_PATCH_EDGE_MODE leftEdgeMode No documentation. dn890726 D2D1_PATCH_EDGE_MODE bottomEdgeMode D2D1_PATCH_EDGE_MODE bottomEdgeMode No documentation. dn890726 D2D1_PATCH_EDGE_MODE rightEdgeMode D2D1_PATCH_EDGE_MODE rightEdgeMode

Contains the position and color of a gradient stop.

Gradient stops can be specified in any order if they are at different positions. Two stops may share a position. In this case, the first stop specified is treated as the "low" stop (nearer 0.0f) and subsequent stops are treated as "higher" (nearer 1.0f). This behavior is useful if a caller wants an instant transition in the middle of a stop.

Typically, there are at least two points in a collection, although creation with only one stop is permitted. For example, one point is at position 0.0f, another point is at position 1.0f, and additional points are distributed in the [0, 1] range. Where the gradient progression is beyond the range of [0, 1], the stops are stored, but may affect the gradient.

When drawn, the [0, 1] range of positions is mapped to the brush, in a brush-dependent way. For details, see and .

Gradient stops with a position outside the [0, 1] range cannot be seen explicitly, but they can still affect the colors produced in the [0, 1] range. For example, a two-stop gradient 0.0f, Black}, {2.0f, White is indistinguishable visually from 0.0f, Black}, {1.0f, Mid-level gray. Also, the colors are clamped before interpolation.

dd368119 D2D1_GRADIENT_STOP D2D1_GRADIENT_STOP

A value that indicates the relative position of the gradient stop in the brush. This value must be in the [0.0f, 1.0f] range if the gradient stop is to be seen explicitly.

dd368119 float position float position

The color of the gradient stop.

dd368119 D2D_COLOR_F color D2D_COLOR_F color

Contains the , pixel size, and presentation options for an .

Use this structure when you call the CreateHwndRenderTarget method to create a new .

For convenience, Direct2D provides the D2D1::HwndRenderTargetProperties function for creating new structures.

dd368122 D2D1_HWND_RENDER_TARGET_PROPERTIES D2D1_HWND_RENDER_TARGET_PROPERTIES
No documentation. dd368122 HWND hwnd HWND hwnd No documentation. dd368122 D2D_SIZE_U pixelSize D2D_SIZE_U pixelSize No documentation. dd368122 D2D1_PRESENT_OPTIONS presentOptions D2D1_PRESENT_OPTIONS presentOptions

Describes image brush features.

hh404308 D2D1_IMAGE_BRUSH_PROPERTIES D2D1_IMAGE_BRUSH_PROPERTIES

The source rectangle in the image space from which the image will be tiled or interpolated.

hh404308 D2D_RECT_F sourceRectangle D2D_RECT_F sourceRectangle

The extend mode in the image x-axis.

hh404308 D2D1_EXTEND_MODE extendModeX D2D1_EXTEND_MODE extendModeX

The extend mode in the image y-axis.

hh404308 D2D1_EXTEND_MODE extendModeY D2D1_EXTEND_MODE extendModeY

The interpolation mode to use when scaling the image brush.

hh404308 D2D1_INTERPOLATION_MODE interpolationMode D2D1_INTERPOLATION_MODE interpolationMode

Represents a Bezier segment to be used in the creation of an object. This structure differs from in that it is composed of s, which contain a radius in addition to x- and y-coordinates.

dn890751 D2D1_INK_BEZIER_SEGMENT D2D1_INK_BEZIER_SEGMENT
No documentation. dn890751 D2D1_INK_POINT point1 D2D1_INK_POINT point1 No documentation. dn890751 D2D1_INK_POINT point2 D2D1_INK_POINT point2 No documentation. dn890751 D2D1_INK_POINT point3 D2D1_INK_POINT point3

Represents a point, radius pair that makes up part of a .

dn890752 D2D1_INK_POINT D2D1_INK_POINT
No documentation. dn890752 float x float x No documentation. dn890752 float y float y No documentation. dn890752 float radius float radius

Defines the general pen tip shape and the transform used in an object.

dn890737 D2D1_INK_STYLE_PROPERTIES D2D1_INK_STYLE_PROPERTIES
No documentation. dn890737 D2D1_INK_NIB_SHAPE nibShape D2D1_INK_NIB_SHAPE nibShape No documentation. dn890737 D2D_MATRIX_3X2_F nibTransform D2D_MATRIX_3X2_F nibTransform

Describes the options that transforms may set on input textures.

hh404310 D2D1_INPUT_DESCRIPTION D2D1_INPUT_DESCRIPTION

The type of filter to apply to the input texture.

hh404310 D2D1_FILTER filter D2D1_FILTER filter

The mip level to retrieve from the upstream transform, if specified.

hh404310 unsigned int levelOfDetailCount unsigned int levelOfDetailCount
Initializes a new instance of struct. The type of filter to apply to the input texture The mip level to retrieve from the upstream transform, if specified.

A description of a single element to the vertex layout.

This structure is a subset of that omits fields required to define a vertex layout.

If the D2D1_APPEND_ALIGNED_ELEMENT constant is used for alignedByteOffset, the elements will be packed contiguously for convenience.

hh404312 D2D1_INPUT_ELEMENT_DESC D2D1_INPUT_ELEMENT_DESC

The HLSL semantic associated with this element in a shader input-signature.

hh404312 const char* semanticName char semanticName

The semantic index for the element. A semantic index modifies a semantic, with an integer index number. A semantic index is only needed in a case where there is more than one element with the same semantic. For example, a 4x4 matrix would have four components each with the semantic name matrix; however, each of the four components would have different semantic indices (0, 1, 2, and 3).

hh404312 unsigned int semanticIndex unsigned int semanticIndex

The data type of the element data.

hh404312 DXGI_FORMAT format DXGI_FORMAT format

An integer value that identifies the input-assembler. Valid values are between 0 and 15.

hh404312 unsigned int inputSlot unsigned int inputSlot

The offset in bytes between each element.

hh404312 unsigned int alignedByteOffset unsigned int alignedByteOffset
Returns a value that can be used for the offset parameter of an InputElement to indicate that the element should be aligned directly after the previous element, including any packing if necessary. A value used to align input elements. D2D1_APPEND_ALIGNED_ELEMENT Initializes a new instance of the struct. The HLSL semantic associated with this element in a shader input-signature. The semantic index for the element. A semantic index modifies a semantic, with an integer index number. A semantic index is only needed in a case where there is more than one element with the same semantic. For example, a 4x4 matrix would have four components each with the semantic name matrix, however each of the four component would have different semantic indices (0, 1, 2, and 3). The data type of the element data. An integer value that identifies the input-assembler. Valid values are between 0 and 15. Initializes a new instance of the struct. The HLSL semantic associated with this element in a shader input-signature. The semantic index for the element. A semantic index modifies a semantic, with an integer index number. A semantic index is only needed in a case where there is more than one element with the same semantic. For example, a 4x4 matrix would have four components each with the semantic name matrix, however each of the four component would have different semantic indices (0, 1, 2, and 3). The data type of the element data. Offset (in bytes) between each element. Use AppendAligned for convenience to define the current element directly after the previous one, including any packing if necessary. An integer value that identifies the input-assembler. Valid values are between 0 and 15. Determines whether the specified is equal to this instance. The to compare with this instance. true if the specified is equal to this instance; otherwise, false. Implements the operator ==. The left. The right. The result of the operator. Implements the operator !=. The left. The right. The result of the operator.

Contains the content bounds, mask information, opacity settings, and other options for a layer resource.

dd368127 D2D1_LAYER_PARAMETERS D2D1_LAYER_PARAMETERS

The content bounds of the layer. Content outside these bounds is not guaranteed to render.

dd368127 D2D_RECT_F contentBounds D2D_RECT_F contentBounds

The geometric mask specifies the area of the layer that is composited into the render target.

dd368127 ID2D1Geometry* geometricMask ID2D1Geometry geometricMask

A value that specifies the antialiasing mode for the geometricMask.

dd368127 D2D1_ANTIALIAS_MODE maskAntialiasMode D2D1_ANTIALIAS_MODE maskAntialiasMode

A value that specifies the transform that is applied to the geometric mask when composing the layer.

dd368127 D2D_MATRIX_3X2_F maskTransform D2D_MATRIX_3X2_F maskTransform

An opacity value that is applied uniformly to all resources in the layer when compositing to the target.

dd368127 float opacity float opacity

A brush that is used to modify the opacity of the layer. The brush is mapped to the layer, and the alpha channel of each mapped brush pixel is multiplied against the corresponding layer pixel.

dd368127 ID2D1Brush* opacityBrush ID2D1Brush opacityBrush

A value that specifies whether the layer intends to render text with ClearType antialiasing.

dd368127 D2D1_LAYER_OPTIONS layerOptions D2D1_LAYER_OPTIONS layerOptions
Sets the geometric mask. The geometric mask. ID2D1Geometry* geometricMask Sets the opacity brush. The opacity brush. ID2D1Brush* opacityBrush

Contains the content bounds, mask information, opacity settings, and other options for a layer resource.

hh847947 D2D1_LAYER_PARAMETERS1 D2D1_LAYER_PARAMETERS1

The content bounds of the layer. Content outside these bounds is not guaranteed to render.

hh847947 D2D_RECT_F contentBounds D2D_RECT_F contentBounds

The geometric mask specifies the area of the layer that is composited into the render target.

hh847947 ID2D1Geometry* geometricMask ID2D1Geometry geometricMask

A value that specifies the antialiasing mode for the geometricMask.

hh847947 D2D1_ANTIALIAS_MODE maskAntialiasMode D2D1_ANTIALIAS_MODE maskAntialiasMode

A value that specifies the transform that is applied to the geometric mask when composing the layer.

hh847947 D2D_MATRIX_3X2_F maskTransform D2D_MATRIX_3X2_F maskTransform

An opacity value that is applied uniformly to all resources in the layer when compositing to the target.

hh847947 float opacity float opacity

A brush that is used to modify the opacity of the layer. The brush is mapped to the layer, and the alpha channel of each mapped brush pixel is multiplied against the corresponding layer pixel.

hh847947 ID2D1Brush* opacityBrush ID2D1Brush opacityBrush

Additional options for the layer creation.

hh847947 D2D1_LAYER_OPTIONS1 layerOptions D2D1_LAYER_OPTIONS1 layerOptions
Initializes a new instance of the struct. The content bounds. The geometry mask. The mask antialias mode. The mask transform. The opacity. The opacity brush. The layer options. Sets the geometric mask. The geometric mask. ID2D1Geometry* geometricMask Sets the opacity brush. The opacity brush. ID2D1Brush* opacityBrush

Contains the starting point and endpoint of the gradient axis for an .

Use this method when creating new objects with the CreateLinearGradientBrush method. For convenience, Direct2D provides the D2D1::LinearGradientBrushProperties helper function for creating new structures.

The following illustration shows how a linear gradient changes as you change its start and end points. For the first gradient, the start point is set to (0,0) and the end point to (150, 50); this creates a diagonal gradient that starts at the upper-left corner and extends to the lower-right corner of the area being painted. When you set the start point to (0, 25) and the end point to (150, 25), a horizontal gradient is created. Similarly, setting the start point to (75, 0) and the end point to (75, 50) creates a vertical gradient. Setting the start point to (0, 50) and the end point to (150, 0) creates a diagonal gradient that starts at the lower-left corner and extends to the upper-right corner of the area being painted.

dd368128 D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES

No documentation. dd368128 D2D_POINT_2F startPoint D2D_POINT_2F startPoint
No documentation. dd368128 D2D_POINT_2F endPoint D2D_POINT_2F endPoint

Describes mapped memory from the API.

The mapped rectangle is used to map a rectangle into the caller's address space.

hh404314 D2D1_MAPPED_RECT D2D1_MAPPED_RECT
No documentation. hh404314 unsigned int pitch unsigned int pitch No documentation. hh404314 unsigned char* bits unsigned char bits

Contains the data format and alpha mode for a bitmap or render target.

For more information about the pixel formats and alpha modes supported by each render target, see Supported Pixel Formats and Alpha Modes.

dd368138 D2D1_PIXEL_FORMAT D2D1_PIXEL_FORMAT

A value that specifies the size and arrangement of channels in each pixel.

dd368138 DXGI_FORMAT format DXGI_FORMAT format

A value that specifies whether the alpha channel is using pre-multiplied alpha, straight alpha, whether it should be ignored and considered opaque, or whether it is unkown.

dd368138 D2D1_ALPHA_MODE alphaMode D2D1_ALPHA_MODE alphaMode
Initializes a new instance of the struct. A value that specifies the size and arrangement of channels in each pixel. A value that specifies whether the alpha channel is using pre-multiplied alpha, straight alpha, whether it should be ignored and considered opaque, or whether it is unknown.

Describes a point on a path geometry.

hh404318 D2D1_POINT_DESCRIPTION D2D1_POINT_DESCRIPTION

The end point after walking the path.

hh404318 D2D_POINT_2F point D2D_POINT_2F point

A unit vector indicating the tangent point.

hh404318 D2D_POINT_2F unitTangentVector D2D_POINT_2F unitTangentVector

The index of the segment on which point resides. This index is global to the entire path, not just to a particular figure.

hh404318 unsigned int endSegment unsigned int endSegment

The index of the figure on which point resides.

hh404318 unsigned int endFigure unsigned int endFigure

The length of the section of the path stretching from the start of the path to the start of endSegment.

hh404318 float lengthToEndSegment float lengthToEndSegment

The creation properties for a object.

hh847949 D2D1_PRINT_CONTROL_PROPERTIES D2D1_PRINT_CONTROL_PROPERTIES
No documentation. hh847949 D2D1_PRINT_FONT_SUBSET_MODE fontSubset D2D1_PRINT_FONT_SUBSET_MODE fontSubset No documentation. hh847949 float rasterDPI float rasterDPI No documentation. hh847949 D2D1_COLOR_SPACE colorSpace D2D1_COLOR_SPACE colorSpace

Defines a property binding to a pair of functions which get and set the corresponding property.

The propertyName is used to cross-correlate the property binding with the registration XML. The propertyName must be present in the XML call or the registration will fail. All properties must be bound.

hh404320 D2D1_PROPERTY_BINDING D2D1_PROPERTY_BINDING

The name of the property.

hh404320 const wchar_t* propertyName wchar_t propertyName

The function that will receive the data to set.

hh404320 __function__stdcall* setFunction __function__stdcall setFunction

The function that will be asked to write the output data.

hh404320 __function__stdcall* getFunction __function__stdcall getFunction
Gets the type of the property.

Contains the control point and end point for a quadratic Bezier segment.

dd368147 D2D1_QUADRATIC_BEZIER_SEGMENT D2D1_QUADRATIC_BEZIER_SEGMENT

The control point of the quadratic Bezier segment.

dd368147 D2D_POINT_2F point1 D2D_POINT_2F point1

The end point of the quadratic Bezier segment.

dd368147 D2D_POINT_2F point2 D2D_POINT_2F point2

Contains the gradient origin offset and the size and position of the gradient ellipse for an .

Different values for center, gradientOriginOffset, radiusX and/or radiusY produce different gradients. The following illustration shows several radial gradients that have different gradient origin offsets, creating the appearance of the light illuminating the circles from different angles.

For convenience, Direct2D provides the D2D1::RadialGradientBrushProperties function for creating new D2D1_RADIAL_GRADIENT_BRUSH structures.

dd368149 D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES
No documentation. dd368149 D2D_POINT_2F center D2D_POINT_2F center No documentation. dd368149 D2D_POINT_2F gradientOriginOffset D2D_POINT_2F gradientOriginOffset No documentation. dd368149 float radiusX float radiusX No documentation. dd368149 float radiusY float radiusY

Describes limitations to be applied to an imaging effect renderer.

The renderer can allocate tiles larger than the minimum tile allocation. The allocated tiles will be powers of two of the minimum size on each axis, except that the size on each axis will not exceed the guaranteed maximum texture size for the device feature level.

The minimumPixelRenderExtent is the size of the square tile below which the renderer will expand the tile allocation rather than attempting to subdivide the rendering tile any further. When this threshold is reached, the allocation tile size is expanded. This might occur repeatedly until rendering can either proceed or it is determined that the graph cannot be rendered.

The buffer precision is used for intermediate buffers if it is otherwise unspecified by the effects or the internal effect topology. The application can also use the Output.BufferPrecision method to specify the output precision for a particular effect. This takes precedence over the context precision. In addition, the effect might set a different precision internally if required. If the buffer type on the context is and otherwise not specified by the effect or transform, the precision of the output will be the maximum precision of the inputs to the transform. The buffer precision does not affect the number of channels used.

hh404322 D2D1_RENDERING_CONTROLS D2D1_RENDERING_CONTROLS

The buffer precision used by default if the buffer precision is not otherwise specified by the effect or the transform.

hh404322 D2D1_BUFFER_PRECISION bufferPrecision D2D1_BUFFER_PRECISION bufferPrecision

The tile allocation size to be used by the imaging effect renderer.

hh404322 D2D_SIZE_U tileSize D2D_SIZE_U tileSize

Contains rendering options (hardware or software), pixel format, DPI information, remoting options, and Direct3D support requirements for a render target.

Use this structure when creating a render target, or use it with the method to check the properties supported by an existing render target.

As a convenience, Direct2D provides the D2D1::RenderTargetProperties helper function for creating structures. An easy way to create a structure that works for most render targets is to call the function without specifying any parameters. Doing so creates a structure that has its fields set to default values. For more information, see D2D1::RenderTargetProperties.

Not all render targets support hardware rendering. For a list, see the Render Targets Overview.

dd368155 D2D1_RENDER_TARGET_PROPERTIES D2D1_RENDER_TARGET_PROPERTIES

A value that specifies whether the render target should force hardware or software rendering. A value of specifies that the render target should use hardware rendering if it is available; otherwise, it uses software rendering. Note that WIC bitmap render targets do not support hardware rendering.

dd368155 D2D1_RENDER_TARGET_TYPE type D2D1_RENDER_TARGET_TYPE type

The pixel format and alpha mode of the render target. You can use the D2D1::PixelFormat function to create a pixel format that specifies that Direct2D should select the pixel format and alpha mode for you. For a list of pixel formats and alpha modes supported by each render target, see Supported Pixel Formats and Alpha Modes.

dd368155 D2D1_PIXEL_FORMAT pixelFormat D2D1_PIXEL_FORMAT pixelFormat

The horizontal DPI of the render target. To use the default DPI, set dpiX and dpiY to 0. For more information, see the Remarks section.

dd368155 float dpiX float dpiX

The vertical DPI of the render target. To use the default DPI, set dpiX and dpiY to 0. For more information, see the Remarks section.

dd368155 float dpiY float dpiY

A value that specifies how the render target is remoted and whether it should be GDI-compatible. Set to to create a render target that is not compatible with GDI and uses Direct3D command-stream remoting if it is available.

dd368155 D2D1_RENDER_TARGET_USAGE usage D2D1_RENDER_TARGET_USAGE usage

A value that specifies the minimum Direct3D feature level required for hardware rendering. If the specified minimum level is not available, the render target uses software rendering if the type member is set to ; if type is set to to , render target creation fails. A value of indicates that Direct2D should determine whether the Direct3D feature level of the device is adequate. This field is used only when creating and objects.

dd368155 D2D1_FEATURE_LEVEL minLevel D2D1_FEATURE_LEVEL minLevel
Initializes a new instance of the struct. The pixel format and alpha mode of the render target. You can use the {{D2D1::PixelFormat}} function to create a pixel format that specifies that Direct2D should select the pixel format and alpha mode for you. For a list of pixel formats and alpha modes supported by each render target, see {{Supported Pixel Formats and Alpha Modes}}. Initializes a new instance of the struct. A value that specifies whether the render target should force hardware or software rendering. A value of specifies that the render target should use hardware rendering if it is available; otherwise, it uses software rendering. Note that WIC bitmap render targets do not support hardware rendering. The pixel format and alpha mode of the render target. You can use the {{D2D1::PixelFormat}} function to create a pixel format that specifies that Direct2D should select the pixel format and alpha mode for you. For a list of pixel formats and alpha modes supported by each render target, see {{Supported Pixel Formats and Alpha Modes}}. The horizontal DPI of the render target. To use the default DPI, set dpiX and dpiY to 0. For more information, see the Remarks section. The vertical DPI of the render target. To use the default DPI, set dpiX and dpiY to 0. For more information, see the Remarks section. A value that specifies how the render target is remoted and whether it should be GDI-compatible. Set to to create a render target that is not compatible with GDI and uses Direct3D command-stream remoting if it is available. A value that specifies the minimum Direct3D feature level required for hardware rendering. If the specified minimum level is not available, the render target uses software rendering if the type member is set to ; if type is set to to D2D1_RENDER_TARGET_TYPE_HARDWARE, render target creation fails. A value of indicates that Direct2D should determine whether the Direct3D feature level of the device is adequate. This field is used only when creating and objects.

Defines a resource texture when the original resource texture is created.

hh404324 D2D1_RESOURCE_TEXTURE_PROPERTIES D2D1_RESOURCE_TEXTURE_PROPERTIES

The extents of the resource table in each dimension.

hh404324 const unsigned int* extents unsigned int extents

The number of dimensions in the resource texture. This must be a number from 1 to 3.

hh404324 unsigned int dimensions unsigned int dimensions

The precision of the resource texture to create.

hh404324 D2D1_BUFFER_PRECISION bufferPrecision D2D1_BUFFER_PRECISION bufferPrecision

The number of channels in the resource texture.

hh404324 D2D1_CHANNEL_DEPTH channelDepth D2D1_CHANNEL_DEPTH channelDepth

The filtering mode to use on the texture.

hh404324 D2D1_FILTER filter D2D1_FILTER filter

Specifies how pixel values beyond the extent of the texture will be sampled, in every dimension.

hh404324 const D2D1_EXTEND_MODE* extendModes D2D1_EXTEND_MODE extendModes
The extents of the resource table in each dimension. const unsigned int* extents Specifies how pixel values beyond the extent of the texture will be sampled, in every dimension. const D2D1_EXTEND_MODE* extendModes

Contains the dimensions and corner radii of a rounded rectangle.

Each corner of the rectangle specified by the rect is replaced with a quarter ellipse, with a radius in each direction specified by radiusX and radiusY.

If the radiusX is greater than or equal to half the width of the rectangle, and the radiusY is greater than or equal to one-half the height, the rounded rectangle is an ellipse with the same width and height of the rect.

Even when both radiuX and radiusY are zero, the rounded rectangle is different from a rectangle., When stroked, the corners of the rounded rectangle are roundly joined, not mitered (square).

dd368158 D2D1_ROUNDED_RECT D2D1_ROUNDED_RECT

The coordinates of the rectangle.

dd368158 D2D_RECT_F rect D2D_RECT_F rect

The x-radius for the quarter ellipse that is drawn to replace every corner of the rectangle.

dd368158 float radiusX float radiusX

The y-radius for the quarter ellipse that is drawn to replace every corner of the rectangle.

dd368158 float radiusY float radiusY

Creates a color context from a simple color profile. It is only valid to use this with the Color Management Effect in 'Best' mode.

mt797808 D2D1_SIMPLE_COLOR_PROFILE D2D1_SIMPLE_COLOR_PROFILE

The simple color profile to create the color context from.

mt797808 D2D_POINT_2F redPrimary D2D_POINT_2F redPrimary

The created color context.

mt797808 D2D_POINT_2F greenPrimary D2D_POINT_2F greenPrimary
No documentation. mt797808 D2D_POINT_2F bluePrimary D2D_POINT_2F bluePrimary No documentation. mt797808 D2D_POINT_2F whitePointXZ D2D_POINT_2F whitePointXZ No documentation. mt797808 D2D1_GAMMA1 gamma D2D1_GAMMA1 gamma

Describes the stroke that outlines a shape.

The following illustration shows different dashOffset values for the same custom dash style.

dd368164 D2D1_STROKE_STYLE_PROPERTIES D2D1_STROKE_STYLE_PROPERTIES

The cap applied to the start of all the open figures in a stroked geometry.

dd368164 D2D1_CAP_STYLE startCap D2D1_CAP_STYLE startCap

The cap applied to the end of all the open figures in a stroked geometry.

dd368164 D2D1_CAP_STYLE endCap D2D1_CAP_STYLE endCap

The shape at either end of each dash segment.

dd368164 D2D1_CAP_STYLE dashCap D2D1_CAP_STYLE dashCap

A value that describes how segments are joined. This value is ignored for a vertex if the segment flags specify that the segment should have a smooth join.

dd368164 D2D1_LINE_JOIN lineJoin D2D1_LINE_JOIN lineJoin

The limit of the thickness of the join on a mitered corner. This value is always treated as though it is greater than or equal to 1.0f.

dd368164 float miterLimit float miterLimit

A value that specifies whether the stroke has a dash pattern and, if so, the dash style.

dd368164 D2D1_DASH_STYLE dashStyle D2D1_DASH_STYLE dashStyle

A value that specifies an offset in the dash sequence. A positive dash offset value shifts the dash pattern, in units of stroke width, toward the start of the stroked geometry. A negative dash offset value shifts the dash pattern, in units of stroke width, toward the end of the stroked geometry.

dd368164 float dashOffset float dashOffset

Describes the stroke that outlines a shape.

hh404328 D2D1_STROKE_STYLE_PROPERTIES1 D2D1_STROKE_STYLE_PROPERTIES1

The cap to use at the start of each open figure.

hh404328 D2D1_CAP_STYLE startCap D2D1_CAP_STYLE startCap

The cap to use at the end of each open figure.

hh404328 D2D1_CAP_STYLE endCap D2D1_CAP_STYLE endCap

The cap to use at the start and end of each dash.

hh404328 D2D1_CAP_STYLE dashCap D2D1_CAP_STYLE dashCap

The line join to use.

hh404328 D2D1_LINE_JOIN lineJoin D2D1_LINE_JOIN lineJoin

The limit beyond which miters are either clamped or converted to bevels.

hh404328 float miterLimit float miterLimit

The type of dash to use.

hh404328 D2D1_DASH_STYLE dashStyle D2D1_DASH_STYLE dashStyle

The location of the first dash, relative to the start of the figure.

hh404328 float dashOffset float dashOffset

The rule that determines what render target properties affect the nib of the stroke.

hh404328 D2D1_STROKE_TRANSFORM_TYPE transformType D2D1_STROKE_TRANSFORM_TYPE transformType

A 3D vector that consists of three single-precision floating-point values (x, y, z).

jj219219 D2D1_SVG_LENGTH D2D1_SVG_LENGTH

The x value of the vector.

jj219219 float value float value

The y value of the vector.

jj219219 D2D1_SVG_LENGTH_UNITS units D2D1_SVG_LENGTH_UNITS units

A description of a single element to the vertex layout.

This structure is a subset of that omits fields required to define a vertex layout.

If the D2D1_APPEND_ALIGNED_ELEMENT constant is used for alignedByteOffset, the elements will be packed contiguously for convenience.

hh404312 D2D1_SVG_PRESERVE_ASPECT_RATIO D2D1_SVG_PRESERVE_ASPECT_RATIO

The HLSL semantic associated with this element in a shader input-signature.

hh404312 BOOL defer BOOL defer

The semantic index for the element. A semantic index modifies a semantic, with an integer index number. A semantic index is only needed in a case where there is more than one element with the same semantic. For example, a 4x4 matrix would have four components each with the semantic name matrix; however, each of the four components would have different semantic indices (0, 1, 2, and 3).

hh404312 D2D1_SVG_ASPECT_ALIGN align D2D1_SVG_ASPECT_ALIGN align

The data type of the element data.

hh404312 D2D1_SVG_ASPECT_SCALING meetOrSlice D2D1_SVG_ASPECT_SCALING meetOrSlice

A 3D vector that consists of three single-precision floating-point values (x, y, z).

jj219219 D2D1_SVG_VIEWBOX D2D1_SVG_VIEWBOX

The x value of the vector.

jj219219 float x float x

The y value of the vector.

jj219219 float y float y

The z value of the vector.

jj219219 float width float width
No documentation. jj219219 float height float height

Properties of a transformed image source.

dn934350 D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES

The orientation at which the image source is drawn.

dn934350 D2D1_ORIENTATION orientation D2D1_ORIENTATION orientation

The horizontal scale factor at which the image source is drawn.

dn934350 float scaleX float scaleX

The vertical scale factor at which the image source is drawn.

dn934350 float scaleY float scaleY

The interpolation mode used when the image source is drawn. This is ignored if the image source is drawn using the DrawImage method, or using an image brush.

dn934350 D2D1_INTERPOLATION_MODE interpolationMode D2D1_INTERPOLATION_MODE interpolationMode

Image sourc option flags.

dn934350 D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS options D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS options

Contains the three vertices that describe a triangle.

dd368172 D2D1_TRIANGLE D2D1_TRIANGLE

The first vertex of a triangle.

dd368172 D2D_POINT_2F point1 D2D_POINT_2F point1

The second vertex of a triangle.

dd368172 D2D_POINT_2F point2 D2D_POINT_2F point2

The third vertex of a triangle.

dd368172 D2D_POINT_2F point3 D2D_POINT_2F point3

Defines the properties of a vertex buffer that are standard for all vertex shader definitions.

If usage is dynamic, the system might return a system memory buffer and copy these vertices into the rendering vertex buffer for each element.

If the initialization data is not specified, the buffer will be uninitialized.

hh404330 D2D1_VERTEX_BUFFER_PROPERTIES D2D1_VERTEX_BUFFER_PROPERTIES

The number of inputs to the vertex shader.

hh404330 unsigned int inputCount unsigned int inputCount

Indicates how frequently the vertex buffer is likely to be updated.

hh404330 D2D1_VERTEX_USAGE usage D2D1_VERTEX_USAGE usage

The initial contents of the vertex buffer.

hh404330 const unsigned char* data unsigned char data

The size of the vertex buffer, in bytes.

hh404330 unsigned int byteWidth unsigned int byteWidth
Initializes a new instance of class. Initializes a new instance of class. The number of inputs to the vertex shader. Indicates how frequently the vertex buffer is likely to be updated. The initial contents of the vertex buffer The initial contents of the vertex buffer.

Defines a range of vertices that are used when rendering less than the full contents of a vertex buffer.

hh404335 D2D1_VERTEX_RANGE D2D1_VERTEX_RANGE

The first vertex in the range to process.

hh404335 unsigned int startVertex unsigned int startVertex

The number of vertices to use.

hh404335 unsigned int vertexCount unsigned int vertexCount
Initializes an instance of struct. The first vertex in the range to process. The number of vertices in the count to use. Internal GeometrySink Callback Get a native callback pointer from a managed callback. The geometry sink. A pointer to the unmanaged geometry sink counterpart Internal class used to initialize this assembly. Initializes this assembly. This method is called when the assembly is loaded. The namespace provides a managed Direct2D API. dd370990 Direct2D1 Direct2D1 Metadata description for property binding. Initializes a new instance of attribute. Order of the property Minimum value of this property Maximum value of this property Default value of this property Initializes a new instance of attribute. Type of binding Order of the property Minimum value of this property Maximum value of this property Default value of this property Gets binding type. Gets the order of this property. Gets the DisplayName. Gets the Type of the property. Gets the Min value. Gets the Max value. Gets the Default value. Helper functions for . Converts a property type to a text. The property type A string representing this property type. Internal SimplifiedGeometrySink Callback Return a pointer to the unmanaged version of this callback. The callback. A pointer to a shadow c++ callback Internal SourceTransform Callback Return a pointer to the unmanaged version of this callback. The callback. A pointer to a shadow c++ callback HRESULT ID2D1SourceTransform::SetRenderInfo([In] ID2D1RenderInfo* renderInfo) HRESULT ID2D1SourceTransform::Draw([In] ID2D1Bitmap1* target,[In] const RECT* drawRect,[In] D2D_POINT_2U targetOrigin) Internal TessellationSink Callback Get a native callback pointer from a managed callback. The geometry sink. A pointer to the unmanaged geometry sink counterpart Internal TransformNode Callback Return a pointer to the unmanaged version of this callback. The callback. A pointer to a shadow c++ callback unsigned int ID2D1TransformNode::GetInputCount() HRESULT ID2D1EffectImpl::Initialize([In] ID2D1EffectContext* effectContext,[In] ID2D1TransformGraph* transformGraph) Internal Transform Callback Return a pointer to the unmanaged version of this callback. The callback. A pointer to a shadow c++ callback HRESULT ID2D1Transform::MapOutputRectToInputRects([In] const RECT* outputRect,[Out, Buffer] RECT* inputRects,[In] unsigned int inputRectsCount) HRESULT ID2D1Transform::MapInputRectsToOutputRect([In, Buffer] const RECT* inputRects,[In] unsigned int inputRectsCount,[Out] RECT* outputRect) HRESULT ID2D1Transform::MapInputRectsToOutputRect([In, Buffer] const RECT* inputRects,[In, Buffer] const RECT* inputOpaqueSubRects,[In] unsigned int inputRectCount,[Out] RECT* outputRect,[Out] RECT* outputOpaqueSubRect) HRESULT ID2D1Transform::MapInvalidRect([In] unsigned int inputIndex,[In] RECT invalidInputRect,[Out] RECT* invalidOutputRect) A WIC RenderTarget. Initializes a new instance of the class from a . The factory. The WIC bitmap. The render target properties.

Encapsulates a 32-bit device independent bitmap and device context, which can be used for rendering glyphs.

You create an by using the method, as shown in the following code.

if (SUCCEEDED(hr))	
            { hr = g_pGdiInterop->CreateBitmapRenderTarget(hdc, r.right, r.bottom, &g_pBitmapRenderTarget);	
            }	
            

takes a handle to a DC and the desired width and height. In the above example, the width and height given are the size of the window rect.

dd368165 IDWriteBitmapRenderTarget IDWriteBitmapRenderTarget

Draws a run of glyphs to a bitmap target at the specified position.

The horizontal position of the baseline origin, in DIPs, relative to the upper-left corner of the DIB.

The vertical position of the baseline origin, in DIPs, relative to the upper-left corner of the DIB.

The measuring method for glyphs in the run, used with the other properties to determine the rendering mode.

The structure containing the properties of the glyph run.

The object that controls rendering behavior.

The foreground color of the text.

The optional rectangle that receives the bounding box (in pixels not DIPs) of all the pixels affected by drawing the glyph run. The black box rectangle may extend beyond the dimensions of the bitmap.

If this method succeeds, it returns . Otherwise, it returns an error code.

You can use the to render to a bitmap from a custom text renderer that you implement. The custom text renderer should call this method from within the callback method as shown in the following code.

STDMETHODIMP GdiTextRenderer::DrawGlyphRun( __maybenull void* clientDrawingContext, FLOAT baselineOriginX, FLOAT baselineOriginY,  measuringMode, __in  const* glyphRun, __in  const* glyphRunDescription, * clientDrawingEffect )	
            {  hr = ; // Pass on the drawing call to the render target to do the real work.  dirtyRect = {0}; hr = pRenderTarget_->DrawGlyphRun( baselineOriginX, baselineOriginY, measuringMode, glyphRun, pRenderingParams_, RGB(0,200,255), &dirtyRect ); return hr;	
            }	
            

The baselineOriginX, baslineOriginY, measuringMethod, and glyphRun parameters are provided (as arguments) when the callback method is invoked. The renderingParams, textColor and blackBoxRect are not.

Default rendering params can be retrieved by using the method.

dd368167 HRESULT IDWriteBitmapRenderTarget::DrawGlyphRun([In] float baselineOriginX,[In] float baselineOriginY,[In] DWRITE_MEASURING_MODE measuringMode,[In] const DWRITE_GLYPH_RUN* glyphRun,[In] IDWriteRenderingParams* renderingParams,[In] int textColor,[Out, Optional] RECT* blackBoxRect) IDWriteBitmapRenderTarget::DrawGlyphRun

Draws a run of glyphs to a bitmap target at the specified position. You can use the IDWriteBitmapRenderTarget::DrawGlyphRun to render to a bitmap from a custom text renderer that you implement. The custom text renderer should call this method from within the callback method as shown in the following code. STDMETHODIMP GdiTextRenderer::DrawGlyphRun( __maybenull void* clientDrawingContext, FLOAT baselineOriginX, FLOAT baselineOriginY, DWRITE_MEASURING_MODE measuringMode, __in DWRITE_GLYPH_RUN const* glyphRun, __in DWRITE_GLYPH_RUN_DESCRIPTION const* glyphRunDescription, IUnknown* clientDrawingEffect ) { HRESULT hr = S_OK; // Pass on the drawing call to the render target to do the real work. RECT dirtyRect = {0}; hr = pRenderTarget_->DrawGlyphRun( baselineOriginX, baselineOriginY, measuringMode, glyphRun, pRenderingParams_, RGB(0,200,255), &dirtyRect ); return hr; } The baselineOriginX, baslineOriginY, measuringMethod, and glyphRun parameters are provided (as arguments) when the callback method is invoked. The renderingParams, textColor and blackBoxRect are not. Default rendering params can be retrieved by using the method. The horizontal position of the baseline origin, in DIPs, relative to the upper-left corner of the DIB. The vertical position of the baseline origin, in DIPs, relative to the upper-left corner of the DIB. The measuring method for glyphs in the run, used with the other properties to determine the rendering mode. The structure containing the properties of the glyph run. The object that controls rendering behavior. The foreground color of the text. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT IDWriteBitmapRenderTarget::DrawGlyphRun([None] float baselineOriginX,[None] float baselineOriginY,[None] DWRITE_MEASURING_MODE measuringMode,[In] const DWRITE_GLYPH_RUN* glyphRun,[None] IDWriteRenderingParams* renderingParams,[None] COLORREF textColor,[Out, Optional] RECT* blackBoxRect)
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets a handle to the memory device context.

An application can use the device context to draw using GDI functions. An application can obtain the bitmap handle () by calling GetCurrentObject. An application that wants information about the underlying bitmap, including a reference to the pixel data, can call GetObject to fill in a DIBSECTION structure. The bitmap is always a 32-bit top-down DIB.

Note that this method takes no parameters and returns an variable, not an .

memoryHdc = g_pBitmapRenderTarget->GetMemoryDC();	
            

The returned here is still owned by the bitmap render targer object and should not be released or deleted by the client.

dd368171 GetMemoryDC GetMemoryDC HDC IDWriteBitmapRenderTarget::GetMemoryDC()

Gets or sets the number of bitmap pixels per DIP.

A DIP (device-independent pixel) is 1/96 inch. Therefore, this value is the number if pixels per inch divided by 96.

dd368173 GetPixelsPerDip / SetPixelsPerDip GetPixelsPerDip float IDWriteBitmapRenderTarget::GetPixelsPerDip()

Gets or sets the transform that maps abstract coordinates to DIPs. By default this is the identity transform. Note that this is unrelated to the world transform of the underlying device context.

dd368169 GetCurrentTransform / SetCurrentTransform GetCurrentTransform HRESULT IDWriteBitmapRenderTarget::GetCurrentTransform([Out] DWRITE_MATRIX* transform)

Gets the dimensions of the target bitmap.

dd368176 GetSize GetSize HRESULT IDWriteBitmapRenderTarget::GetSize([Out] SIZE* size)

Draws a run of glyphs to a bitmap target at the specified position.

The horizontal position of the baseline origin, in DIPs, relative to the upper-left corner of the DIB.

The vertical position of the baseline origin, in DIPs, relative to the upper-left corner of the DIB.

The measuring method for glyphs in the run, used with the other properties to determine the rendering mode.

The structure containing the properties of the glyph run.

The object that controls rendering behavior.

The foreground color of the text.

The optional rectangle that receives the bounding box (in pixels not DIPs) of all the pixels affected by drawing the glyph run. The black box rectangle may extend beyond the dimensions of the bitmap.

If this method succeeds, it returns . Otherwise, it returns an error code.

You can use the to render to a bitmap from a custom text renderer that you implement. The custom text renderer should call this method from within the callback method as shown in the following code.

STDMETHODIMP GdiTextRenderer::DrawGlyphRun( __maybenull void* clientDrawingContext, FLOAT baselineOriginX, FLOAT baselineOriginY,  measuringMode, __in  const* glyphRun, __in  const* glyphRunDescription, * clientDrawingEffect )	
            {  hr = ; // Pass on the drawing call to the render target to do the real work.  dirtyRect = {0}; hr = pRenderTarget_->DrawGlyphRun( baselineOriginX, baselineOriginY, measuringMode, glyphRun, pRenderingParams_, RGB(0,200,255), &dirtyRect ); return hr;	
            }	
            

The baselineOriginX, baslineOriginY, measuringMethod, and glyphRun parameters are provided (as arguments) when the callback method is invoked. The renderingParams, textColor and blackBoxRect are not.

Default rendering params can be retrieved by using the method.

dd368167 HRESULT IDWriteBitmapRenderTarget::DrawGlyphRun([In] float baselineOriginX,[In] float baselineOriginY,[In] DWRITE_MEASURING_MODE measuringMode,[In] const DWRITE_GLYPH_RUN* glyphRun,[In] IDWriteRenderingParams* renderingParams,[In] int textColor,[Out, Optional] RECT* blackBoxRect) IDWriteBitmapRenderTarget::DrawGlyphRun

Gets a handle to the memory device context.

Returns a device context handle to the memory device context.

An application can use the device context to draw using GDI functions. An application can obtain the bitmap handle () by calling GetCurrentObject. An application that wants information about the underlying bitmap, including a reference to the pixel data, can call GetObject to fill in a DIBSECTION structure. The bitmap is always a 32-bit top-down DIB.

Note that this method takes no parameters and returns an variable, not an .

memoryHdc = g_pBitmapRenderTarget->GetMemoryDC();	
            

The returned here is still owned by the bitmap render targer object and should not be released or deleted by the client.

dd368171 HDC IDWriteBitmapRenderTarget::GetMemoryDC() IDWriteBitmapRenderTarget::GetMemoryDC

Gets the number of bitmap pixels per DIP.

The number of bitmap pixels per DIP.

A DIP (device-independent pixel) is 1/96 inch. Therefore, this value is the number if pixels per inch divided by 96.

dd368173 float IDWriteBitmapRenderTarget::GetPixelsPerDip() IDWriteBitmapRenderTarget::GetPixelsPerDip

Sets the number of bitmap pixels per DIP (device-independent pixel). A DIP is 1/96 inch, so this value is the number if pixels per inch divided by 96.

A value that specifies the number of pixels per DIP.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd368182 HRESULT IDWriteBitmapRenderTarget::SetPixelsPerDip([In] float pixelsPerDip) IDWriteBitmapRenderTarget::SetPixelsPerDip

Gets the transform that maps abstract coordinates to DIPs. By default this is the identity transform. Note that this is unrelated to the world transform of the underlying device context.

When this method returns, contains a transform matrix.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd368169 HRESULT IDWriteBitmapRenderTarget::GetCurrentTransform([Out] DWRITE_MATRIX* transform) IDWriteBitmapRenderTarget::GetCurrentTransform

Sets the transform that maps abstract coordinate to DIPs (device-independent pixel). This does not affect the world transform of the underlying device context.

Specifies the new transform. This parameter can be null, in which case the identity transform is implied.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd368179 HRESULT IDWriteBitmapRenderTarget::SetCurrentTransform([In, Optional] const DWRITE_MATRIX* transform) IDWriteBitmapRenderTarget::SetCurrentTransform

Gets the dimensions of the target bitmap.

Returns the width and height of the bitmap in pixels.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd368176 HRESULT IDWriteBitmapRenderTarget::GetSize([Out] SIZE* size) IDWriteBitmapRenderTarget::GetSize

Resizes the bitmap.

The new bitmap width, in pixels.

The new bitmap height, in pixels.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd368177 HRESULT IDWriteBitmapRenderTarget::Resize([In] unsigned int width,[In] unsigned int height) IDWriteBitmapRenderTarget::Resize
An inline object for trimming, using an ellipsis as the omission sign. Initializes a new instance of the class. The native PTR. Creates an inline object for trimming, using an ellipsis as the omission sign. The ellipsis will be created using the current settings of the format, including base font, style, and any effects. Alternate omission signs can be created by the application by implementing . a A text format object, created with {{CreateTextFormat}}, used for text layout. HRESULT IDWriteFactory::CreateEllipsisTrimmingSign([None] IDWriteTextFormat* textFormat,[Out] IDWriteInlineObject** trimmingSign)

Used to create all subsequent DirectWrite objects. This interface is the root factory interface for all DirectWrite objects.

Create an object by using the function.

 if (SUCCEEDED(hr))	
            { hr = ( , __uuidof(), reinterpret_cast<**>(&pDWriteFactory_) );	
            } 

An object holds state information, such as font loader registration and cached font data. This state can be shared or isolated. Shared is recommended for most applications because it saves memory. However, isolated can be useful in situations where you want to have a separate state for some objects.

dd368183 IDWriteFactory IDWriteFactory
Default Constructor for a . Default Constructor for a . Registers a custom font collection loader with the factory object. This function registers a font collection loader with DirectWrite. The font collection loader interface, which should be implemented by a singleton object, handles enumerating font files in a font collection given a particular type of key. A given instance can only be registered once. Succeeding attempts will return an error, indicating that it has already been registered. Note that font file loader implementations must not register themselves with DirectWrite inside their constructors, and must not unregister themselves inside their destructors, because registration and unregistration operations increment and decrement the object reference count respectively. Instead, registration and unregistration with DirectWrite of font file loaders should be performed outside of the font file loader implementation. Reference to a object to be registered. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT IDWriteFactory::RegisterFontCollectionLoader([None] IDWriteFontCollectionLoader* fontCollectionLoader) Unregisters a custom font collection loader that was previously registered using {{RegisterFontCollectionLoader}}. Pointer to a object to be unregistered. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT IDWriteFactory::UnregisterFontCollectionLoader([None] IDWriteFontCollectionLoader* fontCollectionLoader) Registers a font file loader with DirectWrite. This function registers a font file loader with DirectWrite. The font file loader interface, which should be implemented by a singleton object, handles loading font file resources of a particular type from a key. A given instance can only be registered once. Succeeding attempts will return an error, indicating that it has already been registered. Note that font file loader implementations must not register themselves with DirectWrite inside their constructors, and must not unregister themselves inside their destructors, because registration and unregistration operations increment and decrement the object reference count respectively. Instead, registration and unregistration with DirectWrite of font file loaders should be performed outside of the font file loader implementation. Pointer to a object for a particular file resource type. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT IDWriteFactory::RegisterFontFileLoader([None] IDWriteFontFileLoader* fontFileLoader) Unregisters a font file loader that was previously registered with the DirectWrite font system using {{RegisterFontFileLoader}}. This function unregisters font file loader callbacks with the DirectWrite font system. You should implement the font file loader interface by a singleton object. Note that font file loader implementations must not register themselves with DirectWrite inside their constructors and must not unregister themselves in their destructors, because registration and unregistration operations increment and decrement the object reference count respectively. Instead, registration and unregistration of font file loaders with DirectWrite should be performed outside of the font file loader implementation. Pointer to the file loader that was previously registered with the DirectWrite font system using {{RegisterFontFileLoader}}. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT IDWriteFactory::UnregisterFontFileLoader([None] IDWriteFontFileLoader* fontFileLoader) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Creates an object that is used for interoperability with GDI.

dd368207 GetGdiInterop GetGdiInterop HRESULT IDWriteFactory::GetGdiInterop([Out] IDWriteGdiInterop** gdiInterop)

Gets an object which represents the set of installed fonts.

If this parameter is nonzero, the function performs an immediate check for changes to the set of installed fonts. If this parameter is , the function will still detect changes if the font cache service is running, but there may be some latency. For example, an application might specify TRUE if it has itself just installed a font and wants to be sure the font collection contains that font.

When this method returns, contains the address of a reference to the system font collection object, or null in case of failure.

dd368208 HRESULT IDWriteFactory::GetSystemFontCollection([Out] IDWriteFontCollection** fontCollection,[In] BOOL checkForUpdates) IDWriteFactory::GetSystemFontCollection

Creates a font collection using a custom font collection loader.

An application-defined font collection loader, which must have been previously registered using RegisterFontCollectionLoader.

The key used by the loader to identify a collection of font files. The buffer allocated for this key should at least be the size of collectionKeySize.

The size, in bytes, of the collection key.

Contains an address of a reference to the system font collection object if the method succeeds, or null in case of failure.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd368186 HRESULT IDWriteFactory::CreateCustomFontCollection([In] IDWriteFontCollectionLoader* collectionLoader,[In, Buffer] const void* collectionKey,[In] unsigned int collectionKeySize,[Out, Fast] IDWriteFontCollection** fontCollection) IDWriteFactory::CreateCustomFontCollection

Registers a custom font collection loader with the factory object.

Pointer to a object to be registered.

If this method succeeds, it returns . Otherwise, it returns an error code.

This function registers a font collection loader with DirectWrite. The font collection loader interface, which should be implemented by a singleton object, handles enumerating font files in a font collection given a particular type of key. A given instance can only be registered once. Succeeding attempts will return an error, indicating that it has already been registered. Note that font file loader implementations must not register themselves with DirectWrite inside their constructors, and must not unregister themselves inside their destructors, because registration and unregistraton operations increment and decrement the object reference count respectively. Instead, registration and unregistration with DirectWrite of font file loaders should be performed outside of the font file loader implementation.

dd368209 HRESULT IDWriteFactory::RegisterFontCollectionLoader([In] IDWriteFontCollectionLoader* fontCollectionLoader) IDWriteFactory::RegisterFontCollectionLoader

Unregisters a custom font collection loader that was previously registered using RegisterFontCollectionLoader.

No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd368211 HRESULT IDWriteFactory::UnregisterFontCollectionLoader([In] IDWriteFontCollectionLoader* fontCollectionLoader) IDWriteFactory::UnregisterFontCollectionLoader

Creates a font file reference object from a local font file.

An array of characters that contains the absolute file path for the font file. Subsequent operations on the constructed object may fail if the user provided filePath doesn't correspond to a valid file on the disk.

The last modified time of the input file path. If the parameter is omitted, the function will access the font file to obtain its last write time. You should specify this value to avoid extra disk access. Subsequent operations on the constructed object may fail if the user provided lastWriteTime doesn't match the file on the disk.

When this method returns, contains an address of a reference to the newly created font file reference object, or null in case of failure.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd368197 HRESULT IDWriteFactory::CreateFontFileReference([In] const wchar_t* filePath,[In, Optional] const FILETIME* lastWriteTime,[Out, Fast] IDWriteFontFile** fontFile) IDWriteFactory::CreateFontFileReference

Creates a reference to an application-specific font file resource.

A font file reference key that uniquely identifies the font file resource during the lifetime of fontFileLoader.

The size of the font file reference key in bytes.

The font file loader that will be used by the font system to load data from the file identified by fontFileReferenceKey.

Contains an address of a reference to the newly created font file object when this method succeeds, or null in case of failure.

If this method succeeds, it returns . Otherwise, it returns an error code.

This function is provided for cases when an application or a document needs to use a private font without having to install it on the system. fontFileReferenceKey has to be unique only in the scope of the fontFileLoader used in this call.

dd368188 HRESULT IDWriteFactory::CreateCustomFontFileReference([In, Buffer] const void* fontFileReferenceKey,[In] unsigned int fontFileReferenceKeySize,[In] IDWriteFontFileLoader* fontFileLoader,[Out, Fast] IDWriteFontFile** fontFile) IDWriteFactory::CreateCustomFontFileReference

Creates an object that represents a font face.

A value that indicates the type of file format of the font face.

The number of font files, in element count, required to represent the font face.

A font file object representing the font face. Because maintains its own references to the input font file objects, you may release them after this call.

The zero-based index of a font face, in cases when the font files contain a collection of font faces. If the font files contain a single face, this value should be zero.

A value that indicates which, if any, font face simulation flags for algorithmic means of making text bold or italic are applied to the current font face.

When this method returns, contains an address of a reference to the newly created font face object, or null in case of failure.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd368196 HRESULT IDWriteFactory::CreateFontFace([In] DWRITE_FONT_FACE_TYPE fontFaceType,[In] unsigned int numberOfFiles,[In, Buffer] const IDWriteFontFile** fontFiles,[In] unsigned int faceIndex,[In] DWRITE_FONT_SIMULATIONS fontFaceSimulationFlags,[Out, Fast] IDWriteFontFace** fontFace) IDWriteFactory::CreateFontFace

Creates an object that represents a font face.

A value that indicates the type of file format of the font face.

The number of font files, in element count, required to represent the font face.

A font file object representing the font face. Because maintains its own references to the input font file objects, you may release them after this call.

The zero-based index of a font face, in cases when the font files contain a collection of font faces. If the font files contain a single face, this value should be zero.

A value that indicates which, if any, font face simulation flags for algorithmic means of making text bold or italic are applied to the current font face.

When this method returns, contains an address of a reference to the newly created font face object, or null in case of failure.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd368196 HRESULT IDWriteFactory::CreateFontFace([In] DWRITE_FONT_FACE_TYPE fontFaceType,[In] unsigned int numberOfFiles,[In, Buffer] const IDWriteFontFile** fontFiles,[In] unsigned int faceIndex,[In] DWRITE_FONT_SIMULATIONS fontFaceSimulationFlags,[Out, Fast] IDWriteFontFace** fontFace) IDWriteFactory::CreateFontFace

Creates an object that represents a font face.

A value that indicates the type of file format of the font face.

The number of font files, in element count, required to represent the font face.

A font file object representing the font face. Because maintains its own references to the input font file objects, you may release them after this call.

The zero-based index of a font face, in cases when the font files contain a collection of font faces. If the font files contain a single face, this value should be zero.

A value that indicates which, if any, font face simulation flags for algorithmic means of making text bold or italic are applied to the current font face.

When this method returns, contains an address of a reference to the newly created font face object, or null in case of failure.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd368196 HRESULT IDWriteFactory::CreateFontFace([In] DWRITE_FONT_FACE_TYPE fontFaceType,[In] unsigned int numberOfFiles,[In, Buffer] const IDWriteFontFile** fontFiles,[In] unsigned int faceIndex,[In] DWRITE_FONT_SIMULATIONS fontFaceSimulationFlags,[Out, Fast] IDWriteFontFace** fontFace) IDWriteFactory::CreateFontFace

Creates a rendering parameters object with default settings for the primary monitor. Different monitors may have different rendering parameters, for more information see the How to Add Support for Multiple Monitors topic.

No documentation.

Standard error code.

dd368201 HRESULT IDWriteFactory::CreateRenderingParams([Out, Fast] IDWriteRenderingParams** renderingParams) IDWriteFactory::CreateRenderingParams

Creates a rendering parameters object with default settings for the specified monitor. In most cases, this is the preferred way to create a rendering parameters object.

A handle for the specified monitor.

When this method returns, contains an address of a reference to the rendering parameters object created by this method.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd368199 HRESULT IDWriteFactory::CreateMonitorRenderingParams([In] HMONITOR monitor,[Out, Fast] IDWriteRenderingParams** renderingParams) IDWriteFactory::CreateMonitorRenderingParams

Creates a rendering parameters object with the specified properties.

The gamma level to be set for the new rendering parameters object.

The enhanced contrast level to be set for the new rendering parameters object.

The ClearType level to be set for the new rendering parameters object.

Represents the internal structure of a device pixel (that is, the physical arrangement of red, green, and blue color components) that is assumed for purposes of rendering text.

A value that represents the method (for example, ClearType natural quality) for rendering glyphs.

When this method returns, contains an address of a reference to the newly created rendering parameters object.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd368190 HRESULT IDWriteFactory::CreateCustomRenderingParams([In] float gamma,[In] float enhancedContrast,[In] float clearTypeLevel,[In] DWRITE_PIXEL_GEOMETRY pixelGeometry,[In] DWRITE_RENDERING_MODE renderingMode,[Out, Fast] IDWriteRenderingParams** renderingParams) IDWriteFactory::CreateCustomRenderingParams

Registers a font file loader with DirectWrite.

Pointer to a object for a particular file resource type.

If this method succeeds, it returns . Otherwise, it returns an error code.

This function registers a font file loader with DirectWrite. The font file loader interface, which should be implemented by a singleton object, handles loading font file resources of a particular type from a key. A given instance can only be registered once. Succeeding attempts will return an error, indicating that it has already been registered. Note that font file loader implementations must not register themselves with DirectWrite inside their constructors, and must not unregister themselves inside their destructors, because registration and unregistraton operations increment and decrement the object reference count respectively. Instead, registration and unregistration with DirectWrite of font file loaders should be performed outside of the font file loader implementation.

dd368210 HRESULT IDWriteFactory::RegisterFontFileLoader([In] IDWriteFontFileLoader* fontFileLoader) IDWriteFactory::RegisterFontFileLoader

Unregisters a font file loader that was previously registered with the DirectWrite font system using RegisterFontFileLoader.

No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

This function unregisters font file loader callbacks with the DirectWrite font system. You should implement the font file loader interface by a singleton object. Note that font file loader implementations must not register themselves with DirectWrite inside their constructors and must not unregister themselves in their destructors, because registration and unregistraton operations increment and decrement the object reference count respectively. Instead, registration and unregistration of font file loaders with DirectWrite should be performed outside of the font file loader implementation.

dd368212 HRESULT IDWriteFactory::UnregisterFontFileLoader([In] IDWriteFontFileLoader* fontFileLoader) IDWriteFactory::UnregisterFontFileLoader

Creates a text format object used for text layout.

An array of characters that contains the name of the font family

A reference to a font collection object. When this is null, indicates the system font collection.

A value that indicates the font weight for the text object created by this method.

A value that indicates the font style for the text object created by this method.

A value that indicates the font stretch for the text object created by this method.

The logical size of the font in DIP ("device-independent pixel") units. A DIP equals 1/96 inch.

An array of characters that contains the locale name.

When this method returns, contains an address of a reference to a newly created text format object, or null in case of failure.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd368203 HRESULT IDWriteFactory::CreateTextFormat([In] const wchar_t* fontFamilyName,[In, Optional] IDWriteFontCollection* fontCollection,[In] DWRITE_FONT_WEIGHT fontWeight,[In] DWRITE_FONT_STYLE fontStyle,[In] DWRITE_FONT_STRETCH fontStretch,[In] float fontSize,[In] const wchar_t* localeName,[Out, Fast] IDWriteTextFormat** textFormat) IDWriteFactory::CreateTextFormat

Creates a typography object for use in a text layout.

When this method returns, contains the address of a reference to a newly created typography object, or null in case of failure.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd368206 HRESULT IDWriteFactory::CreateTypography([Out, Fast] IDWriteTypography** typography) IDWriteFactory::CreateTypography

Creates an object that is used for interoperability with GDI.

When this method returns, contains an address of a reference to a GDI interop object if successful, or null in case of failure.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd368207 HRESULT IDWriteFactory::GetGdiInterop([Out] IDWriteGdiInterop** gdiInterop) IDWriteFactory::GetGdiInterop

Takes a string, text format, and associated constraints, and produces an object that represents the fully analyzed and formatted result.

An array of characters that contains the string to create a new object from. This array must be of length stringLength and can contain embedded null characters.

The number of characters in the string.

A reference to an object that indicates the format to apply to the string.

The width of the layout box.

The height of the layout box.

When this method returns, contains an address of a reference to the resultant text layout object.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd368205 HRESULT IDWriteFactory::CreateTextLayout([In, Buffer] const wchar_t* string,[In] unsigned int stringLength,[In] IDWriteTextFormat* textFormat,[In] float maxWidth,[In] float maxHeight,[Out, Fast] IDWriteTextLayout** textLayout) IDWriteFactory::CreateTextLayout

Takes a string, format, and associated constraints, and produces an object representing the result, formatted for a particular display resolution and measuring mode.

An array of characters that contains the string to create a new object from. This array must be of length stringLength and can contain embedded null characters.

The length of the string, in character count.

The text formatting object to apply to the string.

The width of the layout box.

The height of the layout box.

The number of physical pixels per DIP (device independent pixel). For example, if rendering onto a 96 DPI device pixelsPerDip is 1. If rendering onto a 120 DPI device pixelsPerDip is 1.25 (120/96).

An optional transform applied to the glyphs and their positions. This transform is applied after the scaling specifies the font size and pixels per DIP.

Instructs the text layout to use the same metrics as GDI bi-level text when set to . When set to TRUE, instructs the text layout to use the same metrics as text measured by GDI using a font created with CLEARTYPE_NATURAL_QUALITY.

When this method returns, contains an address to the reference of the resultant text layout object.

If this method succeeds, it returns . Otherwise, it returns an error code.

The resulting text layout should only be used for the intended resolution, and for cases where text scalability is desired CreateTextLayout should be used instead.

dd368192 HRESULT IDWriteFactory::CreateGdiCompatibleTextLayout([In, Buffer] const wchar_t* string,[In] unsigned int stringLength,[In] IDWriteTextFormat* textFormat,[In] float layoutWidth,[In] float layoutHeight,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[In] BOOL useGdiNatural,[Out, Fast] IDWriteTextLayout** textLayout) IDWriteFactory::CreateGdiCompatibleTextLayout

Creates an inline object for trimming, using an ellipsis as the omission sign.

A text format object, created with CreateTextFormat, used for text layout.

When this method returns, contains an address of a reference to the omission (that is, ellipsis trimming) sign created by this method.

If this method succeeds, it returns . Otherwise, it returns an error code.

The ellipsis will be created using the current settings of the format, including base font, style, and any effects. Alternate omission signs can be created by the application by implementing .

dd368194 HRESULT IDWriteFactory::CreateEllipsisTrimmingSign([In] IDWriteTextFormat* textFormat,[Out, Fast] IDWriteInlineObject** trimmingSign) IDWriteFactory::CreateEllipsisTrimmingSign

Returns an interface for performing text analysis.

When this method returns, contains an address of a reference to the newly created text analyzer object.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd368202 HRESULT IDWriteFactory::CreateTextAnalyzer([Out, Fast] IDWriteTextAnalyzer** textAnalyzer) IDWriteFactory::CreateTextAnalyzer

Creates a number substitution object using a locale name, substitution method, and an indicator whether to ignore user overrides (use NLS defaults for the given culture instead).

A value that specifies how to apply number substitution on digits and related punctuation.

The name of the locale to be used in the numberSubstitution object.

A Boolean flag that indicates whether to ignore user overrides.

When this method returns, contains an address to a reference to the number substitution object created by this method.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd368200 HRESULT IDWriteFactory::CreateNumberSubstitution([In] DWRITE_NUMBER_SUBSTITUTION_METHOD substitutionMethod,[In] const wchar_t* localeName,[In] BOOL ignoreUserOverride,[Out, Fast] IDWriteNumberSubstitution** numberSubstitution) IDWriteFactory::CreateNumberSubstitution

Creates a glyph run analysis object, which encapsulates information used to render a glyph run.

A structure that contains the properties of the glyph run (font face, advances, and so on).

Number of physical pixels per DIP (device independent pixel). For example, if rendering onto a 96 DPI bitmap then pixelsPerDip is 1. If rendering onto a 120 DPI bitmap then pixelsPerDip is 1.25.

Optional transform applied to the glyphs and their positions. This transform is applied after the scaling specified the emSize and pixelsPerDip.

A value that specifies the rendering mode, which must be one of the raster rendering modes (that is, not default and not outline).

Specifies the measuring mode to use with glyphs.

The horizontal position (X-coordinate) of the baseline origin, in DIPs.

Vertical position (Y-coordinate) of the baseline origin, in DIPs.

When this method returns, contains an address of a reference to the newly created glyph run analysis object.

If this method succeeds, it returns . Otherwise, it returns an error code.

The glyph run analysis object contains the results of analyzing the glyph run, including the positions of all the glyphs and references to all of the rasterized glyphs in the font cache.

dd368198 HRESULT IDWriteFactory::CreateGlyphRunAnalysis([In] const DWRITE_GLYPH_RUN* glyphRun,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[In] DWRITE_RENDERING_MODE renderingMode,[In] DWRITE_MEASURING_MODE measuringMode,[In] float baselineOriginX,[In] float baselineOriginY,[Out, Fast] IDWriteGlyphRunAnalysis** glyphRunAnalysis) IDWriteFactory::CreateGlyphRunAnalysis

Creates a rendering parameters object with the specified properties.

Hh780402 IDWriteFactory1 IDWriteFactory1

The root factory interface for all DirectWrite objects.

hh780401 IDWriteFactory1 IDWriteFactory1
Creates a new instance of the class with the type. Creates a new instance of the class. The factory type. Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets a font collection representing the set of EUDC (end-user defined characters) fonts.

The font collection to fill.

Whether to check for updates.

If this method succeeds, it returns . Otherwise, it returns an error code.

Note that if no EUDC is set on the system, the returned collection will be empty, meaning it will return success but GetFontFamilyCount will be zero.

hh780403 HRESULT IDWriteFactory1::GetEudcFontCollection([Out] IDWriteFontCollection** fontCollection,[In] BOOL checkForUpdates) IDWriteFactory1::GetEudcFontCollection

Creates a rendering parameters object with the specified properties.

The gamma level to be set for the new rendering parameters object.

The enhanced contrast level to be set for the new rendering parameters object.

The amount of contrast enhancement to use for grayscale antialiasing, zero or greater.

The ClearType level to be set for the new rendering parameters object.

Represents the internal structure of a device pixel (that is, the physical arrangement of red, green, and blue color components) that is assumed for purposes of rendering text.

A value that represents the method (for example, ClearType natural quality) for rendering glyphs.

When this method returns, contains an address of a reference to the newly created rendering parameters object.

Standard error code.

hh780402 HRESULT IDWriteFactory1::CreateCustomRenderingParams([In] float gamma,[In] float enhancedContrast,[In] float enhancedContrastGrayscale,[In] float clearTypeLevel,[In] DWRITE_PIXEL_GEOMETRY pixelGeometry,[In] DWRITE_RENDERING_MODE renderingMode,[Out] IDWriteRenderingParams1** renderingParams) IDWriteFactory1::CreateCustomRenderingParams

An object that encapsulates a set of fonts, such as the set of fonts installed on the system, or the set of fonts in a particular directory. The font collection API can be used to discover what font families and fonts are available, and to obtain some metadata about the fonts.

The method will give you an object, which encapsulates the set of fonts installed on the system, as shown in the following code example.

* pFontCollection = null; // Get the system font collection.	
            if (SUCCEEDED(hr))	
            { hr = pDWriteFactory->GetSystemFontCollection(&pFontCollection);	
            }	
            

and both have a GetFontCollection method that returns the font collection being used by the object. These interfaces use the system font collection by default, but can use a custom font collection instead.

To determine what fonts are available on the system, get a reference to the system font collection. You can then use the method to determine the number of fonts and loop through the list. The following example enumerates the fonts in the system font collection, and prints the font family names to the console.

 #include <dwrite.h>	
            #include <string.h>	
            #include <stdio.h>	
            #include <new> // SafeRelease inline function.	
            template <class T> inline void SafeRelease(T **ppT)	
            { if (*ppT) { (*ppT)->Release(); *ppT = null; }	
            } void wmain()	
            { * pDWriteFactory = null;  hr = ( , __uuidof(), reinterpret_cast<**>(&pDWriteFactory) ); * pFontCollection = null; // Get the system font collection. if (SUCCEEDED(hr)) { hr = pDWriteFactory->GetSystemFontCollection(&pFontCollection); } UINT32 familyCount = 0; // Get the number of font families in the collection. if (SUCCEEDED(hr)) { familyCount = pFontCollection->GetFontFamilyCount(); } for (UINT32 i = 0; i < familyCount; ++i) { * pFontFamily = null; // Get the font family. if (SUCCEEDED(hr)) { hr = pFontCollection->GetFontFamily(i, &pFontFamily); } * pFamilyNames = null; // Get a list of localized strings for the family name. if (SUCCEEDED(hr)) { hr = pFontFamily->GetFamilyNames(&pFamilyNames); } UINT32 index = 0;  exists = false; wchar_t localeName[LOCALE_NAME_MAX_LENGTH]; if (SUCCEEDED(hr)) { // Get the default locale for this user. int defaultLocaleSuccess = GetUserDefaultLocaleName(localeName, LOCALE_NAME_MAX_LENGTH); // If the default locale is returned, find that locale name, otherwise use "en-us". if (defaultLocaleSuccess) { hr = pFamilyNames->FindLocaleName(localeName, &index, &exists); } if (SUCCEEDED(hr) && !exists) // if the above find did not find a match, retry with US English { hr = pFamilyNames->FindLocaleName(L"en-us", &index, &exists); } } // If the specified locale doesn't exist, select the first on the list. if (!exists) index = 0; UINT32 length = 0; // Get the string length. if (SUCCEEDED(hr)) { hr = pFamilyNames->GetStringLength(index, &length); } // Allocate a string big enough to hold the name. wchar_t* name = new (std::nothrow) wchar_t[length+1]; if (name == null) { hr = E_OUTOFMEMORY; } // Get the family name. if (SUCCEEDED(hr)) { hr = pFamilyNames->GetString(index, name, length+1); } if (SUCCEEDED(hr)) { // Print out the family name. wprintf(L"%s\n", name); } SafeRelease(&pFontFamily); SafeRelease(&pFamilyNames); delete [] name; } SafeRelease(&pFontCollection); SafeRelease(&pDWriteFactory);	
            } 
dd368214 IDWriteFontCollection IDWriteFontCollection
Creates a font collection using a custom font collection loader. A reference to a DirectWrite factory An application-defined font collection loader, which must have been previously registered using . The key used by the loader to identify a collection of font files. The buffer allocated for this key should at least be the size of collectionKeySize. HRESULT IDWriteFactory::CreateCustomFontCollection([None] IDWriteFontCollectionLoader* collectionLoader,[In, Buffer] const void* collectionKey,[None] int collectionKeySize,[Out] IDWriteFontCollection** fontCollection) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the number of font families in the collection.

dd370974 GetFontFamilyCount GetFontFamilyCount unsigned int IDWriteFontCollection::GetFontFamilyCount()

Gets the number of font families in the collection.

The number of font families in the collection.

dd370974 unsigned int IDWriteFontCollection::GetFontFamilyCount() IDWriteFontCollection::GetFontFamilyCount

Creates a font family object given a zero-based font family index.

Zero-based index of the font family.

When this method returns, contains the address of a reference to the newly created font family object.

dd370970 HRESULT IDWriteFontCollection::GetFontFamily([In] unsigned int index,[Out] IDWriteFontFamily** fontFamily) IDWriteFontCollection::GetFontFamily

Finds the font family with the specified family name.

An array of characters, which is null-terminated, containing the name of the font family. The name is not case-sensitive but must otherwise exactly match a family name in the collection.

When this method returns, contains the zero-based index of the matching font family if the family name was found; otherwise, UINT_MAX.

When this method returns, TRUE if the family name exists; otherwise, .

dd368217 HRESULT IDWriteFontCollection::FindFamilyName([In] const wchar_t* familyName,[Out] unsigned int* index,[Out] BOOL* exists) IDWriteFontCollection::FindFamilyName

Gets the font object that corresponds to the same physical font as the specified font face object. The specified physical font must belong to the font collection.

A font face object that specifies the physical font.

When this method returns, contains the address of a reference to the newly created font object if successful; otherwise, null.

dd370978 HRESULT IDWriteFontCollection::GetFontFromFontFace([In] IDWriteFontFace* fontFace,[Out] IDWriteFont** font) IDWriteFontCollection::GetFontFromFontFace

Used to construct a collection of fonts given a particular type of key.

The font collection loader interface is recommended to be implemented by a singleton object. Note that font collection loader implementations must not register themselves with DirectWrite factory inside their constructors and must not unregister themselves in their destructors, because registration and unregistraton operations increment and decrement the object reference count respectively. Instead, registration and unregistration of font file loaders with DirectWrite factory should be performed outside of the font file loader implementation as a separate step.

dd368215 IDWriteFontCollectionLoader IDWriteFontCollectionLoader
Creates a font file enumerator object that encapsulates a collection of font files. The font system calls back to this interface to create a font collection. Pointer to the object that was used to create the current font collection. A font collection key that uniquely identifies the collection of font files within the scope of the font collection loader being used. The buffer allocated for this key must be at least the size, in bytes, specified by collectionKeySize. a reference to the newly created font file enumerator. HRESULT IDWriteFontCollectionLoader::CreateEnumeratorFromKey([None] IDWriteFactory* factory,[In, Buffer] const void* collectionKey,[None] int collectionKeySize,[Out] IDWriteFontFileEnumerator** fontFileEnumerator) Internal FontCollectionLoader Callback HRESULT IDWriteFontCollectionLoader::CreateEnumeratorFromKey([None] IDWriteFactory* factory,[In, Buffer] const void* collectionKey,[None] int collectionKeySize,[Out] IDWriteFontFileEnumerator** fontFileEnumerator)

Represents an absolute reference to a font face which contains font face type, appropriate file references, face identification data and various font data such as metrics, names and glyph outlines.

dd370983 IDWriteFontFace IDWriteFontFace
Creates an object that represents a font face. A reference to a DirectWrite factory A value that indicates the type of file format of the font face. A font file object representing the font face. Because maintains its own references to the input font file objects, you may release them after this call. The zero-based index of a font face, in cases when the font files contain a collection of font faces. If the font files contain a single face, this value should be zero. A value that indicates which, if any, font face simulation flags for algorithmic means of making text bold or italic are applied to the current font face. HRESULT IDWriteFactory::CreateFontFace([None] DWRITE_FONT_FACE_TYPE fontFaceType,[None] int numberOfFiles,[In, Buffer] const IDWriteFontFile** fontFiles,[None] int faceIndex,[None] DWRITE_FONT_SIMULATIONS fontFaceSimulationFlags,[Out] IDWriteFontFace** fontFace) Creates a font face object for the font. the to create the FontFace from. HRESULT IDWriteFont::CreateFontFace([Out] IDWriteFontFace** fontFace) Obtains ideal (resolution-independent) glyph metrics in font design units. Design glyph metrics are used for glyph positioning. An array of glyph indices for which to compute metrics. The array must contain at least as many elements as specified by glyphCount. Indicates whether the font is being used in a sideways run. This can affect the glyph metrics if the font has oblique simulation because sideways oblique simulation differs from non-sideways oblique simulation an array of structures. HRESULT IDWriteFontFace::GetDesignGlyphMetrics([In, Buffer] const short* glyphIndices,[None] int glyphCount,[Out, Buffer] DWRITE_GLYPH_METRICS* glyphMetrics,[None] BOOL isSideways) Obtains glyph metrics in font design units with the return values compatible with what GDI would produce. The logical size of the font in DIP units. The number of physical pixels per DIP. An optional transform applied to the glyphs and their positions. This transform is applied after the scaling specified by the font size and pixelsPerDip. When set to FALSE, the metrics are the same as the metrics of GDI aliased text. When set to TRUE, the metrics are the same as the metrics of text measured by GDI using a font created with CLEARTYPE_NATURAL_QUALITY. An array of glyph indices for which to compute the metrics. A BOOL value that indicates whether the font is being used in a sideways run. This can affect the glyph metrics if the font has oblique simulation because sideways oblique simulation differs from non-sideways oblique simulation. An array of structures filled by this function. The metrics are in font design units. HRESULT IDWriteFontFace::GetGdiCompatibleGlyphMetrics([None] float emSize,[None] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[None] BOOL useGdiNatural,[In, Buffer] const short* glyphIndices,[None] int glyphCount,[Out, Buffer] DWRITE_GLYPH_METRICS* glyphMetrics,[None] BOOL isSideways) Returns the nominal mapping of UCS4 Unicode code points to glyph indices as defined by the font 'CMAP' table. Note that this mapping is primarily provided for line layout engines built on top of the physical font API. Because of OpenType glyph substitution and line layout character substitution, the nominal conversion does not always correspond to how a Unicode string will map to glyph indices when rendering using a particular font face. Also, note that Unicode variant selectors provide for alternate mappings for character to glyph. This call will always return the default variant. An array of USC4 code points from which to obtain nominal glyph indices. The array must be allocated and be able to contain the number of elements specified by codePointCount. a reference to an array of nominal glyph indices filled by this function. HRESULT IDWriteFontFace::GetGlyphIndices([In, Buffer] const int* codePoints,[None] int codePointCount,[Out, Buffer] short* glyphIndices) Obtains the font files representing a font face. The IDWriteFontFace::GetFiles method should be called twice. The first time you call GetFilesfontFiles should be NULL. When the method returns, numberOfFiles receives the number of font files that represent the font face. Then, call the method a second time, passing the numberOfFiles value that was output the first call, and a non-null buffer of the correct size to store the references. An array that stores references to font files representing the font face. This parameter can be NULL if the user wants only the number of files representing the font face. This API increments reference count of the font file references returned according to COM conventions, and the client should release them when finished. HRESULT IDWriteFontFace::GetFiles([InOut] int* numberOfFiles,[Out, Buffer, Optional] IDWriteFontFile** fontFiles) Finds the specified OpenType font table if it exists and returns a reference to it. The function accesses the underlying font data through the interface implemented by the font file loader. The context for the same tag may be different for each call, so each one must be held and released separately. The four-character tag of a OpenType font table to find. Use the DWRITE_MAKE_OPENTYPE_TAG macro to create it as an UINT32. Unlike GDI, it does not support the special TTCF and null tags to access the whole font. When this method returns, contains the address of a reference to the base of the table in memory. The reference is valid only as long as the font face used to get the font table still exists; (not any other font face, even if it actually refers to the same physical font). When this method returns, the address of a reference to the opaque context, which must be freed by calling {{ReleaseFontTable}}. The context actually comes from the lower-level , which may be implemented by the application or DWrite itself. It is possible for a NULL tableContext to be returned, especially if the implementation performs direct memory mapping on the whole file. Nevertheless, always release it later, and do not use it as a test for function success. The same table can be queried multiple times, but because each returned context can be different, you must release each context separately. TRUE if the font table exists; otherwise, FALSE. HRESULT IDWriteFontFace::TryGetFontTable([In] int openTypeTableTag,[Out, Buffer] const void** tableData,[Out] int* tableSize,[Out] void** tableContext,[Out] BOOL* exists) Computes the outline of a run of glyphs by calling back to the outline sink interface. The logical size of the font in DIP units. A DIP ("device-independent pixel") equals 1/96 inch. An array of glyph indices. The glyphs are in logical order and the advance direction depends on the isRightToLeft parameter. The array must be allocated and be able to contain the number of elements specified by glyphCount. An optional array of glyph advances in DIPs. The advance of a glyph is the amount to advance the position (in the direction of the baseline) after drawing the glyph. glyphAdvances contains the number of elements specified by glyphIndices.Length. An optional array of glyph offsets, each of which specifies the offset along the baseline and offset perpendicular to the baseline of a glyph relative to the current pen position. glyphOffsets contains the number of elements specified by glyphIndices.Length. If TRUE, the ascender of the glyph runs alongside the baseline. If FALSE, the glyph ascender runs perpendicular to the baseline. For example, an English alphabet on a vertical baseline would have isSideways set to FALSE. A client can render a vertical run by setting isSideways to TRUE and rotating the resulting geometry 90 degrees to the right using a transform. The isSideways and isRightToLeft parameters cannot both be true. The visual order of the glyphs. If this parameter is FALSE, then glyph advances are from left to right. If TRUE, the advance direction is right to left. By default, the advance direction is left to right. A reference to the interface that is called back to perform outline drawing operations. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT IDWriteFontFace::GetGlyphRunOutline([None] float emSize,[In, Buffer] const short* glyphIndices,[In, Buffer, Optional] const float* glyphAdvances,[In, Buffer, Optional] const DWRITE_GLYPH_OFFSET* glyphOffsets,[None] int glyphCount,[None] BOOL isSideways,[None] BOOL isRightToLeft,[None] IDWriteGeometrySink* geometrySink) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Obtains the file format type of a font face.

dd371031 GetType GetType DWRITE_FONT_FACE_TYPE IDWriteFontFace::GetType()

Obtains the index of a font face in the context of its font files.

dd371007 GetIndex GetIndex unsigned int IDWriteFontFace::GetIndex()

Obtains the algorithmic style simulation flags of a font face.

dd371018 GetSimulations GetSimulations DWRITE_FONT_SIMULATIONS IDWriteFontFace::GetSimulations()

Determines whether the font is a symbol font.

dd371034 IsSymbolFont IsSymbolFont BOOL IDWriteFontFace::IsSymbolFont()

Obtains design units and common metrics for the font face. These metrics are applicable to all the glyphs within a font face and are used by applications for layout calculations.

dd371011 GetMetrics GetMetrics void IDWriteFontFace::GetMetrics([Out] DWRITE_FONT_METRICS* fontFaceMetrics)

Obtains the number of glyphs in the font face.

dd370993 GetGlyphCount GetGlyphCount unsigned short IDWriteFontFace::GetGlyphCount()

Obtains the file format type of a font face.

A value that indicates the type of format for the font face (such as Type 1, TrueType, vector, or bitmap).

dd371031 DWRITE_FONT_FACE_TYPE IDWriteFontFace::GetType() IDWriteFontFace::GetType

Obtains the font files representing a font face.

If fontFiles is null, receives the number of files representing the font face. Otherwise, the number of font files being requested should be passed. See the Remarks section below for more information.

When this method returns, contains a reference to a user-provided array that stores references to font files representing the font face. This parameter can be null if the user wants only the number of files representing the font face. This API increments reference count of the font file references returned according to COM conventions, and the client should release them when finished.

If this method succeeds, it returns . Otherwise, it returns an error code.

The method should be called twice. The first time you call GetFilesfontFiles should be null. When the method returns, numberOfFiles receives the number of font files that represent the font face.

Then, call the method a second time, passing the numberOfFiles value that was output the first call, and a non-null buffer of the correct size to store the references.

dd370989 HRESULT IDWriteFontFace::GetFiles([InOut] unsigned int* numberOfFiles,[Out, Buffer, Optional] IDWriteFontFile** fontFiles) IDWriteFontFace::GetFiles

Obtains the index of a font face in the context of its font files.

The zero-based index of a font face in cases when the font files contain a collection of font faces. If the font files contain a single face, this value is zero.

dd371007 unsigned int IDWriteFontFace::GetIndex() IDWriteFontFace::GetIndex

Obtains the algorithmic style simulation flags of a font face.

Font face simulation flags for algorithmic means of making text bold or italic.

dd371018 DWRITE_FONT_SIMULATIONS IDWriteFontFace::GetSimulations() IDWriteFontFace::GetSimulations

Determines whether the font is a symbol font.

Returns TRUE if the font is a symbol font, otherwise .

dd371034 BOOL IDWriteFontFace::IsSymbolFont() IDWriteFontFace::IsSymbolFont

Obtains design units and common metrics for the font face. These metrics are applicable to all the glyphs within a font face and are used by applications for layout calculations.

When this method returns, a? structure that holds metrics (such as ascent, descent, or cap height) for the current font face element. The metrics returned by this function are in font design units.

dd371011 void IDWriteFontFace::GetMetrics([Out] DWRITE_FONT_METRICS* fontFaceMetrics) IDWriteFontFace::GetMetrics

Obtains the number of glyphs in the font face.

The number of glyphs in the font face.

dd370993 unsigned short IDWriteFontFace::GetGlyphCount() IDWriteFontFace::GetGlyphCount

Obtains ideal (resolution-independent) glyph metrics in font design units.

An array of glyph indices for which to compute metrics. The array must contain at least as many elements as specified by glyphCount.

The number of elements in the glyphIndices array.

When this method returns, contains an array of structures. glyphMetrics must be initialized with an empty buffer that contains at least as many elements as glyphCount. The metrics returned by this function are in font design units.

Indicates whether the font is being used in a sideways run. This can affect the glyph metrics if the font has oblique simulation because sideways oblique simulation differs from non-sideways oblique simulation

If this method succeeds, it returns . Otherwise, it returns an error code.

Design glyph metrics are used for glyph positioning.

dd370986 HRESULT IDWriteFontFace::GetDesignGlyphMetrics([In, Buffer] const unsigned short* glyphIndices,[In] unsigned int glyphCount,[Out, Buffer] DWRITE_GLYPH_METRICS* glyphMetrics,[In] BOOL isSideways) IDWriteFontFace::GetDesignGlyphMetrics

Returns the nominal mapping of UCS4 Unicode code points to glyph indices as defined by the font 'CMAP' table.

An array of USC4 code points from which to obtain nominal glyph indices. The array must be allocated and be able to contain the number of elements specified by codePointCount.

The number of elements in the codePoints array.

When this method returns, contains a reference to an array of nominal glyph indices filled by this function.

If this method succeeds, it returns . Otherwise, it returns an error code.

Note that this mapping is primarily provided for line layout engines built on top of the physical font API. Because of OpenType glyph substitution and line layout character substitution, the nominal conversion does not always correspond to how a Unicode string will map to glyph indices when rendering using a particular font face. Also, note that Unicode variant selectors provide for alternate mappings for character to glyph. This call will always return the default variant.

When characters are not present in the font this method returns the index 0, which is the undefined glyph or ".notdef" glyph. If a character isn't in a font, returns false and GetUnicodeRanges doesn't return it in the range.

dd370998 HRESULT IDWriteFontFace::GetGlyphIndicesW([In, Buffer] const unsigned int* codePoints,[In] unsigned int codePointCount,[Out, Buffer] unsigned short* glyphIndices) IDWriteFontFace::GetGlyphIndicesW

Finds the specified OpenType font table if it exists and returns a reference to it. The function accesses the underlying font data through the interface implemented by the font file loader.

No documentation. No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

The context for the same tag may be different for each call, so each one must be held and released separately.

dd371039 HRESULT IDWriteFontFace::TryGetFontTable([In] unsigned int openTypeTableTag,[Out, Buffer] const void** tableData,[Out] unsigned int* tableSize,[Out] void** tableContext,[Out] BOOL* exists) IDWriteFontFace::TryGetFontTable

Releases the table obtained earlier from TryGetFontTable.

No documentation. dd371036 void IDWriteFontFace::ReleaseFontTable([In] void* tableContext) IDWriteFontFace::ReleaseFontTable

Computes the outline of a run of glyphs by calling back to the outline sink interface.

The logical size of the font in DIP units. A DIP ("device-independent pixel") equals 1/96 inch.

An array of glyph indices. The glyphs are in logical order and the advance direction depends on the isRightToLeft parameter. The array must be allocated and be able to contain the number of elements specified by glyphCount.

An optional array of glyph advances in DIPs. The advance of a glyph is the amount to advance the position (in the direction of the baseline) after drawing the glyph. glyphAdvances contains the number of elements specified by glyphCount.

An optional array of glyph offsets, each of which specifies the offset along the baseline and offset perpendicular to the baseline of a glyph relative to the current pen position. glyphOffsets contains the number of elements specified by glyphCount.

The number of glyphs in the run.

If TRUE, the ascender of the glyph runs alongside the baseline. If , the glyph ascender runs perpendicular to the baseline. For example, an English alphabet on a vertical baseline would have isSideways set to .

A client can render a vertical run by setting isSideways to TRUE and rotating the resulting geometry 90 degrees to the right using a transform. The isSideways and isRightToLeft parameters cannot both be true.

The visual order of the glyphs. If this parameter is , then glyph advances are from left to right. If TRUE, the advance direction is right to left. By default, the advance direction is left to right.

A reference to the interface that is called back to perform outline drawing operations.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371003 HRESULT IDWriteFontFace::GetGlyphRunOutline([In] float emSize,[In, Buffer] const unsigned short* glyphIndices,[In, Buffer, Optional] const float* glyphAdvances,[In, Buffer, Optional] const DWRITE_GLYPH_OFFSET* glyphOffsets,[In] unsigned int glyphCount,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] ID2D1SimplifiedGeometrySink* geometrySink) IDWriteFontFace::GetGlyphRunOutline

Determines the recommended rendering mode for the font, using the specified size and rendering parameters.

The logical size of the font in DIP units. A DIP ("device-independent pixel") equals 1/96 inch.

The number of physical pixels per DIP. For example, if the DPI of the rendering surface is 96, this value is 1.0f. If the DPI is 120, this value is 120.0f/96.

The measuring method that will be used for glyphs in the font. Renderer implementations may choose different rendering modes for different measuring methods, for example:

  • for
  • for
  • for

A reference to an object that contains rendering settings such as gamma level, enhanced contrast, and ClearType level. This parameter is necessary in case the rendering parameters object overrides the rendering mode.

When this method returns, contains a value that indicates the recommended rendering mode to use.

dd371015 HRESULT IDWriteFontFace::GetRecommendedRenderingMode([In] float emSize,[In] float pixelsPerDip,[In] DWRITE_MEASURING_MODE measuringMode,[In] IDWriteRenderingParams* renderingParams,[Out] DWRITE_RENDERING_MODE* renderingMode) IDWriteFontFace::GetRecommendedRenderingMode

Obtains design units and common metrics for the font face. These metrics are applicable to all the glyphs within a fontface and are used by applications for layout calculations.

The logical size of the font in DIP units.

The number of physical pixels per DIP.

An optional transform applied to the glyphs and their positions. This transform is applied after the scaling specified by the font size and pixelsPerDip.

A reference to a DWRITE_FONT_METRICS structure to fill in. The metrics returned by this function are in font design units.

dd941789 HRESULT IDWriteFontFace::GetGdiCompatibleMetrics([In] float emSize,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[Out] DWRITE_FONT_METRICS* fontFaceMetrics) IDWriteFontFace::GetGdiCompatibleMetrics

Obtains glyph metrics in font design units with the return values compatible with what GDI would produce.

The ogical size of the font in DIP units.

The number of physical pixels per DIP.

An optional transform applied to the glyphs and their positions. This transform is applied after the scaling specified by the font size and pixelsPerDip.

When set to , the metrics are the same as the metrics of GDI aliased text. When set to TRUE, the metrics are the same as the metrics of text measured by GDI using a font created with CLEARTYPE_NATURAL_QUALITY.

An array of glyph indices for which to compute the metrics.

The number of elements in the glyphIndices array.

An array of structures filled by this function. The metrics are in font design units.

A value that indicates whether the font is being used in a sideways run. This can affect the glyph metrics if the font has oblique simulation because sideways oblique simulation differs from non-sideways oblique simulation.

Standard error code. If any of the input glyph indices are outside of the valid glyph index range for the current font face, E_INVALIDARG will be returned.

dd941788 HRESULT IDWriteFontFace::GetGdiCompatibleGlyphMetrics([In] float emSize,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[In] BOOL useGdiNatural,[In, Buffer] const unsigned short* glyphIndices,[In] unsigned int glyphCount,[Out, Buffer] DWRITE_GLYPH_METRICS* glyphMetrics,[In] BOOL isSideways) IDWriteFontFace::GetGdiCompatibleGlyphMetrics

Allows you to access fallback fonts from the font list.

The interface defines a fallback sequence to map character ranges to fonts, which is either created via or retrieved from .

dn280474 IDWriteFontFallback IDWriteFontFallback

Determines an appropriate font to use to render the beginning range of text.

The text source implementation holds the text and locale.

Starting position to analyze.

Length of the text to analyze.

Default font collection to use.

Family name of the base font. If you pass null, no matching will be done against the family.

The desired weight.

The desired style.

The desired stretch.

Length of text mapped to the mapped font. This will always be less than or equal to the text length and greater than zero (if the text length is non-zero) so the caller advances at least one character.

The font that should be used to render the first mappedLength characters of the text. If it returns null, that means that no font can render the text, and mappedLength is the number of characters to skip (rendered with a missing glyph).

Scale factor to multiply the em size of the returned font by.

Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Determines an appropriate font to use to render the beginning range of text.

The text source implementation holds the text and locale.

Starting position to analyze.

Length of the text to analyze.

Default font collection to use.

Family name of the base font. If you pass null, no matching will be done against the family.

The desired weight.

The desired style.

The desired stretch.

Length of text mapped to the mapped font. This will always be less than or equal to the text length and greater than zero (if the text length is non-zero) so the caller advances at least one character.

The font that should be used to render the first mappedLength characters of the text. If it returns null, that means that no font can render the text, and mappedLength is the number of characters to skip (rendered with a missing glyph).

Scale factor to multiply the em size of the returned font by.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn280480 HRESULT IDWriteFontFallback::MapCharacters([In] IDWriteTextAnalysisSource* analysisSource,[In] unsigned int textPosition,[In] unsigned int textLength,[In, Optional] IDWriteFontCollection* baseFontCollection,[In, Optional] const wchar_t* baseFamilyName,[In] DWRITE_FONT_WEIGHT baseWeight,[In] DWRITE_FONT_STYLE baseStyle,[In] DWRITE_FONT_STRETCH baseStretch,[Out] unsigned int* mappedLength,[Out, Optional] IDWriteFont** mappedFont,[Out] float* scale) IDWriteFontFallback::MapCharacters

Specifies properties used to identify and execute typographic features in the current font face.

A non-zero value generally enables the feature execution, while the zero value disables it. A feature requiring a selector uses this value to indicate the selector index.

The OpenType standard provides access to typographic features available in the font by means of a feature tag with the associated parameters. The OpenType feature tag is a 4-byte identifier of the registered name of a feature. For example, the 'kern' feature name tag is used to identify the 'Kerning' feature in OpenType font. Similarly, the OpenType feature tag for 'Standard Ligatures' and 'Fractions' is 'liga' and 'frac' respectively. Since a single run can be associated with more than one typographic features, the Text String API accepts typographic settings for a run as a list of features and are executed in the order they are specified.

The value of the tag member represents the OpenType name tag of the feature, while the param value represents additional parameter for the execution of the feature referred by the tag member. Both nameTag and parameter are stored as little endian, the same convention followed by GDI. Most features treat the Param value as a binary value that indicates whether to turn the execution of the feature on or off, with it being off by default in the majority of cases. Some features, however, treat this value as an integral value representing the integer index to the list of alternate results it may produce during the execution; for instance, the feature 'Stylistic Alternates' or 'salt' uses the parameter value as an index to the list of alternate substituting glyphs it could produce for a specified glyph.

dd368066 DWRITE_FONT_FEATURE DWRITE_FONT_FEATURE
Initializes a new instance of the struct. The name tag. The parameter.

The feature OpenType name identifier.

dd368066 DWRITE_FONT_FEATURE_TAG nameTag DWRITE_FONT_FEATURE_TAG nameTag

The execution parameter of the feature.

dd368066 unsigned int parameter unsigned int parameter

Represents a font file. Applications such as font managers or font viewers can call to find out if a particular file is a font file, and whether it is a font type that is supported by the font system.

dd371060 IDWriteFontFile IDWriteFontFile
Creates a font file reference object from a local font file. A reference to a DirectWrite factory An array of characters that contains the absolute file path for the font file. Subsequent operations on the constructed object may fail if the user provided filePath doesn't correspond to a valid file on the disk. HRESULT IDWriteFactory::CreateFontFileReference([In] const wchar_t* filePath,[In, Optional] const __int64* lastWriteTime,[Out] IDWriteFontFile** fontFile) Creates a font file reference object from a local font file. A reference to a DirectWrite factory An array of characters that contains the absolute file path for the font file. Subsequent operations on the constructed object may fail if the user provided filePath doesn't correspond to a valid file on the disk. The last modified time of the input file path. If the parameter is omitted, the function will access the font file to obtain its last write time. You should specify this value to avoid extra disk access. Subsequent operations on the constructed object may fail if the user provided lastWriteTime doesn't match the file on the disk. HRESULT IDWriteFactory::CreateFontFileReference([In] const wchar_t* filePath,[In, Optional] const __int64* lastWriteTime,[Out] IDWriteFontFile** fontFile) Creates a reference to an application-specific font file resource. A reference to a DirectWrite factory A font file reference key that uniquely identifies the font file resource during the lifetime of fontFileLoader. The size of the font file reference key in bytes. The font file loader that will be used by the font system to load data from the file identified by fontFileReferenceKey. This function is provided for cases when an application or a document needs to use a private font without having to install it on the system. fontFileReferenceKey has to be unique only in the scope of the fontFileLoader used in this call. HRESULT IDWriteFactory::CreateCustomFontFileReference([In, Buffer] const void* fontFileReferenceKey,[None] int fontFileReferenceKeySize,[None] IDWriteFontFileLoader* fontFileLoader,[Out] IDWriteFontFile** fontFile) Obtains the file loader associated with a font file object. HRESULT IDWriteFontFile::GetLoader([Out] IDWriteFontFileLoader** fontFileLoader) Obtains the reference to the reference key of a font file. The returned reference is valid until the font file object is released. the reference to the reference key of a font file. HRESULT IDWriteFontFile::GetReferenceKey([Out, Buffer] const void** fontFileReferenceKey,[Out] int* fontFileReferenceKeySize) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Obtains the reference to the reference key of a font file. The returned reference is valid until the font file object is released.

When this method returns, contains an address of a reference to the font file reference key. Note that the reference value is only valid until the font file object it is obtained from is released. This parameter is passed uninitialized.

When this method returns, contains the size of the font file reference key in bytes. This parameter is passed uninitialized.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371108 HRESULT IDWriteFontFile::GetReferenceKey([Out, Buffer] const void** fontFileReferenceKey,[Out] unsigned int* fontFileReferenceKeySize) IDWriteFontFile::GetReferenceKey

Obtains the file loader associated with a font file object.

When this method returns, contains the address of a reference to the font file loader associated with the font file object.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371104 HRESULT IDWriteFontFile::GetLoader([Out] IDWriteFontFileLoader** fontFileLoader) IDWriteFontFile::GetLoader

Analyzes a file and returns whether it represents a font, and whether the font type is supported by the font system.

TRUE if the font type is supported by the font system; otherwise, .

When this method returns, contains a value that indicates the type of the font file. Note that even if isSupportedFontType is , the fontFileType value may be different from .

When this method returns, contains a value that indicates the type of the font face. If fontFileType is not equal to , then that can be constructed from the font file.

When this method returns, contains the number of font faces contained in the font file.

If this method succeeds, it returns . Otherwise, it returns an error code.

Important??Certain font file types are recognized, but not supported by the font system. For example, the font system will recognize a file as a Type 1 font file but will not be able to construct a font face object from it. In such situations, Analyze will set isSupportedFontType output parameter to .? dd371099 HRESULT IDWriteFontFile::Analyze([Out] BOOL* isSupportedFontType,[Out] DWRITE_FONT_FILE_TYPE* fontFileType,[Out, Optional] DWRITE_FONT_FACE_TYPE* fontFaceType,[Out] unsigned int* numberOfFaces) IDWriteFontFile::Analyze

Advances to the next font file in the collection. When it is first created, the enumerator is positioned before the first element of the collection and the first call to MoveNext advances to the first file.

dd371071 IDWriteFontFileEnumerator IDWriteFontFileEnumerator
Advances to the next font file in the collection. When it is first created, the enumerator is positioned before the first element of the collection and the first call to MoveNext advances to the first file. the value TRUE if the enumerator advances to a file; otherwise, FALSE if the enumerator advances past the last file in the collection. HRESULT IDWriteFontFileEnumerator::MoveNext([Out] BOOL* hasCurrentFile) Gets a reference to the current font file. a reference to the newly created object. HRESULT IDWriteFontFileEnumerator::GetCurrentFontFile([Out] IDWriteFontFile** fontFile) Internal FontFileEnumerator Callback Return a pointer to the unmanaged version of this callback. The callback. A pointer to a shadow c++ callback Advances to the next font file in the collection. When it is first created, the enumerator is positioned before the first element of the collection and the first call to MoveNext advances to the first file. the value TRUE if the enumerator advances to a file; otherwise, FALSE if the enumerator advances past the last file in the collection. HRESULT IDWriteFontFileEnumerator::MoveNext([Out] BOOL* hasCurrentFile) Gets a reference to the current font file. a reference to the newly created object. HRESULT IDWriteFontFileEnumerator::GetCurrentFontFile([Out] IDWriteFontFile** fontFile)

Handles loading font file resources of a particular type from a font file reference key into a font file stream object.

The font file loader interface is recommended to be implemented by a singleton object. Note that font file loader implementations must not register themselves with DirectWrite factory inside their constructors and must not unregister themselves in their destructors, because registration and unregistraton operations increment and decrement the object reference count respectively. Instead, registration and unregistration of font file loaders with DirectWrite factory should be performed outside of the font file loader implementation as a separate step.

dd371075 IDWriteFontFileLoader IDWriteFontFileLoader
Creates a font file stream object that encapsulates an open file resource. The resource is closed when the last reference to fontFileStream is released. A reference to a font file reference key that uniquely identifies the font file resource within the scope of the font loader being used. The buffer allocated for this key must at least be the size, in bytes, specified by fontFileReferenceKeySize. a reference to the newly created object. HRESULT IDWriteFontFileLoader::CreateStreamFromKey([In, Buffer] const void* fontFileReferenceKey,[None] int fontFileReferenceKeySize,[Out] IDWriteFontFileStream** fontFileStream)

Handles loading font file resources of a particular type from a font file reference key into a font file stream object.

The font file loader interface is recommended to be implemented by a singleton object. Note that font file loader implementations must not register themselves with DirectWrite factory inside their constructors and must not unregister themselves in their destructors, because registration and unregistraton operations increment and decrement the object reference count respectively. Instead, registration and unregistration of font file loaders with DirectWrite factory should be performed outside of the font file loader implementation as a separate step.

dd371075 IDWriteFontFileLoader IDWriteFontFileLoader
Creates a font file stream object that encapsulates an open file resource. The resource is closed when the last reference to fontFileStream is released. A reference to a font file reference key that uniquely identifies the font file resource within the scope of the font loader being used. The buffer allocated for this key must at least be the size, in bytes, specified by fontFileReferenceKeySize. a reference to the newly created object. HRESULT IDWriteFontFileLoader::CreateStreamFromKey([In, Buffer] const void* fontFileReferenceKey,[None] int fontFileReferenceKeySize,[Out] IDWriteFontFileStream** fontFileStream) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Creates a font file stream object that encapsulates an open file resource.

A reference to a font file reference key that uniquely identifies the font file resource within the scope of the font loader being used. The buffer allocated for this key must at least be the size, in bytes, specified by fontFileReferenceKeySize.

The size of font file reference key, in bytes.

When this method returns, contains the address of a reference to the newly created object.

If this method succeeds, it returns . Otherwise, it returns an error code.

The resource is closed when the last reference to fontFileStream is released.

dd371077 HRESULT IDWriteFontFileLoader::CreateStreamFromKey([In, Buffer] const void* fontFileReferenceKey,[In] unsigned int fontFileReferenceKeySize,[Out] IDWriteFontFileStream** fontFileStream) IDWriteFontFileLoader::CreateStreamFromKey
Internal FontFileLoader Callback Return a pointer to the unmanaged version of this callback. The callback. A pointer to a shadow c++ callback HRESULT IDWriteFontFileLoader::CreateStreamFromKey([In, Buffer] const void* fontFileReferenceKey,[None] int fontFileReferenceKeySize,[Out] IDWriteFontFileStream** fontFileStream)

Reads a fragment from a font file.

Note that ReadFileFragment implementations must check whether the requested font file fragment is within the file bounds. Otherwise, an error should be returned from ReadFileFragment.

DirectWrite may invoke methods on the same object from multiple threads simultaneously. Therefore, ReadFileFragment implementations that rely on internal mutable state must serialize access to such state across multiple threads. For example, an implementation that uses separate Seek and Read operations to read a file fragment must place the code block containing Seek and Read calls under a lock or a critical section.

dd371091 IDWriteFontFileStream IDWriteFontFileStream
Reads a fragment from a font file. Note that ReadFileFragment implementations must check whether the requested font file fragment is within the file bounds. Otherwise, an error should be returned from ReadFileFragment. {{DirectWrite}} may invoke methods on the same object from multiple threads simultaneously. Therefore, ReadFileFragment implementations that rely on internal mutable state must serialize access to such state across multiple threads. For example, an implementation that uses separate Seek and Read operations to read a file fragment must place the code block containing Seek and Read calls under a lock or a critical section. When this method returns, contains an address of a reference to the start of the font file fragment. This parameter is passed uninitialized. The offset of the fragment, in bytes, from the beginning of the font file. The size of the file fragment, in bytes. When this method returns, contains the address of a reference to a reference to the client-defined context to be passed to {{ReleaseFileFragment}}. HRESULT IDWriteFontFileStream::ReadFileFragment([Out, Buffer] const void** fragmentStart,[None] __int64 fileOffset,[None] __int64 fragmentSize,[Out] void** fragmentContext) Releases a fragment from a file. A reference to the client-defined context of a font fragment returned from {{ReadFileFragment}}. void IDWriteFontFileStream::ReleaseFileFragment([None] void* fragmentContext) Obtains the total size of a file. Implementing GetFileSize() for asynchronously loaded font files may require downloading the complete file contents. Therefore, this method should be used only for operations that either require a complete font file to be loaded (for example, copying a font file) or that need to make decisions based on the value of the file size (for example, validation against a persisted file size). the total size of the file. HRESULT IDWriteFontFileStream::GetFileSize([Out] __int64* fileSize) Obtains the last modified time of the file. The "last modified time" is used by DirectWrite font selection algorithms to determine whether one font resource is more up to date than another one. the last modified time of the file in the format that represents the number of 100-nanosecond intervals since January 1, 1601 (UTC). HRESULT IDWriteFontFileStream::GetLastWriteTime([Out] __int64* lastWriteTime)

Reads a fragment from a font file.

Note that ReadFileFragment implementations must check whether the requested font file fragment is within the file bounds. Otherwise, an error should be returned from ReadFileFragment.

DirectWrite may invoke methods on the same object from multiple threads simultaneously. Therefore, ReadFileFragment implementations that rely on internal mutable state must serialize access to such state across multiple threads. For example, an implementation that uses separate Seek and Read operations to read a file fragment must place the code block containing Seek and Read calls under a lock or a critical section.

dd371091 IDWriteFontFileStream IDWriteFontFileStream
Reads a fragment from a font file. Note that ReadFileFragment implementations must check whether the requested font file fragment is within the file bounds. Otherwise, an error should be returned from ReadFileFragment. {{DirectWrite}} may invoke methods on the same object from multiple threads simultaneously. Therefore, ReadFileFragment implementations that rely on internal mutable state must serialize access to such state across multiple threads. For example, an implementation that uses separate Seek and Read operations to read a file fragment must place the code block containing Seek and Read calls under a lock or a critical section. When this method returns, contains an address of a reference to the start of the font file fragment. This parameter is passed uninitialized. The offset of the fragment, in bytes, from the beginning of the font file. The size of the file fragment, in bytes. When this method returns, contains the address of a reference to a reference to the client-defined context to be passed to {{ReleaseFileFragment}}. HRESULT IDWriteFontFileStream::ReadFileFragment([Out, Buffer] const void** fragmentStart,[None] __int64 fileOffset,[None] __int64 fragmentSize,[Out] void** fragmentContext) Releases a fragment from a file. A reference to the client-defined context of a font fragment returned from {{ReadFileFragment}}. void IDWriteFontFileStream::ReleaseFileFragment([None] void* fragmentContext) Obtains the total size of a file. Implementing GetFileSize() for asynchronously loaded font files may require downloading the complete file contents. Therefore, this method should be used only for operations that either require a complete font file to be loaded (for example, copying a font file) or that need to make decisions based on the value of the file size (for example, validation against a persisted file size). the total size of the file. HRESULT IDWriteFontFileStream::GetFileSize([Out] __int64* fileSize) Obtains the last modified time of the file. The "last modified time" is used by DirectWrite font selection algorithms to determine whether one font resource is more up to date than another one. the last modified time of the file in the format that represents the number of 100-nanosecond intervals since January 1, 1601 (UTC). HRESULT IDWriteFontFileStream::GetLastWriteTime([Out] __int64* lastWriteTime) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Reads a fragment from a font file.

When this method returns, contains an address of a reference to the start of the font file fragment. This parameter is passed uninitialized.

The offset of the fragment, in bytes, from the beginning of the font file.

The size of the file fragment, in bytes.

When this method returns, contains the address of a reference to a reference to the client-defined context to be passed to ReleaseFileFragment.

If this method succeeds, it returns . Otherwise, it returns an error code.

Note that ReadFileFragment implementations must check whether the requested font file fragment is within the file bounds. Otherwise, an error should be returned from ReadFileFragment.

DirectWrite may invoke methods on the same object from multiple threads simultaneously. Therefore, ReadFileFragment implementations that rely on internal mutable state must serialize access to such state across multiple threads. For example, an implementation that uses separate Seek and Read operations to read a file fragment must place the code block containing Seek and Read calls under a lock or a critical section.

dd371091 HRESULT IDWriteFontFileStream::ReadFileFragment([Out] const void** fragmentStart,[In] unsigned longlong fileOffset,[In] unsigned longlong fragmentSize,[Out] void** fragmentContext) IDWriteFontFileStream::ReadFileFragment

Releases a fragment from a file.

A reference to the client-defined context of a font fragment returned from ReadFileFragment.

dd371095 void IDWriteFontFileStream::ReleaseFileFragment([In] void* fragmentContext) IDWriteFontFileStream::ReleaseFileFragment

Obtains the total size of a file.

When this method returns, contains the total size of the file.

If this method succeeds, it returns . Otherwise, it returns an error code.

Implementing GetFileSize() for asynchronously loaded font files may require downloading the complete file contents. Therefore, this method should be used only for operations that either require a complete font file to be loaded (for example, copying a font file) or that need to make decisions based on the value of the file size (for example, validation against a persisted file size).

dd371084 HRESULT IDWriteFontFileStream::GetFileSize([Out] unsigned longlong* fileSize) IDWriteFontFileStream::GetFileSize

Obtains the last modified time of the file.

When this method returns, contains the last modified time of the file in the format that represents the number of 100-nanosecond intervals since January 1, 1601 (UTC).

If this method succeeds, it returns . Otherwise, it returns an error code.

The "last modified time" is used by DirectWrite font selection algorithms to determine whether one font resource is more up to date than another one.

dd371089 HRESULT IDWriteFontFileStream::GetLastWriteTime([Out] unsigned longlong* lastWriteTime) IDWriteFontFileStream::GetLastWriteTime
Internal FontFileStream Callback Return a pointer to the unmanaged version of this callback. The callback. A pointer to a shadow c++ callback HRESULT IDWriteFontFileStream::ReadFileFragment([Out, Buffer] const void** fragmentStart,[None] __int64 fileOffset,[None] __int64 fragmentSize,[Out] void** fragmentContext) void IDWriteFontFileStream::ReleaseFileFragment([None] void* fragmentContext) HRESULT IDWriteFontFileStream::GetFileSize([Out] __int64* fileSize) HRESULT IDWriteFontFileStream::GetLastWriteTime([Out] __int64* lastWriteTime)

Provides interoperability with GDI, such as methods to convert a font face to a structure, or to convert a GDI font description into a font face. It is also used to create bitmap render target objects.

dd371172 IDWriteGdiInterop IDWriteGdiInterop
Creates a font object that matches the properties specified by the LOGFONT structure. A structure containing a GDI-compatible font description. a reference to a newly created . HRESULT IDWriteGdiInterop::CreateFontFromLOGFONT([In] const LOGFONTW* logFont,[Out] IDWriteFont** font) Initializes a LOGFONT structure based on the GDI-compatible properties of the specified font. The conversion to a LOGFONT by using ConvertFontToLOGFONT operates at the logical font level and does not guarantee that it will map to a specific physical font. It is not guaranteed that GDI will select the same physical font for displaying text formatted by a LOGFONT as the object that was converted. An object to be converted into a GDI-compatible LOGFONT structure. When this method returns, contains a structure that receives a GDI-compatible font description. TRUE if the specified font object is part of the system font collection; otherwise, FALSE. HRESULT IDWriteGdiInterop::ConvertFontToLOGFONT([None] IDWriteFont* font,[In] LOGFONTW* logFont,[Out] BOOL* isSystemFont) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Creates a font object that matches the properties specified by the structure.

A structure containing a GDI-compatible font description.

When this method returns, contains an address of a reference to a newly created object if successful; otherwise, null.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371187 HRESULT IDWriteGdiInterop::CreateFontFromLOGFONT([In] const void* logFont,[Out] IDWriteFont** font) IDWriteGdiInterop::CreateFontFromLOGFONT

Initializes a structure based on the GDI-compatible properties of the specified font.

An object to be converted into a GDI-compatible structure.

When this method returns, contains a structure that receives a GDI-compatible font description.

When this method returns, contains TRUE if the specified font object is part of the system font collection; otherwise, .

If this method succeeds, it returns . Otherwise, it returns an error code.

The conversion to a by using ConvertFontToLOGFONT operates at the logical font level and does not guarantee that it will map to a specific physical font. It is not guaranteed that GDI will select the same physical font for displaying text formatted by a as the object that was converted.

dd371177 HRESULT IDWriteGdiInterop::ConvertFontToLOGFONT([In] IDWriteFont* font,[In] void* logFont,[Out] BOOL* isSystemFont) IDWriteGdiInterop::ConvertFontToLOGFONT

Initializes a structure based on the GDI-compatible properties of the specified font.

An object to be converted into a GDI-compatible structure.

When this method returns, contains a reference to a structure that receives a GDI-compatible font description.

If this method succeeds, it returns . Otherwise, it returns an error code.

The conversion to a by using ConvertFontFaceToLOGFONT operates at the logical font level and does not guarantee that it will map to a specific physical font. It is not guaranteed that GDI will select the same physical font for displaying text formatted by a as the object that was converted.

dd371175 HRESULT IDWriteGdiInterop::ConvertFontFaceToLOGFONT([In] IDWriteFontFace* font,[In] void* logFont) IDWriteGdiInterop::ConvertFontFaceToLOGFONT

Creates an object that corresponds to the currently selected HFONT of the specified .

A handle to a device context into which a font has been selected. It is assumed that the client has already performed font mapping and that the font selected into the device context is the actual font to be used for rendering glyphs.

Contains an address of a reference to the newly created font face object, or null in case of failure. The font face returned is guaranteed to reference the same physical typeface that would be used for drawing glyphs (but not necessarily characters) using ExtTextOut.

This function is intended for scenarios in which an application wants to use GDI and Uniscribe 1.x for text layout and shaping, but DirectWrite for final rendering. This function assumes the client is performing text output using glyph indexes.

dd371185 HRESULT IDWriteGdiInterop::CreateFontFaceFromHdc([In] HDC hdc,[Out] IDWriteFontFace** fontFace) IDWriteGdiInterop::CreateFontFaceFromHdc

Creates an object that encapsulates a bitmap and memory DC (device context) which can be used for rendering glyphs.

A handle to the optional device context used to create a compatible memory DC (device context).

The width of the bitmap render target.

The height of the bitmap render target.

When this method returns, contains an address of a reference to the newly created object.

dd371182 HRESULT IDWriteGdiInterop::CreateBitmapRenderTarget([In, Optional] HDC hdc,[In] unsigned int width,[In] unsigned int height,[Out] IDWriteBitmapRenderTarget** renderTarget) IDWriteGdiInterop::CreateBitmapRenderTarget

Contains the information needed by renderers to draw glyph runs. All coordinates are in device independent pixels (DIPs).

dd368089 DWRITE_GLYPH_RUN DWRITE_GLYPH_RUN
Gets or sets the associated with this GlypRun. The font face. An array of glyph indices. This array contains elements. An optional array of glyph advances. This array could be null or contains elements. An optional array of glyph offsets. This array could be null or contains elements.

The physical font face object to draw with.

dd368089 IDWriteFontFace* fontFace IDWriteFontFace fontFace

The logical size of the font in DIPs (equals 1/96 inch), not points.

dd368089 float fontEmSize float fontEmSize

The number of glyphs in the glyph run.

dd368089 unsigned int glyphCount unsigned int glyphCount

A reference to an array of indices to render for the glyph run.

dd368089 const unsigned short* glyphIndices unsigned short glyphIndices

A reference to an array containing glyph advance widths for the glyph run.

dd368089 const float* glyphAdvances float glyphAdvances

A reference to an array containing glyph offsets for the glyph run.

dd368089 const DWRITE_GLYPH_OFFSET* glyphOffsets DWRITE_GLYPH_OFFSET glyphOffsets

If true, specifies that glyphs are rotated 90 degrees to the left and vertical metrics are used. Vertical writing is achieved by specifying isSideways = true and rotating the entire run 90 degrees to the right via a rotate transform.

dd368089 BOOL isSideways BOOL isSideways

The implicit resolved bidi level of the run. Odd levels indicate right-to-left languages like Hebrew and Arabic, while even levels indicate left-to-right languages like English and Japanese (when written horizontally). For right-to-left languages, the text origin is on the right, and text should be drawn to the left.

dd368089 unsigned int bidiLevel unsigned int bidiLevel

Contains low-level information used to render a glyph run.

The alpha texture can be a bi-level alpha texture or a ClearType alpha texture.

A bi-level alpha texture contains one byte per pixel, therefore the size of the buffer for a bi-level texture will be the area of the texture bounds, in bytes. Each byte in a bi-level alpha texture created by CreateAlphaTexture is either set to DWRITE_ALPHA_MAX (that is, 255) or zero.

A ClearType alpha texture contains three bytes per pixel, therefore the size of the buffer for a ClearType alpha texture is three times the area of the texture bounds, in bytes.

dd371188 IDWriteGlyphRunAnalysis IDWriteGlyphRunAnalysis
Creates a glyph run analysis object, which encapsulates information used to render a glyph run. The factory. A structure that contains the properties of the glyph run (font face, advances, and so on). Number of physical pixels per DIP (device independent pixel). For example, if rendering onto a 96 DPI bitmap then pixelsPerDip is 1. If rendering onto a 120 DPI bitmap then pixelsPerDip is 1.25. A value that specifies the rendering mode, which must be one of the raster rendering modes (that is, not default and not outline). Specifies the measuring mode to use with glyphs. The horizontal position (X-coordinate) of the baseline origin, in DIPs. Vertical position (Y-coordinate) of the baseline origin, in DIPs. The glyph run analysis object contains the results of analyzing the glyph run, including the positions of all the glyphs and references to all of the rasterized glyphs in the font cache. HRESULT IDWriteFactory::CreateGlyphRunAnalysis([In] const DWRITE_GLYPH_RUN* glyphRun,[None] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[None] DWRITE_RENDERING_MODE renderingMode,[None] DWRITE_MEASURING_MODE measuringMode,[None] float baselineOriginX,[None] float baselineOriginY,[Out] IDWriteGlyphRunAnalysis** glyphRunAnalysis) Creates a glyph run analysis object, which encapsulates information used to render a glyph run. The factory. A structure that contains the properties of the glyph run (font face, advances, and so on). Number of physical pixels per DIP (device independent pixel). For example, if rendering onto a 96 DPI bitmap then pixelsPerDip is 1. If rendering onto a 120 DPI bitmap then pixelsPerDip is 1.25. Optional transform applied to the glyphs and their positions. This transform is applied after the scaling specified the emSize and pixelsPerDip. A value that specifies the rendering mode, which must be one of the raster rendering modes (that is, not default and not outline). Specifies the measuring mode to use with glyphs. The horizontal position (X-coordinate) of the baseline origin, in DIPs. Vertical position (Y-coordinate) of the baseline origin, in DIPs. The glyph run analysis object contains the results of analyzing the glyph run, including the positions of all the glyphs and references to all of the rasterized glyphs in the font cache. HRESULT IDWriteFactory::CreateGlyphRunAnalysis([In] const DWRITE_GLYPH_RUN* glyphRun,[None] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[None] DWRITE_RENDERING_MODE renderingMode,[None] DWRITE_MEASURING_MODE measuringMode,[None] float baselineOriginX,[None] float baselineOriginY,[Out] IDWriteGlyphRunAnalysis** glyphRunAnalysis) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the bounding rectangle of the physical pixels affected by the glyph run.

Specifies the type of texture requested. If a bi-level texture is requested, the bounding rectangle includes only bi-level glyphs. Otherwise, the bounding rectangle includes only antialiased glyphs.

When this method returns, contains the bounding rectangle of the physical pixels affected by the glyph run, or an empty rectangle if there are no glyphs of the specified texture type.

dd371215 HRESULT IDWriteGlyphRunAnalysis::GetAlphaTextureBounds([In] DWRITE_TEXTURE_TYPE textureType,[Out] RECT* textureBounds) IDWriteGlyphRunAnalysis::GetAlphaTextureBounds

Creates an alpha texture of the specified type for glyphs within a specified bounding rectangle.

A value that specifies the type of texture requested. This can be DWRITE_TEXTURE_BILEVEL_1x1 or . If a bi-level texture is requested, the texture contains only bi-level glyphs. Otherwise, the texture contains only antialiased glyphs.

The bounding rectangle of the texture, which can be different than the bounding rectangle returned by GetAlphaTextureBounds.

When this method returns, contains the array of alpha values from the texture. The buffer allocated for this array must be at least the size of bufferSize.

The size of the alphaValues array, in bytes. The minimum size depends on the dimensions of the rectangle and the type of texture requested.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371189 HRESULT IDWriteGlyphRunAnalysis::CreateAlphaTexture([In] DWRITE_TEXTURE_TYPE textureType,[In] const RECT* textureBounds,[Out, Buffer] unsigned char* alphaValues,[In] unsigned int bufferSize) IDWriteGlyphRunAnalysis::CreateAlphaTexture

Gets alpha blending properties required for ClearType blending.

An object that specifies the ClearType level and enhanced contrast, gamma, pixel geometry, and rendering mode. In most cases, the values returned by the output parameters of this method are based on the properties of this object, unless a GDI-compatible rendering mode was specified.

When this method returns, contains the gamma value to use for gamma correction.

When this method returns, contains the enhanced contrast value to be used for blending.

When this method returns, contains the ClearType level used in the alpha blending.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371190 HRESULT IDWriteGlyphRunAnalysis::GetAlphaBlendParams([In] IDWriteRenderingParams* renderingParams,[Out] float* blendGamma,[Out] float* blendEnhancedContrast,[Out] float* blendClearTypeLevel) IDWriteGlyphRunAnalysis::GetAlphaBlendParams

Contains additional properties related to those in .

dd368091 DWRITE_GLYPH_RUN_DESCRIPTION DWRITE_GLYPH_RUN_DESCRIPTION
No documentation. dd368091 const wchar_t* localeName wchar_t localeName No documentation. dd368091 const wchar_t* string wchar_t string No documentation. dd368091 unsigned int stringLength unsigned int stringLength No documentation. dd368091 const unsigned short* clusterMap unsigned short clusterMap No documentation. dd368091 unsigned int textPosition unsigned int textPosition A Item. A glyph index A glyph advance A glyph offset

Wraps an application-defined inline graphic, allowing DWrite to query metrics as if the graphic were a glyph inline with the text.

dd371221 IDWriteInlineObject IDWriteInlineObject
The application implemented rendering callback () can use this to draw the inline object without needing to cast or query the object type. The text layout does not call this method directly. The drawing context passed to . This parameter may be NULL. The same renderer passed to as the object's containing parent. This is useful if the inline object is recursive such as a nested layout. The x-coordinate at the upper-left corner of the inline object. The y-coordinate at the upper-left corner of the inline object. A Boolean flag that indicates whether the object's baseline runs alongside the baseline axis of the line. A Boolean flag that indicates whether the object is in a right-to-left context and should be drawn flipped. The drawing effect set in . Usually this effect is a foreground brush that is used in glyph drawing. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT IDWriteInlineObject::Draw([None] void* clientDrawingContext,[None] IDWriteTextRenderer* renderer,[None] float originX,[None] float originY,[None] BOOL isSideways,[None] BOOL isRightToLeft,[None] IUnknown* clientDrawingEffect) calls this callback function to get the measurement of the inline object. A structure describing the geometric measurement of an application-defined inline object. These metrics are in relation to the baseline of the adjacent text. HRESULT IDWriteInlineObject::GetMetrics([Out] DWRITE_INLINE_OBJECT_METRICS* metrics) TextLayout calls this callback function to get the visible extents (in DIPs) of the inline object. In the case of a simple bitmap, with no padding and no overhang, all the overhangs will simply be zeroes. Overshoot of visible extents (in DIPs) outside the object. HRESULT IDWriteInlineObject::GetOverhangMetrics([Out] DWRITE_OVERHANG_METRICS* overhangs) Layout uses this to determine the line-breaking behavior of the inline object among the text. When this method returns, contains a value which indicates the line-breaking condition between the object and the content immediately preceding it. When this method returns, contains a value which indicates the line-breaking condition between the object and the content immediately following it. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT IDWriteInlineObject::GetBreakConditions([Out] DWRITE_BREAK_CONDITION* breakConditionBefore,[Out] DWRITE_BREAK_CONDITION* breakConditionAfter)

Wraps an application-defined inline graphic, allowing DWrite to query metrics as if the graphic were a glyph inline with the text.

dd371221 IDWriteInlineObject IDWriteInlineObject
The application implemented rendering callback () can use this to draw the inline object without needing to cast or query the object type. The text layout does not call this method directly. The drawing context passed to . This parameter may be NULL. The same renderer passed to as the object's containing parent. This is useful if the inline object is recursive such as a nested layout. The x-coordinate at the upper-left corner of the inline object. The y-coordinate at the upper-left corner of the inline object. A Boolean flag that indicates whether the object's baseline runs alongside the baseline axis of the line. A Boolean flag that indicates whether the object is in a right-to-left context and should be drawn flipped. The drawing effect set in . Usually this effect is a foreground brush that is used in glyph drawing. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT IDWriteInlineObject::Draw([None] void* clientDrawingContext,[None] IDWriteTextRenderer* renderer,[None] float originX,[None] float originY,[None] BOOL isSideways,[None] BOOL isRightToLeft,[None] IUnknown* clientDrawingEffect) calls this callback function to get the measurement of the inline object. A structure describing the geometric measurement of an application-defined inline object. These metrics are in relation to the baseline of the adjacent text. HRESULT IDWriteInlineObject::GetMetrics([Out] DWRITE_INLINE_OBJECT_METRICS* metrics) TextLayout calls this callback function to get the visible extents (in DIPs) of the inline object. In the case of a simple bitmap, with no padding and no overhang, all the overhangs will simply be zeroes. Overshoot of visible extents (in DIPs) outside the object. HRESULT IDWriteInlineObject::GetOverhangMetrics([Out] DWRITE_OVERHANG_METRICS* overhangs) Layout uses this to determine the line-breaking behavior of the inline object among the text. When this method returns, contains a value which indicates the line-breaking condition between the object and the content immediately preceding it. When this method returns, contains a value which indicates the line-breaking condition between the object and the content immediately following it. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT IDWriteInlineObject::GetBreakConditions([Out] DWRITE_BREAK_CONDITION* breakConditionBefore,[Out] DWRITE_BREAK_CONDITION* breakConditionAfter) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

The application implemented rendering callback () can use this to draw the inline object without needing to cast or query the object type. The text layout does not call this method directly.

No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371225 HRESULT IDWriteInlineObject::Draw([In, Optional] void* clientDrawingContext,[In] IDWriteTextRenderer* renderer,[In] float originX,[In] float originY,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In, Optional] void* clientDrawingEffect) IDWriteInlineObject::Draw

calls this callback function to get the measurement of the inline object.

No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371232 HRESULT IDWriteInlineObject::GetMetrics([Out] DWRITE_INLINE_OBJECT_METRICS* metrics) IDWriteInlineObject::GetMetrics

calls this callback function to get the visible extents (in DIPs) of the inline object. In the case of a simple bitmap, with no padding and no overhang, all the overhangs will simply be zeroes.

The overhangs should be returned relative to the reported size of the object (see ), and should not be baseline adjusted.

No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371235 HRESULT IDWriteInlineObject::GetOverhangMetrics([Out] DWRITE_OVERHANG_METRICS* overhangs) IDWriteInlineObject::GetOverhangMetrics

Layout uses this to determine the line-breaking behavior of the inline object among the text.

When this method returns, contains a value which indicates the line-breaking condition between the object and the content immediately preceding it.

When this method returns, contains a value which indicates the line-breaking condition between the object and the content immediately following it.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371229 HRESULT IDWriteInlineObject::GetBreakConditions([Out] DWRITE_BREAK_CONDITION* breakConditionBefore,[Out] DWRITE_BREAK_CONDITION* breakConditionAfter) IDWriteInlineObject::GetBreakConditions
Internal InlineObject Callback Return a pointer to the unmanaged version of this callback. The callback. A pointer to a shadow c++ callback HRESULT IDWriteInlineObject::Draw([None] void* clientDrawingContext,[None] IDWriteTextRenderer* renderer,[None] float originX,[None] float originY,[None] BOOL isSideways,[None] BOOL isRightToLeft,[None] IUnknown* clientDrawingEffect) HRESULT IDWriteInlineObject::GetMetrics([Out] DWRITE_INLINE_OBJECT_METRICS* metrics) HRESULT IDWriteInlineObject::GetOverhangMetrics([Out] DWRITE_OVERHANG_METRICS* overhangs) HRESULT IDWriteInlineObject::GetBreakConditions([Out] DWRITE_BREAK_CONDITION* breakConditionBefore,[Out] DWRITE_BREAK_CONDITION* breakConditionAfter)

Line breakpoint characteristics of a character.

dd368098 DWRITE_LINE_BREAKPOINT DWRITE_LINE_BREAKPOINT
Indicates a breaking condition before the character. byte breakConditionBefore Indicates a breaking condition after the character. byte breakConditionAfter

Indicates a breaking condition before the character.

dd368098 unsigned char breakConditionBefore unsigned char breakConditionBefore

Indicates a breaking condition after the character.

dd368098 unsigned char breakConditionAfter unsigned char breakConditionAfter

Indicates that the character is some form of whitespace, which may be meaningful for justification.

dd368098 unsigned char isWhitespace unsigned char isWhitespace

Indicates that the character is a soft hyphen, often used to indicate hyphenation points inside words.

dd368098 unsigned char isSoftHyphen unsigned char isSoftHyphen

Reserved for future use.

dd368098 unsigned char padding unsigned char padding

A built-in implementation of the interface, that operates on local font files and exposes local font file information from the font file reference key. Font file references created using CreateFontFileReference use this font file loader.

dd371238 IDWriteLocalFontFileLoader IDWriteLocalFontFileLoader

Obtains the absolute font file path from the font file reference key.

The font file reference key that uniquely identifies the local font file within the scope of the font loader being used.

If this method succeeds, the absolute font file path from the font file reference key.

dd371241 HRESULT IDWriteLocalFontFileLoader::GetFilePathFromKey([In, Buffer] const void* fontFileReferenceKey,[In] unsigned int fontFileReferenceKeySize,[Out, Buffer] wchar_t* filePath,[In] unsigned int filePathSize) IDWriteLocalFontFileLoader::GetFilePathFromKey

Obtains the last write time of the file from the font file reference key.

The font file reference key that uniquely identifies the local font file within the scope of the font loader being used.

The time of the last font file modification.

dd371247 HRESULT IDWriteLocalFontFileLoader::GetLastWriteTimeFromKey([In, Buffer] const void* fontFileReferenceKey,[In] unsigned int fontFileReferenceKeySize,[Out] FILETIME* lastWriteTime) IDWriteLocalFontFileLoader::GetLastWriteTimeFromKey
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Obtains the length of the absolute file path from the font file reference key.

Font file reference key that uniquely identifies the local font file within the scope of the font loader being used.

Size of font file reference key in bytes.

Length of the file path string, not including the terminated null character.

dd371244 HRESULT IDWriteLocalFontFileLoader::GetFilePathLengthFromKey([In, Buffer] const void* fontFileReferenceKey,[In] unsigned int fontFileReferenceKeySize,[Out] unsigned int* filePathLength) IDWriteLocalFontFileLoader::GetFilePathLengthFromKey

Obtains the absolute font file path from the font file reference key.

The font file reference key that uniquely identifies the local font file within the scope of the font loader being used.

The size of font file reference key in bytes.

The character array that receives the local file path.

The length of the file path character array.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371241 HRESULT IDWriteLocalFontFileLoader::GetFilePathFromKey([In, Buffer] const void* fontFileReferenceKey,[In] unsigned int fontFileReferenceKeySize,[Out, Buffer] wchar_t* filePath,[In] unsigned int filePathSize) IDWriteLocalFontFileLoader::GetFilePathFromKey

Obtains the last write time of the file from the font file reference key.

The font file reference key that uniquely identifies the local font file within the scope of the font loader being used.

The size of font file reference key in bytes.

The time of the last font file modification.

dd371247 HRESULT IDWriteLocalFontFileLoader::GetLastWriteTimeFromKey([In, Buffer] const void* fontFileReferenceKey,[In] unsigned int fontFileReferenceKeySize,[Out] FILETIME* lastWriteTime) IDWriteLocalFontFileLoader::GetLastWriteTimeFromKey

Represents a collection of strings indexed by locale name.

The set of strings represented by an are indexed by a zero based UINT32 number that maps to a locale. The numeric index for a specific locale is retreived by using the FindLocaleName method.

A common use for the interface is to hold a list of localized font family names created by using the method. The following example shows how to get the family name for the "en-us" locale.

* pFamilyNames = null; // Get a list of localized strings for the family name.	
            if (SUCCEEDED(hr))	
            { hr = pFontFamily->GetFamilyNames(&pFamilyNames);	
            } UINT32 index = 0;	
             exists = false; wchar_t localeName[LOCALE_NAME_MAX_LENGTH]; if (SUCCEEDED(hr))	
            { // Get the default locale for this user. int defaultLocaleSuccess = GetUserDefaultLocaleName(localeName, LOCALE_NAME_MAX_LENGTH); // If the default locale is returned, find that locale name, otherwise use "en-us". if (defaultLocaleSuccess) { hr = pFamilyNames->FindLocaleName(localeName, &index, &exists); } if (SUCCEEDED(hr) && !exists) // if the above find did not find a match, retry with US English { hr = pFamilyNames->FindLocaleName(L"en-us", &index, &exists); }	
            } // If the specified locale doesn't exist, select the first on the list.	
            if (!exists) index = 0; UINT32 length = 0; // Get the string length.	
            if (SUCCEEDED(hr))	
            { hr = pFamilyNames->GetStringLength(index, &length);	
            } // Allocate a string big enough to hold the name.	
            wchar_t* name = new (std::nothrow) wchar_t[length+1];	
            if (name == null)	
            { hr = E_OUTOFMEMORY;	
            } // Get the family name.	
            if (SUCCEEDED(hr))	
            { hr = pFamilyNames->GetString(index, name, length+1);	
            }	
            
dd371250 IDWriteLocalizedStrings IDWriteLocalizedStrings
Get the locale name from the language. Zero-based index of the locale name to be retrieved. The locale name from the language HRESULT IDWriteLocalizedStrings::GetLocaleName([None] int index,[Out, Buffer] wchar_t* localeName,[None] int size) Get the string from the language/string pair. Zero-based index of the string from the language/string pair to be retrieved. The locale name from the language HRESULT IDWriteLocalizedStrings::GetLocaleName([None] int index,[Out, Buffer] wchar_t* localeName,[None] int size) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the number of language/string pairs.

dd371256 GetCount GetCount unsigned int IDWriteLocalizedStrings::GetCount()

Gets the number of language/string pairs.

The number of language/string pairs.

dd371256 unsigned int IDWriteLocalizedStrings::GetCount() IDWriteLocalizedStrings::GetCount

Gets the zero-based index of the locale name/string pair with the specified locale name.

A null-terminated array of characters containing the locale name to look for.

The zero-based index of the locale name/string pair. This method initializes index to UINT_MAX.

When this method returns, contains TRUE if the locale name exists; otherwise, . This method initializes exists to .

Note that if the locale name does not exist, the return value is a success and the exists parameter is . If you are getting the font family name for a font and the specified locale name does not exist, one option is to set the index to 0 as shown below. There is always at least one locale for a font family.

UINT32 index = 0;	
             exists = false; wchar_t localeName[LOCALE_NAME_MAX_LENGTH]; if (SUCCEEDED(hr))	
            { // Get the default locale for this user. int defaultLocaleSuccess = GetUserDefaultLocaleName(localeName, LOCALE_NAME_MAX_LENGTH); // If the default locale is returned, find that locale name, otherwise use "en-us". if (defaultLocaleSuccess) { hr = pFamilyNames->FindLocaleName(localeName, &index, &exists); } if (SUCCEEDED(hr) && !exists) // if the above find did not find a match, retry with US English { hr = pFamilyNames->FindLocaleName(L"en-us", &index, &exists); }	
            } // If the specified locale doesn't exist, select the first on the list.	
            if (!exists) index = 0;	
            
dd371254 HRESULT IDWriteLocalizedStrings::FindLocaleName([In] const wchar_t* localeName,[Out] unsigned int* index,[Out] BOOL* exists) IDWriteLocalizedStrings::FindLocaleName

Gets the length in characters (not including the null terminator) of the locale name with the specified index.

Zero-based index of the locale name to be retrieved.

When this method returns, contains the length in characters of the locale name, not including the null terminator.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371262 HRESULT IDWriteLocalizedStrings::GetLocaleNameLength([In] unsigned int index,[Out] unsigned int* length) IDWriteLocalizedStrings::GetLocaleNameLength

Copies the locale name with the specified index to the specified array.

Zero-based index of the locale name to be retrieved.

When this method returns, contains a character array, which is null-terminated, that receives the locale name from the language/string pair. The buffer allocated for this array must be at least the size of size, in element count.

The size of the array in characters. The size must include space for the terminating null character.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371259 HRESULT IDWriteLocalizedStrings::GetLocaleName([In] unsigned int index,[Out, Buffer] wchar_t* localeName,[In] unsigned int size) IDWriteLocalizedStrings::GetLocaleName

Gets the length in characters (not including the null terminator) of the string with the specified index.

A zero-based index of the language/string pair.

The length in characters of the string, not including the null terminator, from the language/string pair.

If this method succeeds, it returns . Otherwise, it returns an error code.

Use GetStringLength to get the string length before calling the method, as shown in the following code.

UINT32 length = 0; // Get the string length.	
            if (SUCCEEDED(hr))	
            { hr = pFamilyNames->GetStringLength(index, &length);	
            } // Allocate a string big enough to hold the name.	
            wchar_t* name = new (std::nothrow) wchar_t[length+1];	
            if (name == null)	
            { hr = E_OUTOFMEMORY;	
            } // Get the family name.	
            if (SUCCEEDED(hr))	
            { hr = pFamilyNames->GetString(index, name, length+1);	
            }	
            
dd371269 HRESULT IDWriteLocalizedStrings::GetStringLength([In] unsigned int index,[Out] unsigned int* length) IDWriteLocalizedStrings::GetStringLength

Copies the string with the specified index to the specified array.

The zero-based index of the language/string pair to be examined.

The null terminated array of characters that receives the string from the language/string pair. The buffer allocated for this array should be at least the size of size. GetStringLength can be used to get the size of the array before using this method.

The size of the array in characters. The size must include space for the terminating null character. GetStringLength can be used to get the size of the array before using this method.

If this method succeeds, it returns . Otherwise, it returns an error code.

The string returned must be allocated by the caller. You can get the size of the string by using the GetStringLength method prior to calling GetString, as shown in the following example.

UINT32 length = 0; // Get the string length.	
            if (SUCCEEDED(hr))	
            { hr = pFamilyNames->GetStringLength(index, &length);	
            } // Allocate a string big enough to hold the name.	
            wchar_t* name = new (std::nothrow) wchar_t[length+1];	
            if (name == null)	
            { hr = E_OUTOFMEMORY;	
            } // Get the family name.	
            if (SUCCEEDED(hr))	
            { hr = pFamilyNames->GetString(index, name, length+1);	
            }	
            
dd371267 HRESULT IDWriteLocalizedStrings::GetString([In] unsigned int index,[Out, Buffer] wchar_t* stringBuffer,[In] unsigned int size) IDWriteLocalizedStrings::GetString
The namespace provides a managed DirectWrite API. dd368038 DirectWrite DirectWrite

Holds the appropriate digits and numeric punctuation for a specified locale.

dd371271 IDWriteNumberSubstitution IDWriteNumberSubstitution
Creates a number substitution object using a locale name, substitution method, and an indicator whether to ignore user overrides (use NLS defaults for the given culture instead). A reference to a DirectWrite factory A value that specifies how to apply number substitution on digits and related punctuation. The name of the locale to be used in the numberSubstitution object. A Boolean flag that indicates whether to ignore user overrides. HRESULT IDWriteFactory::CreateNumberSubstitution([In] DWRITE_NUMBER_SUBSTITUTION_METHOD substitutionMethod,[In] const wchar_t* localeName,[In] BOOL ignoreUserOverride,[Out] IDWriteNumberSubstitution** numberSubstitution) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Defines the pixel snapping properties such as pixels per DIP(device-independent pixel) and the current transform matrix of a text renderer.

dd371274 IDWritePixelSnapping IDWritePixelSnapping
Determines whether pixel snapping is disabled. The recommended default is FALSE, unless doing animation that requires subpixel vertical placement. The context passed to IDWriteTextLayout::Draw. Receives TRUE if pixel snapping is disabled or FALSE if it not. HRESULT IsPixelSnappingDisabled([None] void* clientDrawingContext,[Out] BOOL* isDisabled) Gets a transform that maps abstract coordinates to DIPs. The drawing context passed to . a structure which has transform information for pixel snapping. HRESULT GetCurrentTransform([None] void* clientDrawingContext,[Out] DWRITE_MATRIX* transform) Gets the number of physical pixels per DIP. Because a DIP (device-independent pixel) is 1/96 inch, the pixelsPerDip value is the number of logical pixels per inch divided by 96. The drawing context passed to . the number of physical pixels per DIP HRESULT GetPixelsPerDip([None] void* clientDrawingContext,[Out] FLOAT* pixelsPerDip) Internal TessellationSink Callback Determines whether pixel snapping is disabled. The recommended default is FALSE, unless doing animation that requires subpixel vertical placement. This pointer The context passed to IDWriteTextLayout::Draw. Output disabled Receives TRUE if pixel snapping is disabled or FALSE if it not. HRESULT IsPixelSnappingDisabled([None] void* clientDrawingContext,[Out] BOOL* isDisabled) Gets a transform that maps abstract coordinates to DIPs. This pointer The drawing context passed to . Matrix transform a structure which has transform information for pixel snapping. HRESULT GetCurrentTransform([None] void* clientDrawingContext,[Out] DWRITE_MATRIX* transform) Gets the number of physical pixels per DIP. Because a DIP (device-independent pixel) is 1/96 inch, the pixelsPerDip value is the number of logical pixels per inch divided by 96. This pointer The drawing context passed to . Dip the number of physical pixels per DIP HRESULT GetPixelsPerDip([None] void* clientDrawingContext,[Out] FLOAT* pixelsPerDip)

Represents text rendering settings such as ClearType level, enhanced contrast, and gamma correction for glyph rasterization and filtering.

An application typically obtains a rendering parameters object by calling the method.

dd371285 IDWriteRenderingParams IDWriteRenderingParams
Creates a rendering parameters object with default settings for the primary monitor. Different monitors may have different rendering parameters, for more information see the {{How to Add Support for Multiple Monitors}} topic. A reference to a DirectWrite factory HRESULT IDWriteFactory::CreateRenderingParams([Out] IDWriteRenderingParams** renderingParams) Creates a rendering parameters object with default settings for the specified monitor. In most cases, this is the preferred way to create a rendering parameters object. A reference to a DirectWrite factory A handle for the specified monitor. HRESULT IDWriteFactory::CreateMonitorRenderingParams([None] void* monitor,[Out] IDWriteRenderingParams** renderingParams) Creates a rendering parameters object with the specified properties. A reference to a DirectWrite factory The gamma level to be set for the new rendering parameters object. The enhanced contrast level to be set for the new rendering parameters object. The ClearType level to be set for the new rendering parameters object. Represents the internal structure of a device pixel (that is, the physical arrangement of red, green, and blue color components) that is assumed for purposes of rendering text. A value that represents the method (for example, ClearType natural quality) for rendering glyphs. HRESULT IDWriteFactory::CreateCustomRenderingParams([None] float gamma,[None] float enhancedContrast,[None] float clearTypeLevel,[None] DWRITE_PIXEL_GEOMETRY pixelGeometry,[None] DWRITE_RENDERING_MODE renderingMode,[Out] IDWriteRenderingParams** renderingParams) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the gamma value used for gamma correction. Valid values must be greater than zero and cannot exceed 256.

The gamma value is used for gamma correction, which compensates for the non-linear luminosity response of most monitors.

dd371295 GetGamma GetGamma float IDWriteRenderingParams::GetGamma()

Gets the enhanced contrast property of the rendering parameters object. Valid values are greater than or equal to zero.

Enhanced contrast is the amount to increase the darkness of text, and typically ranges from 0 to 1. Zero means no contrast enhancement.

dd371290 GetEnhancedContrast GetEnhancedContrast float IDWriteRenderingParams::GetEnhancedContrast()

Gets the ClearType level of the rendering parameters object.

The ClearType level represents the amount of ClearType ? that is, the degree to which the red, green, and blue subpixels of each pixel are treated differently. Valid values range from zero (meaning no ClearType, which is equivalent to grayscale anti-aliasing) to one (meaning full ClearType)

dd371288 GetClearTypeLevel GetClearTypeLevel float IDWriteRenderingParams::GetClearTypeLevel()

Gets the pixel geometry of the rendering parameters object.

dd371297 GetPixelGeometry GetPixelGeometry DWRITE_PIXEL_GEOMETRY IDWriteRenderingParams::GetPixelGeometry()

Gets the rendering mode of the rendering parameters object.

By default, the rendering mode is initialized to , which means the rendering mode is determined automatically based on the font and size. To determine the recommended rendering mode to use for a given font and size and rendering parameters object, use the method.

dd371300 GetRenderingMode GetRenderingMode DWRITE_RENDERING_MODE IDWriteRenderingParams::GetRenderingMode()

Gets the gamma value used for gamma correction. Valid values must be greater than zero and cannot exceed 256.

Returns the gamma value used for gamma correction. Valid values must be greater than zero and cannot exceed 256.

The gamma value is used for gamma correction, which compensates for the non-linear luminosity response of most monitors.

dd371295 float IDWriteRenderingParams::GetGamma() IDWriteRenderingParams::GetGamma

Gets the enhanced contrast property of the rendering parameters object. Valid values are greater than or equal to zero.

Returns the amount of contrast enhancement. Valid values are greater than or equal to zero.

Enhanced contrast is the amount to increase the darkness of text, and typically ranges from 0 to 1. Zero means no contrast enhancement.

dd371290 float IDWriteRenderingParams::GetEnhancedContrast() IDWriteRenderingParams::GetEnhancedContrast

Gets the ClearType level of the rendering parameters object.

The ClearType level of the rendering parameters object.

The ClearType level represents the amount of ClearType ? that is, the degree to which the red, green, and blue subpixels of each pixel are treated differently. Valid values range from zero (meaning no ClearType, which is equivalent to grayscale anti-aliasing) to one (meaning full ClearType)

dd371288 float IDWriteRenderingParams::GetClearTypeLevel() IDWriteRenderingParams::GetClearTypeLevel

Gets the pixel geometry of the rendering parameters object.

A value that indicates the type of pixel geometry used in the rendering parameters object.

dd371297 DWRITE_PIXEL_GEOMETRY IDWriteRenderingParams::GetPixelGeometry() IDWriteRenderingParams::GetPixelGeometry

Gets the rendering mode of the rendering parameters object.

A value that indicates the rendering mode of the rendering parameters object.

By default, the rendering mode is initialized to , which means the rendering mode is determined automatically based on the font and size. To determine the recommended rendering mode to use for a given font and size and rendering parameters object, use the method.

dd371300 DWRITE_RENDERING_MODE IDWriteRenderingParams::GetRenderingMode() IDWriteRenderingParams::GetRenderingMode
Defines glyph characteristic information that an application needs to implement justification. Justification cannot be applied at the glyph. The glyph represents a blank in an Arabic run. An inter-character justification point follows the glyph. The glyph represents a blank outside an Arabic run. Normal middle-of-word glyph that connects to the right (begin). Kashida (U+0640) in the middle of the word. Final form of an alef-like (U+0627, U+0625, U+0623, U+0622). Final form of Ha (U+0647). Final form of Ra (U+0631). Final form of Ba (U+0628). Ligature of alike (U+0628,U+0631). Highest priority: initial shape of Seen class (U+0633). Highest priority: medial shape of Seen class (U+0633).

Contains shaping output properties for an output glyph.

dd368123 DWRITE_SHAPING_GLYPH_PROPERTIES DWRITE_SHAPING_GLYPH_PROPERTIES
Indicates that the glyph has justification applied. short justification

Indicates that the glyph has justification applied.

dd368123 unsigned short justification unsigned short justification

Indicates that the glyph is the start of a cluster.

dd368123 unsigned short isClusterStart unsigned short isClusterStart

Indicates that the glyph is a diacritic mark.

dd368123 unsigned short isDiacritic unsigned short isDiacritic

Indicates that the glyph is a word boundary with no visible space.

dd368123 unsigned short isZeroWidthSpace unsigned short isZeroWidthSpace

Reserved for future use.

dd368123 unsigned short reserved unsigned short reserved

This interface is implemented by the text analyzer's client to receive the output of a given text analysis.

The text analyzer disregards any current state of the analysis sink, therefore, a Set method call on a range overwrites the previously set analysis result of the same range.

dd371303 IDWriteTextAnalysisSink IDWriteTextAnalysisSink
Reports script analysis for the specified text range. The starting position from which to report. The number of UTF16 units of the reported range. A reference to a structure that contains a zero-based index representation of a writing system script and a value indicating whether additional shaping of text is required. A successful code or error code to stop analysis. HRESULT IDWriteTextAnalysisSink::SetScriptAnalysis([None] int textPosition,[None] int textLength,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis) Sets line-break opportunities for each character, starting from the specified position. The starting text position from which to report. The number of UTF16 units of the reported range. A reference to a structure that contains breaking conditions set for each character from the starting position to the end of the specified range. A successful code or error code to stop analysis. HRESULT IDWriteTextAnalysisSink::SetLineBreakpoints([None] int textPosition,[None] int textLength,[In, Buffer] const DWRITE_LINE_BREAKPOINT* lineBreakpoints) Sets a bidirectional level on the range, which is called once per run change (either explicit or resolved implicit). The starting position from which to report. The number of UTF16 units of the reported range. The explicit level from the paragraph reading direction and any embedded control codes RLE/RLO/LRE/LRO/PDF, which is determined before any additional rules. The final implicit level considering the explicit level and characters' natural directionality, after all Bidi rules have been applied. A successful code or error code to stop analysis. HRESULT IDWriteTextAnalysisSink::SetBidiLevel([None] int textPosition,[None] int textLength,[None] int explicitLevel,[None] int resolvedLevel) Sets the number substitution on the text range affected by the text analysis. The starting position from which to report. The number of UTF16 units of the reported range. An object that holds the appropriate digits and numeric punctuation for a given locale. Use to create this object. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT IDWriteTextAnalysisSink::SetNumberSubstitution([None] int textPosition,[None] int textLength,[None] IDWriteNumberSubstitution* numberSubstitution)

The interface you implement to receive the output of the text analyzers.

hh780424 IDWriteTextAnalysisSink1 IDWriteTextAnalysisSink1

The text analyzer calls back to this to report the actual orientation of each character for shaping and drawing.

The starting position to report from.

Number of UTF-16 units of the reported range.

A -typed value that specifies the angle of the glyphs within the text range (pass to to get the world relative transform).

The adjusted bidi level to be used by the client layout for reordering runs. This will differ from the resolved bidi level retrieved from the source for cases such as Arabic stacked top-to-bottom, where the glyphs are still shaped as RTL, but the runs are TTB along with any CJK or Latin.

Whether the glyphs are rotated on their side, which is the default case for CJK and the case stacked Latin

Whether the script should be shaped as right-to-left. For Arabic stacked top-to-bottom, even when the adjusted bidi level is coerced to an even level, this will still be true.

Returns a successful code or an error code to abort analysis.

Hh780425 HRESULT IDWriteTextAnalysisSink1::SetGlyphOrientation([In] unsigned int textPosition,[In] unsigned int textLength,[In] DWRITE_GLYPH_ORIENTATION_ANGLE glyphOrientationAngle,[In] unsigned char adjustedBidiLevel,[In] BOOL isSideways,[In] BOOL isRightToLeft) IDWriteTextAnalysisSink1::SetGlyphOrientation
Internal TextAnalysisSink1 Callback Return a pointer to the unmanaged version of this callback. The callback. A pointer to a shadow c++ callback HRESULT IDWriteTextAnalysisSink1::SetGlyphOrientation([In] unsigned int textPosition,[In] unsigned int textLength,[In] DWRITE_GLYPH_ORIENTATION_ANGLE glyphOrientationAngle,[In] unsigned char adjustedBidiLevel,[In] BOOL isSideways,[In] BOOL isRightToLeft) IDWriteTextAnalysisSink1::SetGlyphOrientation Internal TextAnalysisSink Callback Return a pointer to the unmanaged version of this callback. The callback. A pointer to a shadow c++ callback HRESULT IDWriteTextAnalysisSink::SetScriptAnalysis([None] int textPosition,[None] int textLength,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis) HRESULT IDWriteTextAnalysisSink::SetLineBreakpoints([None] int textPosition,[None] int textLength,[In, Buffer] const DWRITE_LINE_BREAKPOINT* lineBreakpoints) HRESULT IDWriteTextAnalysisSink::SetBidiLevel([None] int textPosition,[None] int textLength,[None] int explicitLevel,[None] int resolvedLevel) HRESULT IDWriteTextAnalysisSink::SetNumberSubstitution([None] int textPosition,[None] int textLength,[None] IDWriteNumberSubstitution* numberSubstitution)

Implemented by the text analyzer's client to provide text to the analyzer. It allows the separation between the logical view of text as a continuous stream of characters identifiable by unique text positions, and the actual memory layout of potentially discrete blocks of text in the client's backing store.

If any of these callbacks returns an error, then the analysis functions will stop prematurely and return a callback error. Note that rather than return E_NOTIMPL, an application should stub the method and return a constant/null and .

dd371318 IDWriteTextAnalysisSource IDWriteTextAnalysisSource
Gets a block of text starting at the specified text position. Returning NULL indicates the end of text, which is the position after the last character. This function is called iteratively for each consecutive block, tying together several fragmented blocks in the backing store into a virtual contiguous string. Although applications can implement sparse textual content that maps only part of the backing store, the application must map any text that is in the range passed to any analysis functions. The first position of the piece to obtain. All positions are in UTF16 code units, not whole characters, which matters when supplementary characters are used. a block of text HRESULT IDWriteTextAnalysisSource::GetTextAtPosition([None] int textPosition,[Out] const wchar_t** textString,[Out] int* textLength) Gets a block of text immediately preceding the specified position. NULL indicates no chunk available at the specified position, either because textPosition equals 0, textPosition is greater than the entire text content length, or the queried position is not mapped into the application's backing store. Although applications can implement sparse textual content that maps only part of the backing store, the application must map any text that is in the range passed to any analysis functions. The position immediately after the last position of the block of text to obtain. text immediately preceding the specified position HRESULT IDWriteTextAnalysisSource::GetTextBeforePosition([None] int textPosition,[Out] const wchar_t** textString,[Out] int* textLength) Gets the paragraph reading direction. The reading direction of the current paragraph. DWRITE_READING_DIRECTION IDWriteTextAnalysisSource::GetParagraphReadingDirection() Gets the locale name on the range affected by the text analysis. The text position to examine. Contains the length of the text being affected by the text analysis up to the next differing locale. the locale name on the range affected by the text analysis HRESULT IDWriteTextAnalysisSource::GetLocaleName([None] int textPosition,[Out] int* textLength,[Out] const wchar_t** localeName) The localeName reference must remain valid until the next call or until the analysis returns. Gets the number substitution from the text range affected by the text analysis. Any implementation should return the number substitution with an incremented reference count, and the analysis will release when finished with it (either before the next call or before it returns). However, the sink callback may hold onto it after that. The starting position from which to report. Contains the length of the text, in characters, remaining in the text range up to the next differing number substitution. the number substitution from the text range affected by the text analysis. HRESULT IDWriteTextAnalysisSource::GetNumberSubstitution([None] int textPosition,[Out] int* textLength,[Out] IDWriteNumberSubstitution** numberSubstitution)

The interface you implement to provide needed information to the text analyzer, like the text and associated text properties.

Note?? If any of these callbacks return an error, the analysis functions will stop prematurely and return a callback error.?
hh780426 IDWriteTextAnalysisSource1 IDWriteTextAnalysisSource1

Used by the text analyzer to obtain the desired glyph orientation and resolved bidi level.

The text position.

A reference to the text length.

A -typed value that specifies the desired kind of glyph orientation for the text.

A reference to the resolved bidi level.

Returning an error will abort the analysis.

The text analyzer calls back to this to get the desired glyph orientation and resolved bidi level, which it uses along with the script properties of the text to determine the actual orientation of each character, which it reports back to the client via the sink SetGlyphOrientation method.

Hh780427 HRESULT IDWriteTextAnalysisSource1::GetVerticalGlyphOrientation([In] unsigned int textPosition,[Out] unsigned int* textLength,[Out] DWRITE_VERTICAL_GLYPH_ORIENTATION* glyphOrientation,[Out] unsigned char* bidiLevel) IDWriteTextAnalysisSource1::GetVerticalGlyphOrientation
Internal TextAnalysisSource1 Callback Return a pointer to the unmanaged version of this callback. The callback. A pointer to a shadow c++ callback HRESULT IDWriteTextAnalysisSource1::GetVerticalGlyphOrientation([In] unsigned int textPosition,[Out] unsigned int* textLength,[Out] DWRITE_VERTICAL_GLYPH_ORIENTATION* glyphOrientation,[Out] unsigned char* bidiLevel) Internal TextAnalysisSource Callback Return a pointer to the unmanaged version of this callback. The callback. A pointer to a shadow c++ callback HRESULT IDWriteTextAnalysisSource::GetTextAtPosition([None] int textPosition,[Out] const wchar_t** textString,[Out] int* textLength) HRESULT IDWriteTextAnalysisSource::GetTextBeforePosition([None] int textPosition,[Out] const wchar_t** textString,[Out] int* textLength) DWRITE_READING_DIRECTION IDWriteTextAnalysisSource::GetParagraphReadingDirection() HRESULT IDWriteTextAnalysisSource::GetLocaleName([None] int textPosition,[Out] int* textLength,[Out] const wchar_t** localeName) HRESULT IDWriteTextAnalysisSource::GetNumberSubstitution([None] int textPosition,[Out] int* textLength,[Out] IDWriteNumberSubstitution** numberSubstitution)

Analyzes various text properties for complex script processing such as bidirectional (bidi) support for languages like Arabic, determination of line break opportunities, glyph placement, and number substitution.

dd316607 IDWriteTextAnalyzer IDWriteTextAnalyzer
Returns an interface for performing text analysis. A reference to a DirectWrite factory HRESULT IDWriteFactory::CreateTextAnalyzer([Out] IDWriteTextAnalyzer** textAnalyzer) Analyzes a text range for script boundaries, reading text attributes from the source and reporting the Unicode script ID to the sink callback {{SetScript}}. A reference to the source object to analyze. The starting text position within the source object. The text length to analyze. A reference to the sink callback object that receives the text analysis. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT IDWriteTextAnalyzer::AnalyzeScript([None] IDWriteTextAnalysisSource* analysisSource,[None] int textPosition,[None] int textLength,[None] IDWriteTextAnalysisSink* analysisSink) Analyzes a text range for script directionality, reading attributes from the source and reporting levels to the sink callback {{SetBidiLevel}}. A reference to a source object to analyze. The starting text position within the source object. The text length to analyze. A reference to the sink callback object that receives the text analysis. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT IDWriteTextAnalyzer::AnalyzeBidi([None] IDWriteTextAnalysisSource* analysisSource,[None] int textPosition,[None] int textLength,[None] IDWriteTextAnalysisSink* analysisSink) While the function can handle multiple paragraphs, the text range should not arbitrarily split the middle of paragraphs. Otherwise, the returned levels may be wrong, because the Bidi algorithm is meant to apply to the paragraph as a whole. Analyzes a text range for spans where number substitution is applicable, reading attributes from the source and reporting substitutable ranges to the sink callback {{SetNumberSubstitution}}. The source object to analyze. The starting position within the source object. The length to analyze. A reference to the sink callback object that receives the text analysis. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT IDWriteTextAnalyzer::AnalyzeNumberSubstitution([None] IDWriteTextAnalysisSource* analysisSource,[None] int textPosition,[None] int textLength,[None] IDWriteTextAnalysisSink* analysisSink) Although the function can handle multiple ranges of differing number substitutions, the text ranges should not arbitrarily split the middle of numbers. Otherwise, it will treat the numbers separately and will not translate any intervening punctuation. Analyzes a text range for potential breakpoint opportunities, reading attributes from the source and reporting breakpoint opportunities to the sink callback {{SetLineBreakpoints}}. A reference to the source object to analyze. The starting text position within the source object. The text length to analyze. A reference to the sink callback object that receives the text analysis. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT IDWriteTextAnalyzer::AnalyzeLineBreakpoints([None] IDWriteTextAnalysisSource* analysisSource,[None] int textPosition,[None] int textLength,[None] IDWriteTextAnalysisSink* analysisSink) Although the function can handle multiple paragraphs, the text range should not arbitrarily split the middle of paragraphs, unless the specified text span is considered a whole unit. Otherwise, the returned properties for the first and last characters will inappropriately allow breaks. Gets the glyphs (TODO doc) The text string. Length of the text. The font face. if set to true [is sideways]. if set to true [is right to left]. The script analysis. Name of the locale. The number substitution. The features. The feature range lengths. The max glyph count. The cluster map. The text props. The glyph indices. The glyph props. The actual glyph count. If the method succeeds, it returns . HRESULT IDWriteTextAnalyzer::GetGlyphs([In, Buffer] const wchar_t* textString,[In] unsigned int textLength,[In] IDWriteFontFace* fontFace,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Buffer, Optional] const wchar_t* localeName,[In, Optional] IDWriteNumberSubstitution* numberSubstitution,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[In] unsigned int maxGlyphCount,[Out, Buffer] unsigned short* clusterMap,[Out, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[Out, Buffer] unsigned short* glyphIndices,[Out, Buffer] DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[Out] unsigned int* actualGlyphCount) Gets the glyph placements. The text string. The cluster map. The text props. Length of the text. The glyph indices. The glyph props. The glyph count. The font face. Size of the font in ems. if set to true [is sideways]. if set to true [is right to left]. The script analysis. Name of the locale. The features. The feature range lengths. The glyph advances. The glyph offsets. If the method succeeds, it returns . HRESULT IDWriteTextAnalyzer::GetGlyphPlacements([In, Buffer] const wchar_t* textString,[In, Buffer] const unsigned short* clusterMap,[In, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[In] unsigned int textLength,[In, Buffer] const unsigned short* glyphIndices,[In, Buffer] const DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[In] unsigned int glyphCount,[In] IDWriteFontFace* fontFace,[In] float fontEmSize,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Buffer, Optional] const wchar_t* localeName,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[Out, Buffer] float* glyphAdvances,[Out, Buffer] DWRITE_GLYPH_OFFSET* glyphOffsets) Gets the GDI compatible glyph placements. The text string. The cluster map. The text props. Length of the text. The glyph indices. The glyph props. The glyph count. The font face. Size of the font em. The pixels per dip. The transform. if set to true [use GDI natural]. if set to true [is sideways]. if set to true [is right to left]. The script analysis. Name of the locale. The features. The feature range lengths. The glyph advances. The glyph offsets. If the method succeeds, it returns . HRESULT IDWriteTextAnalyzer::GetGdiCompatibleGlyphPlacements([In, Buffer] const wchar_t* textString,[In, Buffer] const unsigned short* clusterMap,[In, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[In] unsigned int textLength,[In, Buffer] const unsigned short* glyphIndices,[In, Buffer] const DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[In] unsigned int glyphCount,[In] IDWriteFontFace* fontFace,[In] float fontEmSize,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[In] BOOL useGdiNatural,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Buffer, Optional] const wchar_t* localeName,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[Out, Buffer] float* glyphAdvances,[Out, Buffer] DWRITE_GLYPH_OFFSET* glyphOffsets) Allocates the features from the jagged array.. The features. A pointer to the allocated native features or 0 if features is null or empty. Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Analyzes a text range for script boundaries, reading text attributes from the source and reporting the Unicode script ID to the sink callback SetScript.

No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd316620 HRESULT IDWriteTextAnalyzer::AnalyzeScript([In] IDWriteTextAnalysisSource* analysisSource,[In] unsigned int textPosition,[In] unsigned int textLength,[In] IDWriteTextAnalysisSink* analysisSink) IDWriteTextAnalyzer::AnalyzeScript

Analyzes a text range for script directionality, reading attributes from the source and reporting levels to the sink callback SetBidiLevel.

No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

While the function can handle multiple paragraphs, the text range should not arbitrarily split the middle of paragraphs. Otherwise, the returned levels may be wrong, because the Bidi algorithm is meant to apply to the paragraph as a whole.

dd316610 HRESULT IDWriteTextAnalyzer::AnalyzeBidi([In] IDWriteTextAnalysisSource* analysisSource,[In] unsigned int textPosition,[In] unsigned int textLength,[In] IDWriteTextAnalysisSink* analysisSink) IDWriteTextAnalyzer::AnalyzeBidi

Analyzes a text range for spans where number substitution is applicable, reading attributes from the source and reporting substitutable ranges to the sink callback SetNumberSubstitution.

No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

Although the function can handle multiple ranges of differing number substitutions, the text ranges should not arbitrarily split the middle of numbers. Otherwise, it will treat the numbers separately and will not translate any intervening punctuation.

dd316616 HRESULT IDWriteTextAnalyzer::AnalyzeNumberSubstitution([In] IDWriteTextAnalysisSource* analysisSource,[In] unsigned int textPosition,[In] unsigned int textLength,[In] IDWriteTextAnalysisSink* analysisSink) IDWriteTextAnalyzer::AnalyzeNumberSubstitution

Analyzes a text range for potential breakpoint opportunities, reading attributes from the source and reporting breakpoint opportunities to the sink callback SetLineBreakpoints.

No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

Although the function can handle multiple paragraphs, the text range should not arbitrarily split the middle of paragraphs, unless the specified text span is considered a whole unit. Otherwise, the returned properties for the first and last characters will inappropriately allow breaks.

dd316613 HRESULT IDWriteTextAnalyzer::AnalyzeLineBreakpoints([In] IDWriteTextAnalysisSource* analysisSource,[In] unsigned int textPosition,[In] unsigned int textLength,[In] IDWriteTextAnalysisSink* analysisSink) IDWriteTextAnalyzer::AnalyzeLineBreakpoints

Parses the input text string and maps it to the set of glyphs and associated glyph data according to the font and the writing system's rendering rules.

An array of characters to convert to glyphs.

The length of textString.

The font face that is the source of the output glyphs.

A Boolean flag set to TRUE if the text is intended to be drawn vertically.

A Boolean flag set to TRUE for right-to-left text.

A reference to a Script analysis result from an AnalyzeScript call.

The locale to use when selecting glyphs. For example the same character may map to different glyphs for ja-jp versus zh-chs. If this is null, then the default mapping based on the script is used.

A reference to an optional number substitution which selects the appropriate glyphs for digits and related numeric characters, depending on the results obtained from AnalyzeNumberSubstitution. Passing null indicates that no substitution is needed and that the digits should receive nominal glyphs.

An array of references to the sets of typographic features to use in each feature range.

The length of each feature range, in characters. The sum of all lengths should be equal to textLength.

The number of feature ranges.

The maximum number of glyphs that can be returned.

When this method returns, contains the mapping from character ranges to glyph ranges.

When this method returns, contains a reference to an array of structures that contains shaping properties for each character.

The output glyph indices.

When this method returns, contains a reference to an array of structures that contain shaping properties for each output glyph.

When this method returns, contains the actual number of glyphs returned if the call succeeds.

If this method succeeds, it returns . Otherwise, it returns an error code.

Note that the mapping from characters to glyphs is, in general, many-to-many. The recommended estimate for the per-glyph output buffers is (3 * textLength / 2 + 16). This is not guaranteed to be sufficient. The value of the actualGlyphCount parameter is only valid if the call succeeds. In the event that maxGlyphCount is not big enough, HRESULT_FROM_WIN32() will be returned. The application should allocate a larger buffer and try again.

dd316625 HRESULT IDWriteTextAnalyzer::GetGlyphs([In, Buffer] const wchar_t* textString,[In] unsigned int textLength,[In] IDWriteFontFace* fontFace,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Optional] const wchar_t* localeName,[In, Optional] IDWriteNumberSubstitution* numberSubstitution,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[In] unsigned int maxGlyphCount,[Out, Buffer] unsigned short* clusterMap,[Out, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[Out, Buffer] unsigned short* glyphIndices,[Out, Buffer] DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[Out] unsigned int* actualGlyphCount) IDWriteTextAnalyzer::GetGlyphs

Places glyphs output from the GetGlyphs method according to the font and the writing system's rendering rules.

No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd316622 HRESULT IDWriteTextAnalyzer::GetGlyphPlacements([In, Buffer] const wchar_t* textString,[In, Buffer] const unsigned short* clusterMap,[In, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[In] unsigned int textLength,[In, Buffer] const unsigned short* glyphIndices,[In, Buffer] const DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[In] unsigned int glyphCount,[In] IDWriteFontFace* fontFace,[In] float fontEmSize,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Optional] const wchar_t* localeName,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[Out, Buffer] float* glyphAdvances,[Out, Buffer] DWRITE_GLYPH_OFFSET* glyphOffsets) IDWriteTextAnalyzer::GetGlyphPlacements

Place glyphs output from the GetGlyphs method according to the font and the writing system's rendering rules.

No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd941790 HRESULT IDWriteTextAnalyzer::GetGdiCompatibleGlyphPlacements([In, Buffer] const wchar_t* textString,[In, Buffer] const unsigned short* clusterMap,[In, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[In] unsigned int textLength,[In, Buffer] const unsigned short* glyphIndices,[In, Buffer] const DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[In] unsigned int glyphCount,[In] IDWriteFontFace* fontFace,[In] float fontEmSize,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[In] BOOL useGdiNatural,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Optional] const wchar_t* localeName,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[Out, Buffer] float* glyphAdvances,[Out, Buffer] DWRITE_GLYPH_OFFSET* glyphOffsets) IDWriteTextAnalyzer::GetGdiCompatibleGlyphPlacements

Analyzes various text properties for complex script processing.

hh780428 IDWriteTextAnalyzer1 IDWriteTextAnalyzer1

Analyzes a text range for script orientation, reading text and attributes from the source and reporting results to the sink.

Source object to analyze.

Starting position within the source object.

Length to analyze.

Length to analyze.

If this method succeeds, it returns . Otherwise, it returns an error code.

Hh780429 HRESULT IDWriteTextAnalyzer1::AnalyzeVerticalGlyphOrientation([In] IDWriteTextAnalysisSource1* analysisSource,[In] unsigned int textPosition,[In] unsigned int textLength,[In] IDWriteTextAnalysisSink1* analysisSink) IDWriteTextAnalyzer1::AnalyzeVerticalGlyphOrientation
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Applies spacing between characters, properly adjusting glyph clusters and diacritics.

The spacing before each character, in reading order.

The spacing after each character, in reading order.

The minimum advance of each character, to prevent characters from becoming too thin or zero-width. This must be zero or greater.

The length of the clustermap and original text.

The number of glyphs.

Mapping from character ranges to glyph ranges.

The advance width of each glyph.

The offset of the origin of each glyph.

Properties of each glyph, from GetGlyphs.

The new advance width of each glyph.

The new offset of the origin of each glyph.

If this method succeeds, it returns . Otherwise, it returns an error code.

The input and output advances/offsets are allowed to alias the same array.

hh780430 HRESULT IDWriteTextAnalyzer1::ApplyCharacterSpacing([In] float leadingSpacing,[In] float trailingSpacing,[In] float minimumAdvanceWidth,[In] unsigned int textLength,[In] unsigned int glyphCount,[In, Buffer] const unsigned short* clusterMap,[In, Buffer] const float* glyphAdvances,[In, Buffer] const DWRITE_GLYPH_OFFSET* glyphOffsets,[In, Buffer] const DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProperties,[Out, Buffer] float* modifiedGlyphAdvances,[Out, Buffer] DWRITE_GLYPH_OFFSET* modifiedGlyphOffsets) IDWriteTextAnalyzer1::ApplyCharacterSpacing

Retrieves the given baseline from the font.

The font face to read.

A -typed value that specifies the baseline of interest.

Whether the baseline is vertical or horizontal.

Simulate the baseline if it is missing in the font.

Script analysis result from AnalyzeScript.

Note??You can pass an empty script analysis structure, like this scriptAnalysis = {};, and this method will return the default baseline. ?

The language of the run.

The baseline coordinate value in design units.

Whether the returned baseline exists in the font.

If this method succeeds, it returns . Otherwise, it returns an error code.

If the baseline does not exist in the font, it is not considered an error, but the function will return exists = false. You may then use heuristics to calculate the missing base, or, if the flag simulationAllowed is true, the function will compute a reasonable approximation for you.

hh780431 HRESULT IDWriteTextAnalyzer1::GetBaseline([In] IDWriteFontFace* fontFace,[In] DWRITE_BASELINE baseline,[In] BOOL isVertical,[In] BOOL isSimulationAllowed,[In] DWRITE_SCRIPT_ANALYSIS scriptAnalysis,[In, Optional] const wchar_t* localeName,[Out] int* baselineCoordinate,[Out] BOOL* exists) IDWriteTextAnalyzer1::GetBaseline

Analyzes a text range for script orientation, reading text and attributes from the source and reporting results to the sink callback SetGlyphOrientation.

No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

hh780429 HRESULT IDWriteTextAnalyzer1::AnalyzeVerticalGlyphOrientation([In] IDWriteTextAnalysisSource1* analysisSource,[In] unsigned int textPosition,[In] unsigned int textLength,[In] IDWriteTextAnalysisSink1* analysisSink) IDWriteTextAnalyzer1::AnalyzeVerticalGlyphOrientation

Returns 2x3 transform matrix for the respective angle to draw the glyph run.

A -typed value that specifies the angle that was reported into .

Whether the run's glyphs are sideways or not.

Returned transform.

If this method succeeds, it returns . Otherwise, it returns an error code.

The translation component of the transform returned is zero.

hh780432 HRESULT IDWriteTextAnalyzer1::GetGlyphOrientationTransform([In] DWRITE_GLYPH_ORIENTATION_ANGLE glyphOrientationAngle,[In] BOOL isSideways,[Out] DWRITE_MATRIX* transform) IDWriteTextAnalyzer1::GetGlyphOrientationTransform

Retrieves the properties for a given script.

The script for a run of text returned from .

A reference to a structure that describes info for the script.

Returns properties for the given script. If the script is invalid, it returns generic properties for the unknown script and E_INVALIDARG.

hh780435 HRESULT IDWriteTextAnalyzer1::GetScriptProperties([In] DWRITE_SCRIPT_ANALYSIS scriptAnalysis,[Out] DWRITE_SCRIPT_PROPERTIES* scriptProperties) IDWriteTextAnalyzer1::GetScriptProperties

Determines the complexity of text, and whether you need to call for full script shaping.

No documentation. No documentation. No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

Text is not simple if the characters are part of a script that has complex shaping requirements, require bidi analysis, combine with other characters, reside in the supplementary planes, or have glyphs that participate in standard OpenType features. The length returned will not split combining marks from their base characters.

hh780436 HRESULT IDWriteTextAnalyzer1::GetTextComplexity([In, Buffer] const wchar_t* textString,[In] unsigned int textLength,[In] IDWriteFontFace* fontFace,[Out] BOOL* isTextSimple,[In] unsigned int* textLengthRead,[Out, Buffer, Optional] unsigned short* glyphIndices) IDWriteTextAnalyzer1::GetTextComplexity

Retrieves justification opportunity information for each of the glyphs given the text and shaping glyph properties.

Font face that was used for shaping. This is mainly important for returning correct results of the kashida width.

May be null.

Font em size used for the glyph run.

Script of the text from the itemizer.

Length of the text.

Number of glyphs.

Characters used to produce the glyphs.

Clustermap produced from shaping.

Glyph properties produced from shaping.

A reference to a structure that receives info for the allowed justification expansion/compression for each glyph.

If this method succeeds, it returns . Otherwise, it returns an error code.

This function is called per-run, after shaping is done via the method.

Note??this function only supports natural metrics ().?
hh780433 HRESULT IDWriteTextAnalyzer1::GetJustificationOpportunities([In, Optional] IDWriteFontFace* fontFace,[In] float fontEmSize,[In] DWRITE_SCRIPT_ANALYSIS scriptAnalysis,[In] unsigned int textLength,[In] unsigned int glyphCount,[In, Buffer] const wchar_t* textString,[In, Buffer] const unsigned short* clusterMap,[In, Buffer] const DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProperties,[Out, Buffer] DWRITE_JUSTIFICATION_OPPORTUNITY* justificationOpportunities) IDWriteTextAnalyzer1::GetJustificationOpportunities

Justifies an array of glyph advances to fit the line width.

The line width.

The glyph count.

A reference to a structure that contains info for the allowed justification expansion/compression for each glyph. Get this info from .

An array of glyph advances.

An array of glyph offsets.

The returned array of justified glyph advances.

The returned array of justified glyph offsets.

If this method succeeds, it returns . Otherwise, it returns an error code.

You call JustifyGlyphAdvances after you call to collect all the opportunities, and JustifyGlyphAdvances spans across the entire line. The input and output arrays are allowed to alias each other, permitting in-place update.

hh780437 HRESULT IDWriteTextAnalyzer1::JustifyGlyphAdvances([In] float lineWidth,[In] unsigned int glyphCount,[In, Buffer] const DWRITE_JUSTIFICATION_OPPORTUNITY* justificationOpportunities,[In, Buffer] const float* glyphAdvances,[In, Buffer] const DWRITE_GLYPH_OFFSET* glyphOffsets,[Out, Buffer] float* justifiedGlyphAdvances,[Out, Buffer, Optional] DWRITE_GLYPH_OFFSET* justifiedGlyphOffsets) IDWriteTextAnalyzer1::JustifyGlyphAdvances

Fills in new glyphs for complex scripts where justification increased the advances of glyphs, such as Arabic with kashida.

Font face used for shaping.

May be null.

Font em size used for the glyph run.

Script of the text from the itemizer.

Length of the text.

Number of glyphs.

Maximum number of output glyphs allocated by caller.

Clustermap produced from shaping.

Original glyphs produced from shaping.

Original glyph advances produced from shaping.

Justified glyph advances from .

Justified glyph offsets from .

Properties of each glyph, from .

The new glyph count written to the modified arrays, or the needed glyph count if the size is not large enough.

Updated clustermap.

Updated glyphs with new glyphs inserted where needed.

Updated glyph advances.

Updated glyph offsets.

If this method succeeds, it returns . Otherwise, it returns an error code.

You call GetJustifiedGlyphs after the line has been justified, and it is per-run.

You should call GetJustifiedGlyphs if returns a non-null .justificationCharacter for that script.

Use GetJustifiedGlyphs mainly for cursive scripts like Arabic. If maxGlyphCount is not large enough, GetJustifiedGlyphs returns the error E_NOT_SUFFICIENT_BUFFER and fills the variable to which actualGlyphCount points with the needed glyph count.

hh780434 HRESULT IDWriteTextAnalyzer1::GetJustifiedGlyphs([In, Optional] IDWriteFontFace* fontFace,[In] float fontEmSize,[In] DWRITE_SCRIPT_ANALYSIS scriptAnalysis,[In] unsigned int textLength,[In] unsigned int glyphCount,[In] unsigned int maxGlyphCount,[In, Buffer, Optional] const unsigned short* clusterMap,[In, Buffer] const unsigned short* glyphIndices,[In, Buffer] const float* glyphAdvances,[In, Buffer] const float* justifiedGlyphAdvances,[In, Buffer] const DWRITE_GLYPH_OFFSET* justifiedGlyphOffsets,[In, Buffer] const DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProperties,[In] unsigned int* actualGlyphCount,[Out, Buffer, Optional] unsigned short* modifiedClusterMap,[Out, Buffer] unsigned short* modifiedGlyphIndices,[Out, Buffer] float* modifiedGlyphAdvances,[Out, Buffer] DWRITE_GLYPH_OFFSET* modifiedGlyphOffsets) IDWriteTextAnalyzer1::GetJustifiedGlyphs

The interface describes the font and paragraph properties used to format text, and it describes locale information.

To get a reference to the interface, the application must call the method as shown in the following code.

 if (SUCCEEDED(hr))	
            { hr = pDWriteFactory_->CreateTextFormat( L"Gabriola", null, , , , 72.0f, L"en-us", &pTextFormat_ );	
            } 

When creating an object using the CreateTextFormat function, the application specifies the font family, font collection, font weight, font size, and locale name for the text format.

These properties cannot be changed after the object is created. To change these properties, a new object must be created with the desired properties.

The interface is used to draw text with a single format

To draw text with multiple formats, or to use a custom text renderer, use the interface. enables the application to change the format for ranges of text within the string. The takes an object as a parameter and initially applies the format information to the entire string.

This object may not be thread-safe, and it may carry the state of text format change.

dd316628 IDWriteTextFormat IDWriteTextFormat
Creates a text format object used for text layout with normal weight, style and stretch. an instance of An array of characters that contains the name of the font family The logical size of the font in DIP ("device-independent pixel") units. A DIP equals 1/96 inch. HRESULT CreateTextFormat([In] const wchar* fontFamilyName,[None] IDWriteFontCollection* fontCollection,[None] DWRITE_FONT_WEIGHT fontWeight,[None] DWRITE_FONT_STYLE fontStyle,[None] DWRITE_FONT_STRETCH fontStretch,[None] FLOAT fontSize,[In] const wchar* localeName,[Out] IDWriteTextFormat** textFormat) Creates a text format object used for text layout with normal stretch. an instance of An array of characters that contains the name of the font family A value that indicates the font weight for the text object created by this method. A value that indicates the font style for the text object created by this method. The logical size of the font in DIP ("device-independent pixel") units. A DIP equals 1/96 inch. HRESULT CreateTextFormat([In] const wchar* fontFamilyName,[None] IDWriteFontCollection* fontCollection,[None] DWRITE_FONT_WEIGHT fontWeight,[None] DWRITE_FONT_STYLE fontStyle,[None] DWRITE_FONT_STRETCH fontStretch,[None] FLOAT fontSize,[In] const wchar* localeName,[Out] IDWriteTextFormat** textFormat) Creates a text format object used for text layout. an instance of An array of characters that contains the name of the font family A value that indicates the font weight for the text object created by this method. A value that indicates the font style for the text object created by this method. A value that indicates the font stretch for the text object created by this method. The logical size of the font in DIP ("device-independent pixel") units. A DIP equals 1/96 inch. HRESULT CreateTextFormat([In] const wchar* fontFamilyName,[None] IDWriteFontCollection* fontCollection,[None] DWRITE_FONT_WEIGHT fontWeight,[None] DWRITE_FONT_STYLE fontStyle,[None] DWRITE_FONT_STRETCH fontStretch,[None] FLOAT fontSize,[In] const wchar* localeName,[Out] IDWriteTextFormat** textFormat) Creates a text format object used for text layout. an instance of An array of characters that contains the name of the font family A pointer to a font collection object. When this is NULL, indicates the system font collection. A value that indicates the font weight for the text object created by this method. A value that indicates the font style for the text object created by this method. A value that indicates the font stretch for the text object created by this method. The logical size of the font in DIP ("device-independent pixel") units. A DIP equals 1/96 inch. HRESULT CreateTextFormat([In] const wchar* fontFamilyName,[None] IDWriteFontCollection* fontCollection,[None] DWRITE_FONT_WEIGHT fontWeight,[None] DWRITE_FONT_STYLE fontStyle,[None] DWRITE_FONT_STRETCH fontStretch,[None] FLOAT fontSize,[In] const wchar* localeName,[Out] IDWriteTextFormat** textFormat) Creates a text format object used for text layout. an instance of An array of characters that contains the name of the font family A pointer to a font collection object. When this is NULL, indicates the system font collection. A value that indicates the font weight for the text object created by this method. A value that indicates the font style for the text object created by this method. A value that indicates the font stretch for the text object created by this method. The logical size of the font in DIP ("device-independent pixel") units. A DIP equals 1/96 inch. An array of characters that contains the locale name. HRESULT CreateTextFormat([In] const wchar* fontFamilyName,[None] IDWriteFontCollection* fontCollection,[None] DWRITE_FONT_WEIGHT fontWeight,[None] DWRITE_FONT_STYLE fontStyle,[None] DWRITE_FONT_STRETCH fontStretch,[None] FLOAT fontSize,[In] const wchar* localeName,[Out] IDWriteTextFormat** textFormat) Gets a copy of the font family name. the current font family name. HRESULT IDWriteTextFormat::GetFontFamilyName([Out, Buffer] wchar_t* fontFamilyName,[None] int nameSize) Gets a copy of the locale name. the current locale name. HRESULT IDWriteTextFormat::GetLocaleName([Out, Buffer] wchar_t* localeName,[None] int nameSize)

Sets trimming options for text overflowing the layout width.

Text trimming options.

Application-defined omission sign. This parameter may be null. See for more information.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd316712 HRESULT IDWriteTextFormat::SetTrimming([In] const DWRITE_TRIMMING* trimmingOptions,[In] IDWriteInlineObject* trimmingSign) IDWriteTextFormat::SetTrimming
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets or sets the alignment option of text relative to the layout box's leading and trailing edge.

dd316681 GetTextAlignment / SetTextAlignment GetTextAlignment DWRITE_TEXT_ALIGNMENT IDWriteTextFormat::GetTextAlignment()

Gets or sets the alignment option of a paragraph which is relative to the top and bottom edges of a layout box.

dd316675 GetParagraphAlignment / SetParagraphAlignment GetParagraphAlignment DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextFormat::GetParagraphAlignment()

Gets or sets the word wrapping option.

dd316688 GetWordWrapping / SetWordWrapping GetWordWrapping DWRITE_WORD_WRAPPING IDWriteTextFormat::GetWordWrapping()

Gets or sets the current reading direction for text in a paragraph.

dd316678 GetReadingDirection / SetReadingDirection GetReadingDirection DWRITE_READING_DIRECTION IDWriteTextFormat::GetReadingDirection()

Gets or sets the direction that text lines flow.

dd316631 GetFlowDirection / SetFlowDirection GetFlowDirection DWRITE_FLOW_DIRECTION IDWriteTextFormat::GetFlowDirection()

Gets or sets the incremental tab stop position.

dd316655 GetIncrementalTabStop / SetIncrementalTabStop GetIncrementalTabStop float IDWriteTextFormat::GetIncrementalTabStop()

Gets the current font collection.

dd316633 GetFontCollection GetFontCollection HRESULT IDWriteTextFormat::GetFontCollection([Out] IDWriteFontCollection** fontCollection)

Gets the font weight of the text.

dd316652 GetFontWeight GetFontWeight DWRITE_FONT_WEIGHT IDWriteTextFormat::GetFontWeight()

Gets the font style of the text.

dd316649 GetFontStyle GetFontStyle DWRITE_FONT_STYLE IDWriteTextFormat::GetFontStyle()

Gets the font stretch of the text.

dd316646 GetFontStretch GetFontStretch DWRITE_FONT_STRETCH IDWriteTextFormat::GetFontStretch()

Gets the font size in DIP unites.

dd316643 GetFontSize GetFontSize float IDWriteTextFormat::GetFontSize()

Sets the alignment of text in a paragraph, relative to the leading and trailing edge of a layout box for a interface.

No documentation.

This method can return one of these values.

Return codeDescription

The method succeeded.

E_INVALIDARG

The textAlignment argument is invalid.

?

The text can be aligned to the leading or trailing edge of the layout box, or it can be centered. The following illustration shows text with the alignment set to , , and , respectively.

Note??The alignment is dependent on reading direction, the above is for left-to-right reading direction. For right-to-left reading direction it would be the opposite.?

See for more information.

dd316709 HRESULT IDWriteTextFormat::SetTextAlignment([In] DWRITE_TEXT_ALIGNMENT textAlignment) IDWriteTextFormat::SetTextAlignment

Sets the alignment option of a paragraph relative to the layout box's top and bottom edge.

The paragraph alignment option being set for a paragraph; see for more information.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd316702 HRESULT IDWriteTextFormat::SetParagraphAlignment([In] DWRITE_PARAGRAPH_ALIGNMENT paragraphAlignment) IDWriteTextFormat::SetParagraphAlignment

Sets the word wrapping option.

The word wrapping option being set for a paragraph; see for more information.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd316715 HRESULT IDWriteTextFormat::SetWordWrapping([In] DWRITE_WORD_WRAPPING wordWrapping) IDWriteTextFormat::SetWordWrapping

Sets the paragraph reading direction.

The text reading direction (for example, for languages, such as Arabic, that read from right to left) for a paragraph.

If this method succeeds, it returns . Otherwise, it returns an error code.

The reading direction and flow direction must always be set 90 degrees orthogonal to each other, or else you will get the error DWRITE_E_FLOWDIRECTIONCONFLICTS when you use layout functions like Draw or GetMetrics. So if you set a vertical reading direction (for example, to ), then you must also use SetFlowDirection to set the flow direction appropriately (for example, to ).

dd316705 HRESULT IDWriteTextFormat::SetReadingDirection([In] DWRITE_READING_DIRECTION readingDirection) IDWriteTextFormat::SetReadingDirection

Sets the paragraph flow direction.

The paragraph flow direction; see for more information.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd316691 HRESULT IDWriteTextFormat::SetFlowDirection([In] DWRITE_FLOW_DIRECTION flowDirection) IDWriteTextFormat::SetFlowDirection

Sets a fixed distance between two adjacent tab stops.

The fixed distance between two adjacent tab stops.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd316695 HRESULT IDWriteTextFormat::SetIncrementalTabStop([In] float incrementalTabStop) IDWriteTextFormat::SetIncrementalTabStop

Sets trimming options for text overflowing the layout width.

Text trimming options.

Application-defined omission sign. This parameter may be null. See for more information.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd316712 HRESULT IDWriteTextFormat::SetTrimming([In] const DWRITE_TRIMMING* trimmingOptions,[In, Optional] IDWriteInlineObject* trimmingSign) IDWriteTextFormat::SetTrimming

Sets the line spacing.

Specifies how line height is being determined; see for more information.

The line height, or distance between one baseline to another.

The distance from top of line to baseline. A reasonable ratio to lineSpacing is 80 percent.

If this method succeeds, it returns . Otherwise, it returns an error code.

For the default method, spacing depends solely on the content. For uniform spacing, the specified line height overrides the content.

dd316698 HRESULT IDWriteTextFormat::SetLineSpacing([In] DWRITE_LINE_SPACING_METHOD lineSpacingMethod,[In] float lineSpacing,[In] float baseline) IDWriteTextFormat::SetLineSpacing

Gets the alignment option of text relative to the layout box's leading and trailing edge.

Returns the text alignment option of the current paragraph.

dd316681 DWRITE_TEXT_ALIGNMENT IDWriteTextFormat::GetTextAlignment() IDWriteTextFormat::GetTextAlignment

Gets the alignment option of a paragraph which is relative to the top and bottom edges of a layout box.

A value that indicates the current paragraph alignment option.

dd316675 DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextFormat::GetParagraphAlignment() IDWriteTextFormat::GetParagraphAlignment

Gets the word wrapping option.

Returns the word wrapping option; see for more information.

dd316688 DWRITE_WORD_WRAPPING IDWriteTextFormat::GetWordWrapping() IDWriteTextFormat::GetWordWrapping

Gets the current reading direction for text in a paragraph.

A value that indicates the current reading direction for text in a paragraph.

dd316678 DWRITE_READING_DIRECTION IDWriteTextFormat::GetReadingDirection() IDWriteTextFormat::GetReadingDirection

Gets the direction that text lines flow.

The direction that text lines flow within their parent container. For example, indicates that text lines are placed from top to bottom.

dd316631 DWRITE_FLOW_DIRECTION IDWriteTextFormat::GetFlowDirection() IDWriteTextFormat::GetFlowDirection

Gets the incremental tab stop position.

The incremental tab stop value.

dd316655 float IDWriteTextFormat::GetIncrementalTabStop() IDWriteTextFormat::GetIncrementalTabStop

Gets the trimming options for text that overflows the layout box.

When this method returns, it contains a reference to a structure that holds the text trimming options for the overflowing text.

When this method returns, contains an address of a reference to a trimming omission sign. This parameter may be null.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd316684 HRESULT IDWriteTextFormat::GetTrimming([Out] DWRITE_TRIMMING* trimmingOptions,[Out] IDWriteInlineObject** trimmingSign) IDWriteTextFormat::GetTrimming

Gets the line spacing adjustment set for a multiline text paragraph.

A value that indicates how line height is determined.

When this method returns, contains the line height, or distance between one baseline to another.

When this method returns, contains the distance from top of line to baseline. A reasonable ratio to lineSpacing is 80 percent.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd316657 HRESULT IDWriteTextFormat::GetLineSpacing([Out] DWRITE_LINE_SPACING_METHOD* lineSpacingMethod,[Out] float* lineSpacing,[Out] float* baseline) IDWriteTextFormat::GetLineSpacing

Gets the current font collection.

When this method returns, contains an address of a reference to the font collection being used for the current text.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd316633 HRESULT IDWriteTextFormat::GetFontCollection([Out] IDWriteFontCollection** fontCollection) IDWriteTextFormat::GetFontCollection

Gets the length of the font family name.

The size of the character array, in character count, not including the terminated null character.

dd316640 unsigned int IDWriteTextFormat::GetFontFamilyNameLength() IDWriteTextFormat::GetFontFamilyNameLength

Gets a copy of the font family name.

When this method returns, contains a reference to a character array, which is null-terminated, that receives the current font family name. The buffer allocated for this array should be at least the size, in elements, of nameSize.

The size of the fontFamilyName character array, in character count, including the terminated null character. To find the size of fontFamilyName, use GetFontFamilyNameLength.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd316636 HRESULT IDWriteTextFormat::GetFontFamilyName([Out, Buffer] wchar_t* fontFamilyName,[In] unsigned int nameSize) IDWriteTextFormat::GetFontFamilyName

Gets the font weight of the text.

A value that indicates the type of weight (such as normal, bold, or black).

dd316652 DWRITE_FONT_WEIGHT IDWriteTextFormat::GetFontWeight() IDWriteTextFormat::GetFontWeight

Gets the font style of the text.

A value which indicates the type of font style (such as slope or incline).

dd316649 DWRITE_FONT_STYLE IDWriteTextFormat::GetFontStyle() IDWriteTextFormat::GetFontStyle

Gets the font stretch of the text.

A value which indicates the type of font stretch (such as normal or condensed).

dd316646 DWRITE_FONT_STRETCH IDWriteTextFormat::GetFontStretch() IDWriteTextFormat::GetFontStretch

Gets the font size in DIP unites.

The current font size in DIP units.

dd316643 float IDWriteTextFormat::GetFontSize() IDWriteTextFormat::GetFontSize

Gets the length of the locale name.

The size of the character array in character count, not including the terminated null character.

dd316674 unsigned int IDWriteTextFormat::GetLocaleNameLength() IDWriteTextFormat::GetLocaleNameLength

Gets a copy of the locale name.

Contains a character array that receives the current locale name.

The size of the character array, in character count, including the terminated null character. Use GetLocaleNameLength to get the size of the locale name character array.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd316659 HRESULT IDWriteTextFormat::GetLocaleName([Out, Buffer] wchar_t* localeName,[In] unsigned int nameSize) IDWriteTextFormat::GetLocaleName

The interface represents a block of text after it has been fully analyzed and formatted.

To get a reference to the interface, the application must call the method, as shown in the following code.

 // Create a text layout using the text format.	
            if (SUCCEEDED(hr))	
            {  rect; GetClientRect(hwnd_, &rect);  float width  = rect.right  / dpiScaleX_; float height = rect.bottom / dpiScaleY_; hr = pDWriteFactory_->CreateTextLayout( wszText_,      // The string to be laid out and formatted. cTextLength_,  // The length of the string. pTextFormat_,  // The text format to apply to the string (contains font information, etc). width,         // The width of the layout box. height,        // The height of the layout box. &pTextLayout_  // The  interface reference. );	
            } 

The interface allows the application to change the format for ranges of the text it represents, specified by a structure. The following example shows how to set the font weight for a text range.

 // Set the font weight to bold for the first 5 letters.	
             textRange = {0, 4}; if (SUCCEEDED(hr))	
            { hr = pTextLayout_->SetFontWeight(, textRange);	
            } 

also provides methods for adding strikethrough, underline, and inline objects to the text.

To draw the block of text represented by an object, Direct2D provides the method. To draw using a custom renderer implement an interface and call the method

dd316718 IDWriteTextLayout IDWriteTextLayout
Takes a string, text format, and associated constraints, and produces an object that represents the fully analyzed and formatted result. an instance of An array of characters that contains the string to create a new object from. This array must be of length stringLength and can contain embedded NULL characters. A pointer to an object that indicates the format to apply to the string. The width of the layout box. The height of the layout box. HRESULT CreateTextLayout([In, Buffer] const wchar* string,[None] UINT32 stringLength,[None] IDWriteTextFormat* textFormat,[None] FLOAT maxWidth,[None] FLOAT maxHeight,[Out] IDWriteTextLayout** textLayout) Create a Gdi Compatible TextLayout. Takes a string, format, and associated constraints, and produces an object representing the result, formatted for a particular display resolution and measuring mode. The resulting text layout should only be used for the intended resolution, and for cases where text scalability is desired {{CreateTextLayout}} should be used instead. an instance of An array of characters that contains the string to create a new object from. This array must be of length stringLength and can contain embedded NULL characters. The text formatting object to apply to the string. The width of the layout box. The height of the layout box. The number of physical pixels per DIP (device independent pixel). For example, if rendering onto a 96 DPI device pixelsPerDip is 1. If rendering onto a 120 DPI device pixelsPerDip is 1.25 (120/96). Instructs the text layout to use the same metrics as GDI bi-level text when set to FALSE. When set to TRUE, instructs the text layout to use the same metrics as text measured by GDI using a font created with CLEARTYPE_NATURAL_QUALITY. HRESULT IDWriteFactory::CreateGdiCompatibleTextLayout([In, Buffer] const wchar_t* string,[None] int stringLength,[None] IDWriteTextFormat* textFormat,[None] float layoutWidth,[None] float layoutHeight,[None] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[None] BOOL useGdiNatural,[Out] IDWriteTextLayout** textLayout) Create a GDI Compatible TextLayout. Takes a string, format, and associated constraints, and produces an object representing the result, formatted for a particular display resolution and measuring mode. The resulting text layout should only be used for the intended resolution, and for cases where text scalability is desired {{CreateTextLayout}} should be used instead. an instance of An array of characters that contains the string to create a new object from. This array must be of length stringLength and can contain embedded NULL characters. The text formatting object to apply to the string. The width of the layout box. The height of the layout box. The number of physical pixels per DIP (device independent pixel). For example, if rendering onto a 96 DPI device pixelsPerDip is 1. If rendering onto a 120 DPI device pixelsPerDip is 1.25 (120/96). An optional transform applied to the glyphs and their positions. This transform is applied after the scaling specifies the font size and pixels per DIP. Instructs the text layout to use the same metrics as GDI bi-level text when set to FALSE. When set to TRUE, instructs the text layout to use the same metrics as text measured by GDI using a font created with CLEARTYPE_NATURAL_QUALITY. HRESULT IDWriteFactory::CreateGdiCompatibleTextLayout([In, Buffer] const wchar_t* string,[None] int stringLength,[None] IDWriteTextFormat* textFormat,[None] float layoutWidth,[None] float layoutHeight,[None] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[None] BOOL useGdiNatural,[Out] IDWriteTextLayout** textLayout) Draws text using the specified client drawing context. To draw text with this method, a textLayout object needs to be created by the application using . After the textLayout object is obtained, the application calls the IDWriteTextLayout::Draw method to draw the text, decorations, and inline objects. The actual drawing is done through the callback interface passed in as the textRenderer argument; there, the corresponding DrawGlyphRun API is called. Pointer to the set of callback functions used to draw parts of a text string. The x-coordinate of the layout's left side. The y-coordinate of the layout's top side. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT Draw([None] void* clientDrawingContext,[None] IDWriteTextRenderer* renderer,[None] FLOAT originX,[None] FLOAT originY) Draws text using the specified client drawing context. To draw text with this method, a textLayout object needs to be created by the application using . After the textLayout object is obtained, the application calls the IDWriteTextLayout::Draw method to draw the text, decorations, and inline objects. The actual drawing is done through the callback interface passed in as the textRenderer argument; there, the corresponding DrawGlyphRun API is called. An application-defined drawing context. Pointer to the set of callback functions used to draw parts of a text string. The x-coordinate of the layout's left side. The y-coordinate of the layout's top side. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT Draw([None] void* clientDrawingContext,[None] IDWriteTextRenderer* renderer,[None] FLOAT originX,[None] FLOAT originY) Retrieves logical properties and measurements of each glyph cluster. If maxClusterCount is not large enough, then E_NOT_SUFFICIENT_BUFFER, which is equivalent to HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER), is returned and actualClusterCount is set to the number of clusters needed. Returns metrics, such as line-break or total advance width, for a glyph cluster. HRESULT IDWriteTextLayout::GetClusterMetrics([Out, Buffer, Optional] DWRITE_CLUSTER_METRICS* clusterMetrics,[None] int maxClusterCount,[Out] int* actualClusterCount) Sets the application-defined drawing effect. An , such as a color or gradient brush, can be set as a drawing effect if you are using the to draw text and that brush will be used to draw the specified range of text. This drawing effect is associated with the specified range and will be passed back to the application by way of the callback when the range is drawn at drawing time. Application-defined drawing effects that apply to the range. This data object will be passed back to the application's drawing callbacks for final rendering. The text range to which this change applies. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT IDWriteTextLayout::SetDrawingEffect([None] IUnknown* drawingEffect,[None] DWRITE_TEXT_RANGE textRange) Gets the application-defined drawing effect at the specified text position. The position of the text whose drawing effect is to be retrieved. a reference to the current application-defined drawing effect. Usually this effect is a foreground brush that is used in glyph drawing. HRESULT IDWriteTextLayout::GetDrawingEffect([None] int currentPosition,[Out] IUnknown** drawingEffect,[Out, Optional] DWRITE_TEXT_RANGE* textRange) Gets the application-defined drawing effect at the specified text position. The position of the text whose drawing effect is to be retrieved. Contains the range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the drawing effect. a reference to the current application-defined drawing effect. Usually this effect is a foreground brush that is used in glyph drawing. HRESULT IDWriteTextLayout::GetDrawingEffect([None] int currentPosition,[Out] IUnknown** drawingEffect,[Out, Optional] DWRITE_TEXT_RANGE* textRange) Gets the font collection associated with the text at the specified position. The position of the text to inspect. a reference to the current font collection. HRESULT IDWriteTextLayout::GetFontCollection([None] int currentPosition,[Out] IDWriteFontCollection** fontCollection,[Out, Optional] DWRITE_TEXT_RANGE* textRange) Gets the font family name of the text at the specified position. The position of the text to examine. the font family name HRESULT IDWriteTextLayout::GetFontFamilyName([None] int currentPosition,[Out, Buffer] wchar_t* fontFamilyName,[None] int nameSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) Gets the font family name of the text at the specified position. The position of the text to examine. The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the font family name. the font family name HRESULT IDWriteTextLayout::GetFontFamilyName([None] int currentPosition,[Out, Buffer] wchar_t* fontFamilyName,[None] int nameSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) Gets the font em height of the text at the specified position. The position of the text to inspect. The size of the font in ems of the text at the specified position. HRESULT IDWriteTextLayout::GetFontSize([None] int currentPosition,[Out] float* fontSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) Gets the font stretch of the text at the specified position. The position of the text to inspect. a value which indicates the type of font stretch (also known as width) being applied at the specified position. HRESULT IDWriteTextLayout::GetFontStretch([None] int currentPosition,[Out] DWRITE_FONT_STRETCH* fontStretch,[Out, Optional] DWRITE_TEXT_RANGE* textRange) Gets the font style (also known as slope) of the text at the specified position. The position of the text to inspect. a value which indicates the type of font style (also known as slope or incline) being applied at the specified position. HRESULT IDWriteTextLayout::GetFontStyle([None] int currentPosition,[Out] DWRITE_FONT_STYLE* fontStyle,[Out, Optional] DWRITE_TEXT_RANGE* textRange) Gets the font weight of the text at the specified position. The position of the text to inspect. a value which indicates the type of font weight being applied at the specified position. HRESULT IDWriteTextLayout::GetFontWeight([None] int currentPosition,[Out] DWRITE_FONT_WEIGHT* fontWeight,[Out, Optional] DWRITE_TEXT_RANGE* textRange) Gets the inline object at the specified position. The specified text position. an application-defined inline object. HRESULT IDWriteTextLayout::GetInlineObject([None] int currentPosition,[Out] IDWriteInlineObject** inlineObject,[Out, Optional] DWRITE_TEXT_RANGE* textRange) Retrieves the information about each individual text line of the text string. If maxLineCount is not large enough E_NOT_SUFFICIENT_BUFFER, which is equivalent to HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER), is returned and *actualLineCount is set to the number of lines needed. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT IDWriteTextLayout::GetLineMetrics([Out, Buffer, Optional] DWRITE_LINE_METRICS* lineMetrics,[None] int maxLineCount,[Out] int* actualLineCount) Gets the locale name of the text at the specified position. The position of the text to inspect. the locale name of the text at the specified position. HRESULT IDWriteTextLayout::GetLocaleName([None] int currentPosition,[Out, Buffer] wchar_t* localeName,[None] int nameSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) Gets the locale name of the text at the specified position. The position of the text to inspect. The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the locale name. the locale name of the text at the specified position. HRESULT IDWriteTextLayout::GetLocaleName([None] int currentPosition,[Out, Buffer] wchar_t* localeName,[None] int nameSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) Get the strikethrough presence of the text at the specified position. The position of the text to inspect. A Boolean flag that indicates whether strikethrough is present at the position indicated by currentPosition. HRESULT IDWriteTextLayout::GetStrikethrough([None] int currentPosition,[Out] BOOL* hasStrikethrough,[Out, Optional] DWRITE_TEXT_RANGE* textRange) Gets the typography setting of the text at the specified position. The position of the text to inspect. a reference to the current typography setting. HRESULT IDWriteTextLayout::GetTypography([None] int currentPosition,[Out] IDWriteTypography** typography,[Out, Optional] DWRITE_TEXT_RANGE* textRange) Gets the underline presence of the text at the specified position. The current text position. A Boolean flag that indicates whether underline is present at the position indicated by currentPosition. HRESULT IDWriteTextLayout::GetUnderline([None] int currentPosition,[Out] BOOL* hasUnderline,[Out, Optional] DWRITE_TEXT_RANGE* textRange) The application calls this function to get a set of hit-test metrics corresponding to a range of text positions. One of the main usages is to implement highlight selection of the text string. The function returns E_NOT_SUFFICIENT_BUFFER, which is equivalent to HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER), when the buffer size of hitTestMetrics is too small to hold all the regions calculated by the function. In this situation, the function sets the output value *actualHitTestMetricsCount to the number of geometries calculated. The application is responsible for allocating a new buffer of greater size and calling the function again. A good value to use as an initial value for maxHitTestMetricsCount may be calculated from the following equation: maxHitTestMetricsCount = lineCount * maxBidiReorderingDepth where lineCount is obtained from the value of the output argument *actualLineCount (from the function IDWriteTextLayout::GetLineLengths), and the maxBidiReorderingDepth value from the DWRITE_TEXT_METRICS structure of the output argument *textMetrics (from the function IDWriteFactory::CreateTextLayout). The first text position of the specified range. The number of positions of the specified range. The origin pixel location X at the left of the layout box. This offset is added to the hit-test metrics returned. The origin pixel location Y at the top of the layout box. This offset is added to the hit-test metrics returned. a reference to a buffer of the output geometry fully enclosing the specified position range. The buffer must be at least as large as maxHitTestMetricsCount. HRESULT IDWriteTextLayout::HitTestTextRange([None] int textPosition,[None] int textLength,[None] float originX,[None] float originY,[Out, Buffer, Optional] DWRITE_HIT_TEST_METRICS* hitTestMetrics,[None] int maxHitTestMetricsCount,[Out] int* actualHitTestMetricsCount) Sets the inline object. The application may call this function to specify the set of properties describing an application-defined inline object for specific range. This inline object applies to the specified range and will be passed back to the application by way of the DrawInlineObject callback when the range is drawn. Any text in that range will be suppressed. An application-defined inline object. Text range to which this change applies. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT IDWriteTextLayout::SetInlineObject([None] IDWriteInlineObject* inlineObject,[None] DWRITE_TEXT_RANGE textRange) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets or sets the layout maximum width.

dd316781 GetMaxWidth / SetMaxWidth GetMaxWidth float IDWriteTextLayout::GetMaxWidth()

Gets or sets the layout maximum height.

dd316776 GetMaxHeight / SetMaxHeight GetMaxHeight float IDWriteTextLayout::GetMaxHeight()

Retrieves overall metrics for the formatted string.

dd316785 GetMetrics GetMetrics HRESULT IDWriteTextLayout::GetMetrics([Out] DWRITE_TEXT_METRICS* textMetrics)

Returns the overhangs (in DIPs) of the layout and all objects contained in it, including text glyphs and inline objects.

Underlines and strikethroughs do not contribute to the black box determination, since these are actually drawn by the renderer, which is allowed to draw them in any variety of styles.

dd316790 GetOverhangMetrics GetOverhangMetrics HRESULT IDWriteTextLayout::GetOverhangMetrics([Out] DWRITE_OVERHANG_METRICS* overhangs)

Sets the layout maximum width.

A value that indicates the maximum width of the layout box.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371511 HRESULT IDWriteTextLayout::SetMaxWidth([In] float maxWidth) IDWriteTextLayout::SetMaxWidth

Sets the layout maximum height.

A value that indicates the maximum height of the layout box.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371507 HRESULT IDWriteTextLayout::SetMaxHeight([In] float maxHeight) IDWriteTextLayout::SetMaxHeight

Sets the font collection.

The font collection to set.

Text range to which this change applies.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371481 HRESULT IDWriteTextLayout::SetFontCollection([In] IDWriteFontCollection* fontCollection,[In] DWRITE_TEXT_RANGE textRange) IDWriteTextLayout::SetFontCollection

Sets null-terminated font family name for text within a specified text range.

The font family name that applies to the entire text string within the range specified by textRange.

Text range to which this change applies.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371487 HRESULT IDWriteTextLayout::SetFontFamilyName([In] const wchar_t* fontFamilyName,[In] DWRITE_TEXT_RANGE textRange) IDWriteTextLayout::SetFontFamilyName

Sets the font weight for text within a text range specified by a structure.

No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

The font weight can be set to one of the predefined font weight values provided in the enumeration or an integer from 1 to 999. Values outside this range will cause the method to fail with an E_INVALIDARG return value.

The following illustration shows an example of Normal and UltraBold weights for the Palatino Linotype typeface.

dd371498 HRESULT IDWriteTextLayout::SetFontWeight([In] DWRITE_FONT_WEIGHT fontWeight,[In] DWRITE_TEXT_RANGE textRange) IDWriteTextLayout::SetFontWeight

Sets the font style for text within a text range specified by a structure.

No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

The font style can be set to Normal, Italic or Oblique. The following illustration shows three styles for the Palatino font. For more information, see .

dd371495 HRESULT IDWriteTextLayout::SetFontStyle([In] DWRITE_FONT_STYLE fontStyle,[In] DWRITE_TEXT_RANGE textRange) IDWriteTextLayout::SetFontStyle

Sets the font stretch for text within a specified text range.

A value which indicates the type of font stretch for text within the range specified by textRange.

Text range to which this change applies.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371493 HRESULT IDWriteTextLayout::SetFontStretch([In] DWRITE_FONT_STRETCH fontStretch,[In] DWRITE_TEXT_RANGE textRange) IDWriteTextLayout::SetFontStretch

Sets the font size in DIP units for text within a specified text range.

The font size in DIP units to be set for text in the range specified by textRange.

Text range to which this change applies.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371490 HRESULT IDWriteTextLayout::SetFontSize([In] float fontSize,[In] DWRITE_TEXT_RANGE textRange) IDWriteTextLayout::SetFontSize

The interface represents a block of text after it has been fully analyzed and formatted.

No documentation. No documentation. No documentation.

To get a reference to the interface, the application must call the method, as shown in the following code.

 // Create a text layout using the text format.	
            if (SUCCEEDED(hr))	
            {  rect; GetClientRect(hwnd_, &rect);  float width  = rect.right  / dpiScaleX_; float height = rect.bottom / dpiScaleY_; hr = pDWriteFactory_->CreateTextLayout( wszText_,      // The string to be laid out and formatted. cTextLength_,  // The length of the string. pTextFormat_,  // The text format to apply to the string (contains font information, etc). width,         // The width of the layout box. height,        // The height of the layout box. &pTextLayout_  // The  interface reference. );	
            } 

The interface allows the application to change the format for ranges of the text it represents, specified by a structure. The following example shows how to set the font weight for a text range.

 // Set the font weight to bold for the first 5 letters.	
             textRange = {0, 4}; if (SUCCEEDED(hr))	
            { hr = pTextLayout_->SetFontWeight(, textRange);	
            } 

also provides methods for adding strikethrough, underline, and inline objects to the text.

To draw the block of text represented by an object, Direct2D provides the method. To draw using a custom renderer implement an interface and call the method

dd316718 HRESULT IDWriteTextLayout::SetUnderline([In] BOOL hasUnderline,[In] DWRITE_TEXT_RANGE textRange) IDWriteTextLayout::SetUnderline

Sets strikethrough for text within a specified text range.

A Boolean flag that indicates whether strikethrough takes place in the range specified by textRange.

Text range to which this change applies.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371514 HRESULT IDWriteTextLayout::SetStrikethrough([In] BOOL hasStrikethrough,[In] DWRITE_TEXT_RANGE textRange) IDWriteTextLayout::SetStrikethrough

Sets the application-defined drawing effect.

Application-defined drawing effects that apply to the range. This data object will be passed back to the application's drawing callbacks for final rendering.

The text range to which this change applies.

If this method succeeds, it returns . Otherwise, it returns an error code.

An , such as a color or gradient brush, can be set as a drawing effect if you are using the to draw text and that brush will be used to draw the specified range of text.

This drawing effect is associated with the specified range and will be passed back to the application by way of the callback when the range is drawn at drawing time.

dd371477 HRESULT IDWriteTextLayout::SetDrawingEffect([In] void* drawingEffect,[In] DWRITE_TEXT_RANGE textRange) IDWriteTextLayout::SetDrawingEffect

Sets the inline object.

An application-defined inline object.

Text range to which this change applies.

If this method succeeds, it returns . Otherwise, it returns an error code.

The application may call this function to specify the set of properties describing an application-defined inline object for specific range.

This inline object applies to the specified range and will be passed back to the application by way of the DrawInlineObject callback when the range is drawn. Any text in that range will be suppressed.

dd371500 HRESULT IDWriteTextLayout::SetInlineObject([In] IDWriteInlineObject* inlineObject,[In] DWRITE_TEXT_RANGE textRange) IDWriteTextLayout::SetInlineObject

Sets font typography features for text within a specified text range.

Pointer to font typography settings.

Text range to which this change applies.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371517 HRESULT IDWriteTextLayout::SetTypography([In] IDWriteTypography* typography,[In] DWRITE_TEXT_RANGE textRange) IDWriteTextLayout::SetTypography

Sets the locale name for text within a specified text range.

A null-terminated locale name string.

Text range to which this change applies.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371503 HRESULT IDWriteTextLayout::SetLocaleName([In] const wchar_t* localeName,[In] DWRITE_TEXT_RANGE textRange) IDWriteTextLayout::SetLocaleName

Gets the layout maximum width.

Returns the layout maximum width.

dd316781 float IDWriteTextLayout::GetMaxWidth() IDWriteTextLayout::GetMaxWidth

Gets the layout maximum height.

The layout maximum height.

dd316776 float IDWriteTextLayout::GetMaxHeight() IDWriteTextLayout::GetMaxHeight

Gets the font collection associated with the text at the specified position.

The position of the text to inspect.

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the underline.

Contains an address of a reference to the current font collection.

dd316735 HRESULT IDWriteTextLayout::GetFontCollection([In] unsigned int currentPosition,[Out] IDWriteFontCollection** fontCollection,[Out, Optional] DWRITE_TEXT_RANGE* textRange) IDWriteTextLayout::GetFontCollection

Get the length of the font family name at the current position.

The current text position.

When this method returns, contains the size of the character array containing the font family name, in character count, not including the terminated null character.

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the font family.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd316741 HRESULT IDWriteTextLayout::GetFontFamilyNameLength([In] unsigned int currentPosition,[Out] unsigned int* nameLength,[Out, Optional] DWRITE_TEXT_RANGE* textRange) IDWriteTextLayout::GetFontFamilyNameLength

Copies the font family name of the text at the specified position.

The position of the text to examine.

When this method returns, contains an array of characters that receives the current font family name. You must allocate storage for this parameter.

The size of the character array in character count including the terminated null character.

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the font family name.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd316738 HRESULT IDWriteTextLayout::GetFontFamilyName([In] unsigned int currentPosition,[Out, Buffer] wchar_t* fontFamilyName,[In] unsigned int nameSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) IDWriteTextLayout::GetFontFamilyName

Gets the font weight of the text at the specified position.

The position of the text to inspect.

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the font weight.

When this method returns, contains a value which indicates the type of font weight being applied at the specified position.

dd316753 HRESULT IDWriteTextLayout::GetFontWeight([In] unsigned int currentPosition,[Out] DWRITE_FONT_WEIGHT* fontWeight,[Out, Optional] DWRITE_TEXT_RANGE* textRange) IDWriteTextLayout::GetFontWeight

Gets the font style (also known as slope) of the text at the specified position.

The position of the text to inspect.

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the font style.

When this method returns, contains a value which indicates the type of font style (also known as slope or incline) being applied at the specified position.

dd316750 HRESULT IDWriteTextLayout::GetFontStyle([In] unsigned int currentPosition,[Out] DWRITE_FONT_STYLE* fontStyle,[Out, Optional] DWRITE_TEXT_RANGE* textRange) IDWriteTextLayout::GetFontStyle

Gets the font stretch of the text at the specified position.

The position of the text to inspect.

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the font stretch.

When this method returns, contains a value which indicates the type of font stretch (also known as width) being applied at the specified position.

dd316747 HRESULT IDWriteTextLayout::GetFontStretch([In] unsigned int currentPosition,[Out] DWRITE_FONT_STRETCH* fontStretch,[Out, Optional] DWRITE_TEXT_RANGE* textRange) IDWriteTextLayout::GetFontStretch

Gets the font em height of the text at the specified position.

The position of the text to inspect.

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the font size.

When this method returns, contains the size of the font in ems of the text at the specified position.

dd316745 HRESULT IDWriteTextLayout::GetFontSize([In] unsigned int currentPosition,[Out] float* fontSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) IDWriteTextLayout::GetFontSize

Gets the underline presence of the text at the specified position.

The current text position.

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the underline.

A Boolean flag that indicates whether underline is present at the position indicated by currentPosition.

dd371463 HRESULT IDWriteTextLayout::GetUnderline([In] unsigned int currentPosition,[Out] BOOL* hasUnderline,[Out, Optional] DWRITE_TEXT_RANGE* textRange) IDWriteTextLayout::GetUnderline

Get the strikethrough presence of the text at the specified position.

The position of the text to inspect.

Contains the range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to strikethrough.

A Boolean flag that indicates whether strikethrough is present at the position indicated by currentPosition.

dd316793 HRESULT IDWriteTextLayout::GetStrikethrough([In] unsigned int currentPosition,[Out] BOOL* hasStrikethrough,[Out, Optional] DWRITE_TEXT_RANGE* textRange) IDWriteTextLayout::GetStrikethrough

Gets the application-defined drawing effect at the specified text position.

The position of the text whose drawing effect is to be retrieved.

Contains the range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the drawing effect.

When this method returns, contains an address of a reference to the current application-defined drawing effect. Usually this effect is a foreground brush that is used in glyph drawing.

dd316732 HRESULT IDWriteTextLayout::GetDrawingEffect([In] unsigned int currentPosition,[Out] void** drawingEffect,[Out, Optional] DWRITE_TEXT_RANGE* textRange) IDWriteTextLayout::GetDrawingEffect

Gets the inline object at the specified position.

The specified text position.

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the inline object.

Contains the application-defined inline object.

dd316758 HRESULT IDWriteTextLayout::GetInlineObject([In] unsigned int currentPosition,[Out] IDWriteInlineObject** inlineObject,[Out, Optional] DWRITE_TEXT_RANGE* textRange) IDWriteTextLayout::GetInlineObject

Gets the typography setting of the text at the specified position.

The position of the text to inspect.

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the typography.

When this method returns, contains an address of a reference to the current typography setting.

dd371459 HRESULT IDWriteTextLayout::GetTypography([In] unsigned int currentPosition,[Out] IDWriteTypography** typography,[Out, Optional] DWRITE_TEXT_RANGE* textRange) IDWriteTextLayout::GetTypography

Gets the length of the locale name of the text at the specified position.

The position of the text to inspect.

Size of the character array, in character count, not including the terminated null character.

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the locale name.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd316771 HRESULT IDWriteTextLayout::GetLocaleNameLength([In] unsigned int currentPosition,[Out] unsigned int* nameLength,[Out, Optional] DWRITE_TEXT_RANGE* textRange) IDWriteTextLayout::GetLocaleNameLength

Gets the locale name of the text at the specified position.

The position of the text to inspect.

When this method returns, contains the character array receiving the current locale name.

Size of the character array, in character count, including the terminated null character.

The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the locale name.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd316767 HRESULT IDWriteTextLayout::GetLocaleName([In] unsigned int currentPosition,[Out, Buffer] wchar_t* localeName,[In] unsigned int nameSize,[Out, Optional] DWRITE_TEXT_RANGE* textRange) IDWriteTextLayout::GetLocaleName

Draws text using the specified client drawing context.

An application-defined drawing context.

Pointer to the set of callback functions used to draw parts of a text string.

The x-coordinate of the layout's left side.

The y-coordinate of the layout's top side.

If this method succeeds, it returns . Otherwise, it returns an error code.

To draw text with this method, a textLayout object needs to be created by the application using .

After the textLayout object is obtained, the application calls the method to draw the text, decorations, and inline objects. The actual drawing is done through the callback interface passed in as the textRenderer argument; there, the corresponding DrawGlyphRun API is called.

If you set a vertical text reading direction on via SetReadingDirection with (or bottom to top), then you must pass an interface that implements . Otherwise you get the error DWRITE_E_TEXTRENDERERINCOMPATIBLE because the original interface only supported horizontal text.

dd316726 HRESULT IDWriteTextLayout::Draw([In, Optional] void* clientDrawingContext,[In] IDWriteTextRenderer* renderer,[In] float originX,[In] float originY) IDWriteTextLayout::Draw

Retrieves the information about each individual text line of the text string.

When this method returns, contains a reference to an array of structures containing various calculated length values of individual text lines.

The maximum size of the lineMetrics array.

When this method returns, contains the actual size of the lineMetrics array that is needed.

If this method succeeds, it returns . Otherwise, it returns an error code.

If maxLineCount is not large enough E_NOT_SUFFICIENT_BUFFER, which is equivalent to HRESULT_FROM_WIN32(), is returned and *actualLineCount is set to the number of lines needed.

dd316763 HRESULT IDWriteTextLayout::GetLineMetrics([Out, Buffer, Optional] DWRITE_LINE_METRICS* lineMetrics,[In] unsigned int maxLineCount,[Out] unsigned int* actualLineCount) IDWriteTextLayout::GetLineMetrics

Retrieves overall metrics for the formatted string.

When this method returns, contains the measured distances of text and associated content after being formatted.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd316785 HRESULT IDWriteTextLayout::GetMetrics([Out] DWRITE_TEXT_METRICS* textMetrics) IDWriteTextLayout::GetMetrics

Returns the overhangs (in DIPs) of the layout and all objects contained in it, including text glyphs and inline objects.

Overshoots of visible extents (in DIPs) outside the layout.

If this method succeeds, it returns . Otherwise, it returns an error code.

Underlines and strikethroughs do not contribute to the black box determination, since these are actually drawn by the renderer, which is allowed to draw them in any variety of styles.

dd316790 HRESULT IDWriteTextLayout::GetOverhangMetrics([Out] DWRITE_OVERHANG_METRICS* overhangs) IDWriteTextLayout::GetOverhangMetrics

Retrieves logical properties and measurements of each glyph cluster.

When this method returns, contains metrics, such as line-break or total advance width, for a glyph cluster.

The maximum size of the clusterMetrics array.

When this method returns, contains the actual size of the clusterMetrics array that is needed.

If this method succeeds, it returns . Otherwise, it returns an error code.

If maxClusterCount is not large enough, then E_NOT_SUFFICIENT_BUFFER, which is equivalent to HRESULT_FROM_WIN32(), is returned and actualClusterCount is set to the number of clusters needed.

dd316729 HRESULT IDWriteTextLayout::GetClusterMetrics([Out, Buffer, Optional] DWRITE_CLUSTER_METRICS* clusterMetrics,[In] unsigned int maxClusterCount,[Out] unsigned int* actualClusterCount) IDWriteTextLayout::GetClusterMetrics

Determines the minimum possible width the layout can be set to without emergency breaking between the characters of whole words occurring.

Minimum width.

dd316723 HRESULT IDWriteTextLayout::DetermineMinWidth([Out] float* minWidth) IDWriteTextLayout::DetermineMinWidth

The application calls this function passing in a specific pixel location relative to the top-left location of the layout box and obtains the information about the correspondent hit-test metrics of the text string where the hit-test has occurred. When the specified pixel location is outside the text string, the function sets the output value *isInside to .

The pixel location X to hit-test, relative to the top-left location of the layout box.

The pixel location Y to hit-test, relative to the top-left location of the layout box.

An output flag that indicates whether the hit-test location is at the leading or the trailing side of the character. When the output *isInside value is set to , this value is set according to the output hitTestMetrics->textPosition value to represent the edge closest to the hit-test location.

An output flag that indicates whether the hit-test location is inside the text string. When , the position nearest the text's edge is returned.

The output geometry fully enclosing the hit-test location. When the output *isInside value is set to , this structure represents the geometry enclosing the edge closest to the hit-test location.

dd371464 HRESULT IDWriteTextLayout::HitTestPoint([In] float pointX,[In] float pointY,[Out] BOOL* isTrailingHit,[Out] BOOL* isInside,[Out] DWRITE_HIT_TEST_METRICS* hitTestMetrics) IDWriteTextLayout::HitTestPoint

The application calls this function to get the pixel location relative to the top-left of the layout box given the text position and the logical side of the position. This function is normally used as part of caret positioning of text where the caret is drawn at the location corresponding to the current text editing position. It may also be used as a way to programmatically obtain the geometry of a particular text position in UI automation.

The text position used to get the pixel location.

A Boolean flag that indicates whether the pixel location is of the leading or the trailing side of the specified text position.

When this method returns, contains the output pixel location X, relative to the top-left location of the layout box.

When this method returns, contains the output pixel location Y, relative to the top-left location of the layout box.

When this method returns, contains the output geometry fully enclosing the specified text position.

dd371469 HRESULT IDWriteTextLayout::HitTestTextPosition([In] unsigned int textPosition,[In] BOOL isTrailingHit,[Out] float* pointX,[Out] float* pointY,[Out] DWRITE_HIT_TEST_METRICS* hitTestMetrics) IDWriteTextLayout::HitTestTextPosition

The application calls this function to get a set of hit-test metrics corresponding to a range of text positions. One of the main usages is to implement highlight selection of the text string. The function returns E_NOT_SUFFICIENT_BUFFER, which is equivalent to HRESULT_FROM_WIN32(), when the buffer size of hitTestMetrics is too small to hold all the regions calculated by the function. In this situation, the function sets the output value *actualHitTestMetricsCount to the number of geometries calculated. The application is responsible for allocating a new buffer of greater size and calling the function again. A good value to use as an initial value for maxHitTestMetricsCount may be calculated from the following equation: maxHitTestMetricsCount = lineCount * maxBidiReorderingDepth where lineCount is obtained from the value of the output argument *actualLineCount (from the function ::GetLineLengths), and the maxBidiReorderingDepth value from the structure of the output argument *textMetrics (from the function ::CreateTextLayout).

No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371473 HRESULT IDWriteTextLayout::HitTestTextRange([In] unsigned int textPosition,[In] unsigned int textLength,[In] float originX,[In] float originY,[Out, Buffer, Optional] DWRITE_HIT_TEST_METRICS* hitTestMetrics,[In] unsigned int maxHitTestMetricsCount,[Out] unsigned int* actualHitTestMetricsCount) IDWriteTextLayout::HitTestTextRange

Specifies a range of text positions where format is applied in the text represented by an object.

dd368137 DWRITE_TEXT_RANGE DWRITE_TEXT_RANGE
Initializes a new instance of the struct. The start position. The length. No documentation. dd368137 unsigned int startPosition unsigned int startPosition No documentation. dd368137 unsigned int length unsigned int length

Represents a set of application-defined callbacks that perform rendering of text, inline objects, and decorations such as underlines.

dd371523 IDWriteTextRenderer IDWriteTextRenderer
IDWriteTextLayout::Draw calls this function to instruct the client to render a run of glyphs. The function calls this callback function with all the information about glyphs to render. The application implements this callback by mostly delegating the call to the underlying platform's graphics API such as {{Direct2D}} to draw glyphs on the drawing context. An application that uses GDI can implement this callback in terms of the method. The application-defined drawing context passed to . The pixel location (X-coordinate) at the baseline origin of the glyph run. The pixel location (Y-coordinate) at the baseline origin of the glyph run. The measuring method for glyphs in the run, used with the other properties to determine the rendering mode. Pointer to the glyph run instance to render. A pointer to the optional glyph run description instance which contains properties of the characters associated with this run. Application-defined drawing effects for the glyphs to render. Usually this argument represents effects such as the foreground brush filling the interior of text. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT DrawGlyphRun([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[None] DWRITE_MEASURING_MODE measuringMode,[In] const DWRITE_GLYPH_RUN* glyphRun,[In] const DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription,[None] IUnknown* clientDrawingEffect) IDWriteTextLayout::Draw calls this function to instruct the client to draw an underline. A single underline can be broken into multiple calls, depending on how the formatting changes attributes. If font sizes/styles change within an underline, the thickness and offset will be averaged weighted according to characters. To get an appropriate starting pixel position, add underline::offset to the baseline. Otherwise there will be no spacing between the text. The x coordinate will always be passed as the left side, regardless of text directionality. This simplifies drawing and reduces the problem of round-off that could potentially cause gaps or a double stamped alpha blend. To avoid alpha overlap, round the end points to the nearest device pixel. The application-defined drawing context passed to IDWriteTextLayout::Draw. The pixel location (X-coordinate) at the baseline origin of the run where underline applies. The pixel location (Y-coordinate) at the baseline origin of the run where underline applies. Pointer to a structure containing underline logical information. Application-defined effect to apply to the underline. Usually this argument represents effects such as the foreground brush filling the interior of a line. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT DrawUnderline([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[In] const DWRITE_UNDERLINE* underline,[None] IUnknown* clientDrawingEffect) IDWriteTextLayout::Draw calls this function to instruct the client to draw a strikethrough. A single strikethrough can be broken into multiple calls, depending on how the formatting changes attributes. Strikethrough is not averaged across font sizes/styles changes. To get an appropriate starting pixel position, add strikethrough::offset to the baseline. Like underlines, the x coordinate will always be passed as the left side, regardless of text directionality. The application-defined drawing context passed to IDWriteTextLayout::Draw. The pixel location (X-coordinate) at the baseline origin of the run where strikethrough applies. The pixel location (Y-coordinate) at the baseline origin of the run where strikethrough applies. Pointer to a structure containing strikethrough logical information. Application-defined effect to apply to the strikethrough. Usually this argument represents effects such as the foreground brush filling the interior of a line. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT DrawStrikethrough([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[In] const DWRITE_STRIKETHROUGH* strikethrough,[None] IUnknown* clientDrawingEffect) IDWriteTextLayout::Draw calls this application callback when it needs to draw an inline object. The application-defined drawing context passed to IDWriteTextLayout::Draw. X-coordinate at the top-left corner of the inline object. Y-coordinate at the top-left corner of the inline object. The application-defined inline object set using IDWriteTextFormat::SetInlineObject. A Boolean flag that indicates whether the object's baseline runs alongside the baseline axis of the line. A Boolean flag that indicates whether the object is in a right-to-left context, hinting that the drawing may want to mirror the normal image. Application-defined drawing effects for the glyphs to render. Usually this argument represents effects such as the foreground brush filling the interior of a line. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT DrawInlineObject([None] void* clientDrawingContext,[None] FLOAT originX,[None] FLOAT originY,[None] IDWriteInlineObject* inlineObject,[None] BOOL isSideways,[None] BOOL isRightToLeft,[None] IUnknown* clientDrawingEffect) Default abstract implementation of TextRenderer. Need to implement a least a DrawXXX method to use it. Determines whether pixel snapping is disabled. The recommended default is FALSE, unless doing animation that requires subpixel vertical placement. The context passed to IDWriteTextLayout::Draw. Receives TRUE if pixel snapping is disabled or FALSE if it not. HRESULT IsPixelSnappingDisabled([None] void* clientDrawingContext,[Out] BOOL* isDisabled) Gets a transform that maps abstract coordinates to DIPs. The drawing context passed to . a structure which has transform information for pixel snapping. HRESULT GetCurrentTransform([None] void* clientDrawingContext,[Out] DWRITE_MATRIX* transform) Gets the number of physical pixels per DIP. Because a DIP (device-independent pixel) is 1/96 inch, the pixelsPerDip value is the number of logical pixels per inch divided by 96. The drawing context passed to . the number of physical pixels per DIP HRESULT GetPixelsPerDip([None] void* clientDrawingContext,[Out] FLOAT* pixelsPerDip) IDWriteTextLayout::Draw calls this function to instruct the client to render a run of glyphs. The function calls this callback function with all the information about glyphs to render. The application implements this callback by mostly delegating the call to the underlying platform's graphics API such as {{Direct2D}} to draw glyphs on the drawing context. An application that uses GDI can implement this callback in terms of the method. The application-defined drawing context passed to . The pixel location (X-coordinate) at the baseline origin of the glyph run. The pixel location (Y-coordinate) at the baseline origin of the glyph run. The measuring method for glyphs in the run, used with the other properties to determine the rendering mode. Pointer to the glyph run instance to render. A pointer to the optional glyph run description instance which contains properties of the characters associated with this run. Application-defined drawing effects for the glyphs to render. Usually this argument represents effects such as the foreground brush filling the interior of text. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT DrawGlyphRun([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[None] DWRITE_MEASURING_MODE measuringMode,[In] const DWRITE_GLYPH_RUN* glyphRun,[In] const DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription,[None] IUnknown* clientDrawingEffect) IDWriteTextLayout::Draw calls this function to instruct the client to draw an underline. A single underline can be broken into multiple calls, depending on how the formatting changes attributes. If font sizes/styles change within an underline, the thickness and offset will be averaged weighted according to characters. To get an appropriate starting pixel position, add underline::offset to the baseline. Otherwise there will be no spacing between the text. The x coordinate will always be passed as the left side, regardless of text directionality. This simplifies drawing and reduces the problem of round-off that could potentially cause gaps or a double stamped alpha blend. To avoid alpha overlap, round the end points to the nearest device pixel. The application-defined drawing context passed to IDWriteTextLayout::Draw. The pixel location (X-coordinate) at the baseline origin of the run where underline applies. The pixel location (Y-coordinate) at the baseline origin of the run where underline applies. Pointer to a structure containing underline logical information. Application-defined effect to apply to the underline. Usually this argument represents effects such as the foreground brush filling the interior of a line. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT DrawUnderline([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[In] const DWRITE_UNDERLINE* underline,[None] IUnknown* clientDrawingEffect) IDWriteTextLayout::Draw calls this function to instruct the client to draw a strikethrough. A single strikethrough can be broken into multiple calls, depending on how the formatting changes attributes. Strikethrough is not averaged across font sizes/styles changes. To get an appropriate starting pixel position, add strikethrough::offset to the baseline. Like underlines, the x coordinate will always be passed as the left side, regardless of text directionality. The application-defined drawing context passed to IDWriteTextLayout::Draw. The pixel location (X-coordinate) at the baseline origin of the run where strikethrough applies. The pixel location (Y-coordinate) at the baseline origin of the run where strikethrough applies. Pointer to a structure containing strikethrough logical information. Application-defined effect to apply to the strikethrough. Usually this argument represents effects such as the foreground brush filling the interior of a line. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT DrawStrikethrough([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[In] const DWRITE_STRIKETHROUGH* strikethrough,[None] IUnknown* clientDrawingEffect) IDWriteTextLayout::Draw calls this application callback when it needs to draw an inline object. The application-defined drawing context passed to IDWriteTextLayout::Draw. X-coordinate at the top-left corner of the inline object. Y-coordinate at the top-left corner of the inline object. The application-defined inline object set using IDWriteTextFormat::SetInlineObject. A Boolean flag that indicates whether the object's baseline runs alongside the baseline axis of the line. A Boolean flag that indicates whether the object is in a right-to-left context, hinting that the drawing may want to mirror the normal image. Application-defined drawing effects for the glyphs to render. Usually this argument represents effects such as the foreground brush filling the interior of a line. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. HRESULT DrawInlineObject([None] void* clientDrawingContext,[None] FLOAT originX,[None] FLOAT originY,[None] IDWriteInlineObject* inlineObject,[None] BOOL isSideways,[None] BOOL isRightToLeft,[None] IUnknown* clientDrawingEffect) Internal TextRenderer Callback Return a pointer to the unmanaged version of this callback. The callback. A pointer to a shadow c++ callback HRESULT DrawGlyphRun([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[None] DWRITE_MEASURING_MODE measuringMode,[In] const DWRITE_GLYPH_RUN* glyphRun,[In] const DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription,[None] IUnknown* clientDrawingEffect) HRESULT DrawUnderline([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[In] const DWRITE_UNDERLINE* underline,[None] IUnknown* clientDrawingEffect) HRESULT DrawStrikethrough([None] void* clientDrawingContext,[None] FLOAT baselineOriginX,[None] FLOAT baselineOriginY,[In] const DWRITE_STRIKETHROUGH* strikethrough,[None] IUnknown* clientDrawingEffect) HRESULT DrawInlineObject([None] void* clientDrawingContext,[None] FLOAT originX,[None] FLOAT originY,[None] IDWriteInlineObject* inlineObject,[None] BOOL isSideways,[None] BOOL isRightToLeft,[None] IUnknown* clientDrawingEffect)

Represents a font typography setting.

dd371541 IDWriteTypography IDWriteTypography
Creates a typography object for use in a text layout. an instance of HRESULT IDWriteFactory::CreateTypography([Out] IDWriteTypography** typography) Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the number of OpenType font features for the current font.

A single run of text can be associated with more than one typographic feature. The object holds a list of these font features.

dd371549 GetFontFeatureCount GetFontFeatureCount unsigned int IDWriteTypography::GetFontFeatureCount()

Adds an OpenType font feature.

A structure that contains the OpenType name identifier and the execution parameter for the font feature being added.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371545 HRESULT IDWriteTypography::AddFontFeature([In] DWRITE_FONT_FEATURE fontFeature) IDWriteTypography::AddFontFeature

Gets the number of OpenType font features for the current font.

The number of font features for the current text format.

A single run of text can be associated with more than one typographic feature. The object holds a list of these font features.

dd371549 unsigned int IDWriteTypography::GetFontFeatureCount() IDWriteTypography::GetFontFeatureCount

Gets the font feature at the specified index.

The zero-based index of the font feature to retrieve.

When this method returns, contains the font feature which is at the specified index.

A single run of text can be associated with more than one typographic feature. The object holds a list of these font features.

dd371546 HRESULT IDWriteTypography::GetFontFeature([In] unsigned int fontFeatureIndex,[Out] DWRITE_FONT_FEATURE* fontFeature) IDWriteTypography::GetFontFeature

The enumeration contains values that specify the baseline for text alignment.

jj126257 DWRITE_BASELINE DWRITE_BASELINE

The Roman baseline for horizontal; the Central baseline for vertical.

jj126257 DWRITE_BASELINE_DEFAULT DWRITE_BASELINE_DEFAULT

The baseline that is used by alphabetic scripts such as Latin, Greek, and Cyrillic.

jj126257 DWRITE_BASELINE_ROMAN DWRITE_BASELINE_ROMAN

Central baseline, which is generally used for vertical text.

jj126257 DWRITE_BASELINE_CENTRAL DWRITE_BASELINE_CENTRAL

Mathematical baseline, which math characters are centered on.

jj126257 DWRITE_BASELINE_MATH DWRITE_BASELINE_MATH

Hanging baseline, which is used in scripts like Devanagari.

jj126257 DWRITE_BASELINE_HANGING DWRITE_BASELINE_HANGING

Ideographic bottom baseline for CJK, left in vertical.

jj126257 DWRITE_BASELINE_IDEOGRAPHIC_BOTTOM DWRITE_BASELINE_IDEOGRAPHIC_BOTTOM

Ideographic top baseline for CJK, right in vertical.

jj126257 DWRITE_BASELINE_IDEOGRAPHIC_TOP DWRITE_BASELINE_IDEOGRAPHIC_TOP

The bottom-most extent in horizontal, left-most in vertical.

jj126257 DWRITE_BASELINE_MINIMUM DWRITE_BASELINE_MINIMUM

The top-most extent in horizontal, right-most in vertical.

jj126257 DWRITE_BASELINE_MAXIMUM DWRITE_BASELINE_MAXIMUM

Indicates the condition at the edges of inline object or text used to determine line-breaking behavior.

dd368051 DWRITE_BREAK_CONDITION DWRITE_BREAK_CONDITION

Indicates whether a break is allowed by determining the condition of the neighboring text span or inline object.

dd368051 DWRITE_BREAK_CONDITION_NEUTRAL DWRITE_BREAK_CONDITION_NEUTRAL

Indicates that a line break is allowed, unless overruled by the condition of the neighboring text span or inline object, either prohibited by a "may not break" condition or forced by a "must break" condition.

dd368051 DWRITE_BREAK_CONDITION_CAN_BREAK DWRITE_BREAK_CONDITION_CAN_BREAK

Indicates that there should be no line break, unless overruled by a "must break" condition from the neighboring text span or inline object.

dd368051 DWRITE_BREAK_CONDITION_MAY_NOT_BREAK DWRITE_BREAK_CONDITION_MAY_NOT_BREAK

Indicates that the line break must happen, regardless of the condition of the adjacent text span or inline object.

dd368051 DWRITE_BREAK_CONDITION_MUST_BREAK DWRITE_BREAK_CONDITION_MUST_BREAK

Represents the degree to which a font has been stretched compared to a font's normal aspect ratio. The enumerated values correspond to the usWidthClass definition in the OpenType specification. The usWidthClass represents an integer value between 1 and 9?lower values indicate narrower widths; higher values indicate wider widths.

A font stretch describes the degree to which a font form is stretched from its normal aspect ratio, which is the original width to height ratio specified for the glyphs in the font. The following illustration shows an example of Normal and Condensed stretches for the Rockwell Bold typeface.

Note??Values other than the ones defined in the enumeration are considered to be invalid, and are rejected by font API functions.? dd368078 DWRITE_CONTAINER_TYPE DWRITE_CONTAINER_TYPE

Predefined font stretch : Not known (0).

dd368078 DWRITE_CONTAINER_TYPE_UNKNOWN DWRITE_CONTAINER_TYPE_UNKNOWN

Predefined font stretch : Ultra-condensed (1).

dd368078 DWRITE_CONTAINER_TYPE_WOFF DWRITE_CONTAINER_TYPE_WOFF

Predefined font stretch : Extra-condensed (2).

dd368078 DWRITE_CONTAINER_TYPE_WOFF2 DWRITE_CONTAINER_TYPE_WOFF2

Specifies the type of DirectWrite factory object.

A DirectWrite factory object contains information about its internal state, such as font loader registration and cached font data. In most cases you should use the shared factory object, because it allows multiple components that use DirectWrite to share internal DirectWrite state information, thereby reducing memory usage. However, there are cases when it is desirable to reduce the impact of a component on the rest of the process, such as a plug-in from an untrusted source, by sandboxing and isolating it from the rest of the process components. In such cases, you should use an isolated factory for the sandboxed component.

dd368057 DWRITE_FACTORY_TYPE DWRITE_FACTORY_TYPE

Indicates that the DirectWrite factory is a shared factory and that it allows for the reuse of cached font data across multiple in-process components. Such factories also take advantage of cross process font caching components for better performance.

dd368057 DWRITE_FACTORY_TYPE_SHARED DWRITE_FACTORY_TYPE_SHARED

Indicates that the DirectWrite factory object is isolated. Objects created from the isolated factory do not interact with internal DirectWrite state from other components.

dd368057 DWRITE_FACTORY_TYPE_ISOLATED DWRITE_FACTORY_TYPE_ISOLATED

Indicates the direction of how lines of text are placed relative to one another.

dd368060 DWRITE_FLOW_DIRECTION DWRITE_FLOW_DIRECTION

Specifies that text lines are placed from top to bottom.

dd368060 DWRITE_FLOW_DIRECTION_TOP_TO_BOTTOM DWRITE_FLOW_DIRECTION_TOP_TO_BOTTOM

Specifies that text lines are placed from bottom to top.

dd368060 DWRITE_FLOW_DIRECTION_BOTTOM_TO_TOP DWRITE_FLOW_DIRECTION_BOTTOM_TO_TOP

Specifies that text lines are placed from left to right.

dd368060 DWRITE_FLOW_DIRECTION_LEFT_TO_RIGHT DWRITE_FLOW_DIRECTION_LEFT_TO_RIGHT

Specifies that text lines are placed from right to left.

dd368060 DWRITE_FLOW_DIRECTION_RIGHT_TO_LEFT DWRITE_FLOW_DIRECTION_RIGHT_TO_LEFT

Indicates the file format of a complete font face.

Font formats that consist of multiple files, such as Type 1 .PFM and .PFB, have a single enum entry.

dd368063 DWRITE_FONT_FACE_TYPE DWRITE_FONT_FACE_TYPE

OpenType font face with CFF outlines.

dd368063 DWRITE_FONT_FACE_TYPE_CFF DWRITE_FONT_FACE_TYPE_CFF

OpenType font face with TrueType outlines.

dd368063 DWRITE_FONT_FACE_TYPE_TRUETYPE DWRITE_FONT_FACE_TYPE_TRUETYPE

OpenType font face with TrueType outlines.

dd368063 DWRITE_FONT_FACE_TYPE_OPENTYPE_COLLECTION DWRITE_FONT_FACE_TYPE_OPENTYPE_COLLECTION

A Type 1 font face.

dd368063 DWRITE_FONT_FACE_TYPE_TYPE1 DWRITE_FONT_FACE_TYPE_TYPE1

A vector .FON format font face.

dd368063 DWRITE_FONT_FACE_TYPE_VECTOR DWRITE_FONT_FACE_TYPE_VECTOR

A bitmap .FON format font face.

dd368063 DWRITE_FONT_FACE_TYPE_BITMAP DWRITE_FONT_FACE_TYPE_BITMAP

Font face type is not recognized by the DirectWrite font system.

dd368063 DWRITE_FONT_FACE_TYPE_UNKNOWN DWRITE_FONT_FACE_TYPE_UNKNOWN

The font data includes only the CFF table from an OpenType CFF font. This font face type can be used only for embedded fonts (i.e., custom font file loaders) and the resulting font face object supports only the minimum functionality necessary to render glyphs.

dd368063 DWRITE_FONT_FACE_TYPE_RAW_CFF DWRITE_FONT_FACE_TYPE_RAW_CFF

OpenType font face that is a part of a TrueType collection.

dd368063 DWRITE_FONT_FACE_TYPE_TRUETYPE_COLLECTION DWRITE_FONT_FACE_TYPE_TRUETYPE_COLLECTION

A value that indicates the typographic feature of text supplied by the font.

dd368069 DWRITE_FONT_FEATURE_TAG DWRITE_FONT_FEATURE_TAG

Replaces figures separated by a slash with an alternative form.

Equivalent OpenType tag: 'afrc'

dd368069 DWRITE_FONT_FEATURE_TAG_ALTERNATIVE_FRACTIONS DWRITE_FONT_FEATURE_TAG_ALTERNATIVE_FRACTIONS

Turns capital characters into petite capitals. It is generally used for words which would otherwise be set in all caps, such as acronyms, but which are desired in petite-cap form to avoid disrupting the flow of text. See the pcap feature description for notes on the relationship of caps, smallcaps and petite caps.

Equivalent OpenType tag: 'c2pc'

dd368069 DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS_FROM_CAPITALS DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS_FROM_CAPITALS

Turns capital characters into small capitals. It is generally used for words which would otherwise be set in all caps, such as acronyms, but which are desired in small-cap form to avoid disrupting the flow of text.

Equivalent OpenType tag: 'c2sc'

dd368069 DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS_FROM_CAPITALS DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS_FROM_CAPITALS

In specified situations, replaces default glyphs with alternate forms which provide better joining behavior. Used in script typefaces which are designed to have some or all of their glyphs join.

Equivalent OpenType tag: 'calt'

dd368069 DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_ALTERNATES DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_ALTERNATES

Shifts various punctuation marks up to a position that works better with all-capital sequences or sets of lining figures; also changes oldstyle figures to lining figures. By default, glyphs in a text face are designed to work with lowercase characters. Some characters should be shifted vertically to fit the higher visual center of all-capital or lining text. Also, lining figures are the same height (or close to it) as capitals, and fit much better with all-capital text.

Equivalent OpenType tag: 'case'

dd368069 DWRITE_FONT_FEATURE_TAG_CASE_SENSITIVE_FORMS DWRITE_FONT_FEATURE_TAG_CASE_SENSITIVE_FORMS

To minimize the number of glyph alternates, it is sometimes desired to decompose a character into two glyphs. Additionally, it may be preferable to compose two characters into a single glyph for better glyph processing. This feature permits such composition/decomposition. The feature should be processed as the first feature processed, and should be processed only when it is called.

Equivalent OpenType tag: 'ccmp'

dd368069 DWRITE_FONT_FEATURE_TAG_GLYPH_COMPOSITION_DECOMPOSITION DWRITE_FONT_FEATURE_TAG_GLYPH_COMPOSITION_DECOMPOSITION

Replaces a sequence of glyphs with a single glyph which is preferred for typographic purposes. Unlike other ligature features, clig specifies the context in which the ligature is recommended. This capability is important in some script designs and for swash ligatures.

Equivalent OpenType tag: 'clig'

dd368069 DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_LIGATURES DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_LIGATURES

Globally adjusts inter-glyph spacing for all-capital text. Most typefaces contain capitals and lowercase characters, and the capitals are positioned to work with the lowercase. When capitals are used for words, they need more space between them for legibility and esthetics. This feature would not apply to monospaced designs. Of course the user may want to override this behavior in order to do more pronounced letterspacing for esthetic reasons.

Equivalent OpenType tag: 'cpsp'

dd368069 DWRITE_FONT_FEATURE_TAG_CAPITAL_SPACING DWRITE_FONT_FEATURE_TAG_CAPITAL_SPACING

Replaces default character glyphs with corresponding swash glyphs in a specified context. Note that there may be more than one swash alternate for a given character.

Equivalent OpenType tag: 'cswh'

dd368069 DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_SWASH DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_SWASH

In cursive scripts like Arabic, this feature cursively positions adjacent glyphs.

Equivalent OpenType tag: 'curs'

dd368069 DWRITE_FONT_FEATURE_TAG_CURSIVE_POSITIONING DWRITE_FONT_FEATURE_TAG_CURSIVE_POSITIONING

Globally adjusts inter-glyph spacing for all-capital text. Most typefaces contain capitals and lowercase characters, and the capitals are positioned to work with the lowercase. When capitals are used for words, they need more space between them for legibility and esthetics. This feature would not apply to monospaced designs. Of course the user may want to override this behavior in order to do more pronounced letterspacing for esthetic reasons.

Equivalent OpenType tag: 'cpsp'

dd368069 DWRITE_FONT_FEATURE_TAG_DEFAULT DWRITE_FONT_FEATURE_TAG_DEFAULT

Replaces a sequence of glyphs with a single glyph which is preferred for typographic purposes. This feature covers those ligatures which may be used for special effect, at the user's preference.

Equivalent OpenType tag: 'dlig'

dd368069 DWRITE_FONT_FEATURE_TAG_DISCRETIONARY_LIGATURES DWRITE_FONT_FEATURE_TAG_DISCRETIONARY_LIGATURES

Replaces standard forms in Japanese fonts with corresponding forms preferred by typographers. For example, a user would invoke this feature to replace kanji character U+5516 with U+555E.

Equivalent OpenType tag: 'expt'

dd368069 DWRITE_FONT_FEATURE_TAG_EXPERT_FORMS DWRITE_FONT_FEATURE_TAG_EXPERT_FORMS

Replaces figures separated by a slash with 'common' (diagonal) fractions.

Equivalent OpenType tag: 'frac'

dd368069 DWRITE_FONT_FEATURE_TAG_FRACTIONS DWRITE_FONT_FEATURE_TAG_FRACTIONS

Replaces glyphs set on other widths with glyphs set on full (usually em) widths. In a CJKV font, this may include "lower ASCII" Latin characters and various symbols. In a European font, this feature replaces proportionally-spaced glyphs with monospaced glyphs, which are generally set on widths of 0.6 em. For example, a user may invoke this feature in a Japanese font to get full monospaced Latin glyphs instead of the corresponding proportionally-spaced versions.

Equivalent OpenType tag: 'fwid'

dd368069 DWRITE_FONT_FEATURE_TAG_FULL_WIDTH DWRITE_FONT_FEATURE_TAG_FULL_WIDTH

Produces the half forms of consonants in Indic scripts. For example, in Hindi (Devanagari script), the conjunct KKa, obtained by doubling the Ka, is denoted with a half form of Ka followed by the full form.

Equivalent OpenType tag: 'half'

dd368069 DWRITE_FONT_FEATURE_TAG_HALF_FORMS DWRITE_FONT_FEATURE_TAG_HALF_FORMS

Produces the halant forms of consonants in Indic scripts. For example, in Sanskrit (Devanagari script), syllable final consonants are frequently required in their halant form.

Equivalent OpenType tag: 'haln'

dd368069 DWRITE_FONT_FEATURE_TAG_HALANT_FORMS DWRITE_FONT_FEATURE_TAG_HALANT_FORMS

Respaces glyphs designed to be set on full-em widths, fitting them onto half-em widths. This differs from hwid in that it does not substitute new glyphs.

Equivalent OpenType tag: 'halt'

dd368069 DWRITE_FONT_FEATURE_TAG_ALTERNATE_HALF_WIDTH DWRITE_FONT_FEATURE_TAG_ALTERNATE_HALF_WIDTH

Replaces the default (current) forms with the historical alternates. While some ligatures are also used for historical effect, this feature deals only with single characters. Some fonts include the historical forms as alternates, so they can be used for a 'period' effect.

Equivalent OpenType tag: 'hist'

dd368069 DWRITE_FONT_FEATURE_TAG_HISTORICAL_FORMS DWRITE_FONT_FEATURE_TAG_HISTORICAL_FORMS

Replaces standard kana with forms that have been specially designed for only horizontal writing. This is a typographic optimization for improved fit and more even color.

Equivalent OpenType tag: 'hkna'

dd368069 DWRITE_FONT_FEATURE_TAG_HORIZONTAL_KANA_ALTERNATES DWRITE_FONT_FEATURE_TAG_HORIZONTAL_KANA_ALTERNATES

Replaces the default (current) forms with the historical alternates. Some ligatures were in common use in the past, but appear anachronistic today. Some fonts include the historical forms as alternates, so they can be used for a 'period' effect.

Equivalent OpenType tag: 'hlig'

dd368069 DWRITE_FONT_FEATURE_TAG_HISTORICAL_LIGATURES DWRITE_FONT_FEATURE_TAG_HISTORICAL_LIGATURES

Replaces glyphs on proportional widths, or fixed widths other than half an em, with glyphs on half-em (en) widths. Many CJKV fonts have glyphs which are set on multiple widths; this feature selects the half-em version. There are various contexts in which this is the preferred behavior, including compatibility with older desktop documents.

Equivalent OpenType tag: 'hwid'

dd368069 DWRITE_FONT_FEATURE_TAG_HALF_WIDTH DWRITE_FONT_FEATURE_TAG_HALF_WIDTH

Used to access the JIS X 0212-1990 glyphs for the cases when the JIS X 0213:2004 form is encoded. The JIS X 0212-1990 (aka, "Hojo Kanji") and JIS X 0213:2004 character sets overlap significantly. In some cases their prototypical glyphs differ. When building fonts that support both JIS X 0212-1990 and JIS X 0213:2004 (such as those supporting the Adobe-Japan 1-6 character collection), it is recommended that JIS X 0213:2004 forms be the preferred encoded form.

Equivalent OpenType tag: 'hojo'

dd368069 DWRITE_FONT_FEATURE_TAG_HOJO_KANJI_FORMS DWRITE_FONT_FEATURE_TAG_HOJO_KANJI_FORMS

The National Language Council (NLC) of Japan has defined new glyph shapes for a number of JIS characters, which were incorporated into JIS X 0213:2004 as new prototypical forms. The 'jp04' feature is A subset of the 'nlck' feature, and is used to access these prototypical glyphs in a manner that maintains the integrity of JIS X 0213:2004.

Equivalent OpenType tag: 'jp04'

dd368069 DWRITE_FONT_FEATURE_TAG_JIS04_FORMS DWRITE_FONT_FEATURE_TAG_JIS04_FORMS

Replaces default (JIS90) Japanese glyphs with the corresponding forms from the JIS C 6226-1978 (JIS78) specification.

Equivalent OpenType tag: 'jp78'

dd368069 DWRITE_FONT_FEATURE_TAG_JIS78_FORMS DWRITE_FONT_FEATURE_TAG_JIS78_FORMS

Replaces default (JIS90) Japanese glyphs with the corresponding forms from the JIS X 0208-1983 (JIS83) specification.

Equivalent OpenType tag: 'jp83'

dd368069 DWRITE_FONT_FEATURE_TAG_JIS83_FORMS DWRITE_FONT_FEATURE_TAG_JIS83_FORMS

Replaces Japanese glyphs from the JIS78 or JIS83 specifications with the corresponding forms from the JIS X 0208-1990 (JIS90) specification.

Equivalent OpenType tag: 'jp90'

dd368069 DWRITE_FONT_FEATURE_TAG_JIS90_FORMS DWRITE_FONT_FEATURE_TAG_JIS90_FORMS

Adjusts amount of space between glyphs, generally to provide optically consistent spacing between glyphs. Although a well-designed typeface has consistent inter-glyph spacing overall, some glyph combinations require adjustment for improved legibility. Besides standard adjustment in the horizontal direction, this feature can supply size-dependent kerning data via device tables, "cross-stream" kerning in the Y text direction, and adjustment of glyph placement independent of the advance adjustment. Note that this feature may apply to runs of more than two glyphs, and would not be used in monospaced fonts. Also note that this feature does not apply to text set vertically.

Equivalent OpenType tag: 'kern'

dd368069 DWRITE_FONT_FEATURE_TAG_KERNING DWRITE_FONT_FEATURE_TAG_KERNING

Replaces a sequence of glyphs with a single glyph which is preferred for typographic purposes. This feature covers the ligatures which the designer/manufacturer judges should be used in normal conditions.

Equivalent OpenType tag: 'liga'

dd368069 DWRITE_FONT_FEATURE_TAG_STANDARD_LIGATURES DWRITE_FONT_FEATURE_TAG_STANDARD_LIGATURES

Changes selected figures from oldstyle to the default lining form. For example, a user may invoke this feature in order to get lining figures, which fit better with all-capital text. This feature overrides results of the Oldstyle Figures feature (onum).

Equivalent OpenType tag: 'lnum'

dd368069 DWRITE_FONT_FEATURE_TAG_LINING_FIGURES DWRITE_FONT_FEATURE_TAG_LINING_FIGURES

Enables localized forms of glyphs to be substituted for default forms. Many scripts used to write multiple languages over wide geographical areas have developed localized variant forms of specific letters, which are used by individual literary communities. For example, a number of letters in the Bulgarian and Serbian alphabets have forms distinct from their Russian counterparts and from each other. In some cases the localized form differs only subtly from the script 'norm', in others the forms are radically distinct.

Equivalent OpenType tag: 'locl'

dd368069 DWRITE_FONT_FEATURE_TAG_LOCALIZED_FORMS DWRITE_FONT_FEATURE_TAG_LOCALIZED_FORMS

Positions mark glyphs with respect to base glyphs. For example, in Arabic script positioning the Hamza above the Yeh.

Equivalent OpenType tag: 'mark'

dd368069 DWRITE_FONT_FEATURE_TAG_MARK_POSITIONING DWRITE_FONT_FEATURE_TAG_MARK_POSITIONING

Replaces standard typographic forms of Greek glyphs with corresponding forms commonly used in mathematical notation (which are a subset of the Greek alphabet).

Equivalent OpenType tag: 'mgrk'

dd368069 DWRITE_FONT_FEATURE_TAG_MATHEMATICAL_GREEK DWRITE_FONT_FEATURE_TAG_MATHEMATICAL_GREEK

Positions marks with respect to other marks. Required in various non-Latin scripts like Arabic. For example, in Arabic, the ligaturised mark Ha with Hamza above it can also be obtained by positioning these marks relative to one another.

Equivalent OpenType tag: 'mkmk'

dd368069 DWRITE_FONT_FEATURE_TAG_MARK_TO_MARK_POSITIONING DWRITE_FONT_FEATURE_TAG_MARK_TO_MARK_POSITIONING

Replaces default glyphs with various notational forms (such as glyphs placed in open or solid circles, squares, parentheses, diamonds or rounded boxes). In some cases an annotation form may already be present, but the user may want a different one.

Equivalent OpenType tag: 'nalt'

dd368069 DWRITE_FONT_FEATURE_TAG_ALTERNATE_ANNOTATION_FORMS DWRITE_FONT_FEATURE_TAG_ALTERNATE_ANNOTATION_FORMS

Used to access glyphs made from glyph shapes defined by the National Language Council (NLC) of Japan for a number of JIS characters in 2000.

Equivalent OpenType tag: 'nlck'

dd368069 DWRITE_FONT_FEATURE_TAG_NLC_KANJI_FORMS DWRITE_FONT_FEATURE_TAG_NLC_KANJI_FORMS

Changes selected figures from the default lining style to oldstyle form. For example, a user may invoke this feature to get oldstyle figures, which fit better into the flow of normal upper- and lowercase text. This feature overrides results of the Lining Figures feature (lnum).

Equivalent OpenType tag: 'onum'

dd368069 DWRITE_FONT_FEATURE_TAG_OLD_STYLE_FIGURES DWRITE_FONT_FEATURE_TAG_OLD_STYLE_FIGURES

Replaces default alphabetic glyphs with the corresponding ordinal forms for use after figures. One exception to the follows-a-figure rule is the numero character (U+2116), which is actually a ligature substitution, but is best accessed through this feature.

Equivalent OpenType tag: 'ordn'

dd368069 DWRITE_FONT_FEATURE_TAG_ORDINALS DWRITE_FONT_FEATURE_TAG_ORDINALS

Respaces glyphs designed to be set on full-em widths, fitting them onto individual (more or less proportional) horizontal widths. This differs from pwid in that it does not substitute new glyphs (GPOS, not GSUB feature). The user may prefer the monospaced form, or may simply want to ensure that the glyph is well-fit and not rotated in vertical setting (Latin forms designed for proportional spacing would be rotated).

Equivalent OpenType tag: 'palt'

dd368069 DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_ALTERNATE_WIDTH DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_ALTERNATE_WIDTH

Turns lowercase characters into petite capitals. Forms related to petite capitals, such as specially designed figures, may be included. Some fonts contain an additional size of capital letters, shorter than the regular smallcaps and it is referred to as petite caps. Such forms are most likely to be found in designs with a small lowercase x-height, where they better harmonise with lowercase text than the taller smallcaps (for examples of petite caps, see the Emigre type families Mrs Eaves and Filosofia).

Equivalent OpenType tag: 'pcap'

dd368069 DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS

Replaces figure glyphs set on uniform (tabular) widths with corresponding glyphs set on glyph-specific (proportional) widths. Tabular widths will generally be the default, but this cannot be safely assumed. Of course this feature would not be present in monospaced designs.

Equivalent OpenType tag: 'pnum'

dd368069 DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_FIGURES DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_FIGURES

Replaces glyphs set on uniform widths (typically full or half-em) with proportionally spaced glyphs. The proportional variants are often used for the Latin characters in CJKV fonts, but may also be used for Kana in Japanese fonts.

Equivalent OpenType tag: 'pwid'

dd368069 DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_WIDTHS DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_WIDTHS

Replaces glyphs on other widths with glyphs set on widths of one quarter of an em (half an en). The characters involved are normally figures and some forms of punctuation.

Equivalent OpenType tag: 'qwid'

dd368069 DWRITE_FONT_FEATURE_TAG_QUARTER_WIDTHS DWRITE_FONT_FEATURE_TAG_QUARTER_WIDTHS

Replaces a sequence of glyphs with a single glyph which is preferred for typographic purposes. This feature covers those ligatures, which the script determines as required to be used in normal conditions. This feature is important for some scripts to ensure correct glyph formation.

Equivalent OpenType tag: 'rlig'

dd368069 DWRITE_FONT_FEATURE_TAG_REQUIRED_LIGATURES DWRITE_FONT_FEATURE_TAG_REQUIRED_LIGATURES

Identifies glyphs in the font which have been designed for "ruby", from the old typesetting term for four-point-sized type. Japanese typesetting often uses smaller kana glyphs, generally in superscripted form, to clarify the meaning of kanji which may be unfamiliar to the reader.

Equivalent OpenType tag: 'ruby'

dd368069 DWRITE_FONT_FEATURE_TAG_RUBY_NOTATION_FORMS DWRITE_FONT_FEATURE_TAG_RUBY_NOTATION_FORMS

Replaces the default forms with the stylistic alternates. Many fonts contain alternate glyph designs for a purely esthetic effect; these don't always fit into a clear category like swash or historical. As in the case of swash glyphs, there may be more than one alternate form.

Equivalent OpenType tag: 'salt'

dd368069 DWRITE_FONT_FEATURE_TAG_STYLISTIC_ALTERNATES DWRITE_FONT_FEATURE_TAG_STYLISTIC_ALTERNATES

Replaces lining or oldstyle figures with inferior figures (smaller glyphs which sit lower than the standard baseline, primarily for chemical or mathematical notation). May also replace lowercase characters with alphabetic inferiors.

Equivalent OpenType tag: 'sinf'

dd368069 DWRITE_FONT_FEATURE_TAG_SCIENTIFIC_INFERIORS DWRITE_FONT_FEATURE_TAG_SCIENTIFIC_INFERIORS

Turns lowercase characters into small capitals. This corresponds to the common SC font layout. It is generally used for display lines set in Large & small caps, such as titles. Forms related to small capitals, such as oldstyle figures, may be included.

Equivalent OpenType tag: 'smcp'

dd368069 DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS

Replaces 'traditional' Chinese or Japanese forms with the corresponding 'simplified' forms.

Equivalent OpenType tag: 'smpl'

dd368069 DWRITE_FONT_FEATURE_TAG_SIMPLIFIED_FORMS DWRITE_FONT_FEATURE_TAG_SIMPLIFIED_FORMS

In addition to, or instead of, stylistic alternatives of individual glyphs (see 'salt' feature), some fonts may contain sets of stylistic variant glyphs corresponding to portions of the character set, such as multiple variants for lowercase letters in a Latin font. Glyphs in stylistic sets may be designed to harmonise visually, interract in particular ways, or otherwise work together. Examples of fonts including stylistic sets are Zapfino Linotype and Adobe's Poetica. Individual features numbered sequentially with the tag name convention 'ss01' 'ss02' 'ss03' . 'ss20' provide a mechanism for glyphs in these sets to be associated via GSUB lookup indexes to default forms and to each other, and for users to select from available stylistic sets

Equivalent OpenType tag: 'ss01'

dd368069 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_1 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_1

See the description for .

Equivalent OpenType tag: 'ss02'

dd368069 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_2 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_2

See the description for .

Equivalent OpenType tag: 'ss03'

dd368069 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_3 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_3

See the description for .

Equivalent OpenType tag: 'ss04'

dd368069 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_4 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_4

See the description for .

Equivalent OpenType tag: 'ss05'

dd368069 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_5 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_5

See the description for .

Equivalent OpenType tag: 'ss06'

dd368069 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_6 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_6

See the description for .

Equivalent OpenType tag: 'ss07'

dd368069 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_7 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_7

See the description for .

Equivalent OpenType tag: 'ss08'

dd368069 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_8 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_8

See the description for .

Equivalent OpenType tag: 'ss09'

dd368069 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_9 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_9

See the description for .

Equivalent OpenType tag: 'ss10'

dd368069 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_10 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_10

See the description for .

Equivalent OpenType tag: 'ss11'

dd368069 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_11 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_11

See the description for .

Equivalent OpenType tag: 'ss12'

dd368069 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_12 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_12

See the description for .

Equivalent OpenType tag: 'ss13'

dd368069 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_13 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_13

See the description for .

Equivalent OpenType tag: 'ss14'

dd368069 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_14 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_14

See the description for .

Equivalent OpenType tag: 'ss15'

dd368069 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_15 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_15

See the description for .

Equivalent OpenType tag: 'ss16'

dd368069 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_16 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_16

See the description for .

Equivalent OpenType tag: 'ss17'

dd368069 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_17 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_17

See the description for .

Equivalent OpenType tag: 'ss18'

dd368069 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_18 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_18

See the description for .

Equivalent OpenType tag: 'ss19'

dd368069 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_19 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_19

See the description for .

Equivalent OpenType tag: 'ss20'

dd368069 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_20 DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_20

May replace a default glyph with a subscript glyph, or it may combine a glyph substitution with positioning adjustments for proper placement.

Equivalent OpenType tag: 'subs'

dd368069 DWRITE_FONT_FEATURE_TAG_SUBSCRIPT DWRITE_FONT_FEATURE_TAG_SUBSCRIPT

Replaces lining or oldstyle figures with superior figures (primarily for footnote indication), and replaces lowercase letters with superior letters (primarily for abbreviated French titles).

Equivalent OpenType tag: 'sups'

dd368069 DWRITE_FONT_FEATURE_TAG_SUPERSCRIPT DWRITE_FONT_FEATURE_TAG_SUPERSCRIPT

Replaces default character glyphs with corresponding swash glyphs. Note that there may be more than one swash alternate for a given character.

Equivalent OpenType tag: 'swsh'

dd368069 DWRITE_FONT_FEATURE_TAG_SWASH DWRITE_FONT_FEATURE_TAG_SWASH

Replaces the default glyphs with corresponding forms designed specifically for titling. These may be all-capital and/or larger on the body, and adjusted for viewing at larger sizes.

Equivalent OpenType tag: 'titl'

dd368069 DWRITE_FONT_FEATURE_TAG_TITLING DWRITE_FONT_FEATURE_TAG_TITLING

Replaces 'simplified' Japanese kanji forms with the corresponding 'traditional' forms. This is equivalent to the Traditional Forms feature, but explicitly limited to the traditional forms considered proper for use in personal names (as many as 205 glyphs in some fonts).

Equivalent OpenType tag: 'tnam'

dd368069 DWRITE_FONT_FEATURE_TAG_TRADITIONAL_NAME_FORMS DWRITE_FONT_FEATURE_TAG_TRADITIONAL_NAME_FORMS

Replaces figure glyphs set on proportional widths with corresponding glyphs set on uniform (tabular) widths. Tabular widths will generally be the default, but this cannot be safely assumed. Of course this feature would not be present in monospaced designs.

Equivalent OpenType tag: 'tnum'

dd368069 DWRITE_FONT_FEATURE_TAG_TABULAR_FIGURES DWRITE_FONT_FEATURE_TAG_TABULAR_FIGURES

Replaces 'simplified' Chinese hanzi or Japanese kanji forms with the corresponding 'traditional' forms.

Equivalent OpenType tag: 'trad'

dd368069 DWRITE_FONT_FEATURE_TAG_TRADITIONAL_FORMS DWRITE_FONT_FEATURE_TAG_TRADITIONAL_FORMS

Replaces glyphs on other widths with glyphs set on widths of one third of an em. The characters involved are normally figures and some forms of punctuation.

Equivalent OpenType tag: 'twid'

dd368069 DWRITE_FONT_FEATURE_TAG_THIRD_WIDTHS DWRITE_FONT_FEATURE_TAG_THIRD_WIDTHS

Maps upper- and lowercase letters to a mixed set of lowercase and small capital forms, resulting in a single case alphabet (for an example of unicase, see the Emigre type family Filosofia). The letters substituted may vary from font to font, as appropriate to the design. If aligning to the x-height, smallcap glyphs may be substituted, or specially designed unicase forms might be used. Substitutions might also include specially designed figures.

Equivalent OpenType tag: 'unic'

dd368069 DWRITE_FONT_FEATURE_TAG_UNICASE DWRITE_FONT_FEATURE_TAG_UNICASE

Indicates that the font is displayed vertically.

dd368069 DWRITE_FONT_FEATURE_TAG_VERTICAL_WRITING DWRITE_FONT_FEATURE_TAG_VERTICAL_WRITING

Replaces normal figures with figures adjusted for vertical display.

dd368069 DWRITE_FONT_FEATURE_TAG_VERTICAL_ALTERNATES_AND_ROTATION DWRITE_FONT_FEATURE_TAG_VERTICAL_ALTERNATES_AND_ROTATION

Allows the user to change from the default 0 to a slashed form. Some fonts contain both a default form of zero, and an alternative form which uses a diagonal slash through the counter. Especially in condensed designs, it can be difficult to distinguish between 0 and O (zero and capital O) in any situation where capitals and lining figures may be arbitrarily mixed.

Equivalent OpenType tag: 'zero'

dd368069 DWRITE_FONT_FEATURE_TAG_SLASHED_ZERO DWRITE_FONT_FEATURE_TAG_SLASHED_ZERO

The type of a font represented by a single font file. Font formats that consist of multiple files, for example Type 1 .PFM and .PFB, have separate enum values for each of the file types.

dd368072 DWRITE_FONT_FILE_TYPE DWRITE_FONT_FILE_TYPE

Font type is not recognized by the DirectWrite font system.

dd368072 DWRITE_FONT_FILE_TYPE_UNKNOWN DWRITE_FONT_FILE_TYPE_UNKNOWN

OpenType font with CFF outlines.

dd368072 DWRITE_FONT_FILE_TYPE_CFF DWRITE_FONT_FILE_TYPE_CFF

OpenType font with TrueType outlines.

dd368072 DWRITE_FONT_FILE_TYPE_TRUETYPE DWRITE_FONT_FILE_TYPE_TRUETYPE

OpenType font that contains a TrueType collection.

dd368072 DWRITE_FONT_FILE_TYPE_OPENTYPE_COLLECTION DWRITE_FONT_FILE_TYPE_OPENTYPE_COLLECTION

Type 1 PFM font.

dd368072 DWRITE_FONT_FILE_TYPE_TYPE1_PFM DWRITE_FONT_FILE_TYPE_TYPE1_PFM

Type 1 PFB font.

dd368072 DWRITE_FONT_FILE_TYPE_TYPE1_PFB DWRITE_FONT_FILE_TYPE_TYPE1_PFB

Vector .FON font.

dd368072 DWRITE_FONT_FILE_TYPE_VECTOR DWRITE_FONT_FILE_TYPE_VECTOR

Bitmap .FON font.

dd368072 DWRITE_FONT_FILE_TYPE_BITMAP DWRITE_FONT_FILE_TYPE_BITMAP

OpenType font that contains a TrueType collection.

dd368072 DWRITE_FONT_FILE_TYPE_TRUETYPE_COLLECTION DWRITE_FONT_FILE_TYPE_TRUETYPE_COLLECTION

Specify whether ::lineGap value should be part of the line metrics

dn933211 DWRITE_FONT_LINE_GAP_USAGE DWRITE_FONT_LINE_GAP_USAGE
No documentation. dn933211 DWRITE_FONT_LINE_GAP_USAGE_DEFAULT DWRITE_FONT_LINE_GAP_USAGE_DEFAULT No documentation. dn933211 DWRITE_FONT_LINE_GAP_USAGE_DISABLED DWRITE_FONT_LINE_GAP_USAGE_DISABLED No documentation. dn933211 DWRITE_FONT_LINE_GAP_USAGE_ENABLED DWRITE_FONT_LINE_GAP_USAGE_ENABLED

Identifies a string in a font.

dn933213 DWRITE_FONT_PROPERTY_ID DWRITE_FONT_PROPERTY_ID

Unspecified font property identifier.

dn933213 DWRITE_FONT_PROPERTY_ID_NONE DWRITE_FONT_PROPERTY_ID_NONE

Family name for the weight-width-slope model.

dn933213 DWRITE_FONT_PROPERTY_ID_FAMILY_NAME DWRITE_FONT_PROPERTY_ID_FAMILY_NAME

Family name preferred by the designer. This enables font designers to group more than four fonts in a single family without losing compatibility with GDI. This name is typically only present if it differs from the GDI-compatible family name.

dn933213 DWRITE_FONT_PROPERTY_ID_PREFERRED_FAMILY_NAME DWRITE_FONT_PROPERTY_ID_PREFERRED_FAMILY_NAME

Face name of the font, for example Regular or Bold.

dn933213 DWRITE_FONT_PROPERTY_ID_FACE_NAME DWRITE_FONT_PROPERTY_ID_FACE_NAME

The full name of the font, for example "Arial Bold", from name id 4 in the name table.

dn933213 DWRITE_FONT_PROPERTY_ID_FULL_NAME DWRITE_FONT_PROPERTY_ID_FULL_NAME

GDI-compatible family name. Because GDI allows a maximum of four fonts per family, fonts in the same family may have different GDI-compatible family names, for example "Arial", "Arial Narrow", "Arial Black".

dn933213 DWRITE_FONT_PROPERTY_ID_WIN32_FAMILY_NAME DWRITE_FONT_PROPERTY_ID_WIN32_FAMILY_NAME

The postscript name of the font, for example "GillSans-Bold", from name id 6 in the name table.

dn933213 DWRITE_FONT_PROPERTY_ID_POSTSCRIPT_NAME DWRITE_FONT_PROPERTY_ID_POSTSCRIPT_NAME

Script/language tag to identify the scripts or languages that the font was primarily designed to support.

dn933213 DWRITE_FONT_PROPERTY_ID_DESIGN_SCRIPT_LANGUAGE_TAG DWRITE_FONT_PROPERTY_ID_DESIGN_SCRIPT_LANGUAGE_TAG

Script/language tag to identify the scripts or languages that the font declares it is able to support.

dn933213 DWRITE_FONT_PROPERTY_ID_SUPPORTED_SCRIPT_LANGUAGE_TAG DWRITE_FONT_PROPERTY_ID_SUPPORTED_SCRIPT_LANGUAGE_TAG

Semantic tag to describe the font, for example Fancy, Decorative, Handmade, Sans-serif, Swiss, Pixel, Futuristic.

dn933213 DWRITE_FONT_PROPERTY_ID_SEMANTIC_TAG DWRITE_FONT_PROPERTY_ID_SEMANTIC_TAG

Weight of the font represented as a decimal string in the range 1-999.

dn933213 DWRITE_FONT_PROPERTY_ID_WEIGHT DWRITE_FONT_PROPERTY_ID_WEIGHT

Stretch of the font represented as a decimal string in the range 1-9.

dn933213 DWRITE_FONT_PROPERTY_ID_STRETCH DWRITE_FONT_PROPERTY_ID_STRETCH

Style of the font represented as a decimal string in the range 0-2.

dn933213 DWRITE_FONT_PROPERTY_ID_STYLE DWRITE_FONT_PROPERTY_ID_STYLE

Total number of properties.

dn933213 DWRITE_FONT_PROPERTY_ID_TOTAL DWRITE_FONT_PROPERTY_ID_TOTAL

Specifies algorithmic style simulations to be applied to the font face. Bold and oblique simulations can be combined via bitwise OR operation.

Style simulations are not recommended for good typographic quality.

dd368076 DWRITE_FONT_SIMULATIONS DWRITE_FONT_SIMULATIONS

Indicates that no simulations are applied to the font face.

dd368076 DWRITE_FONT_SIMULATIONS_NONE DWRITE_FONT_SIMULATIONS_NONE

Indicates that algorithmic emboldening is applied to the font face. increases weight by applying a widening algorithm to the glyph outline. This may be used to simulate a bold weight where no designed bold weight is available.

dd368076 DWRITE_FONT_SIMULATIONS_BOLD DWRITE_FONT_SIMULATIONS_BOLD

Indicates that algorithmic italicization is applied to the font face. applies obliquing (shear) to the glyph outline. This may be used to simulate an oblique/italic style where no designed oblique/italic style is available.

dd368076 DWRITE_FONT_SIMULATIONS_OBLIQUE DWRITE_FONT_SIMULATIONS_OBLIQUE

Represents the degree to which a font has been stretched compared to a font's normal aspect ratio. The enumerated values correspond to the usWidthClass definition in the OpenType specification. The usWidthClass represents an integer value between 1 and 9?lower values indicate narrower widths; higher values indicate wider widths.

A font stretch describes the degree to which a font form is stretched from its normal aspect ratio, which is the original width to height ratio specified for the glyphs in the font. The following illustration shows an example of Normal and Condensed stretches for the Rockwell Bold typeface.

Note??Values other than the ones defined in the enumeration are considered to be invalid, and are rejected by font API functions.? dd368078 DWRITE_FONT_STRETCH DWRITE_FONT_STRETCH

Predefined font stretch : Not known (0).

dd368078 DWRITE_FONT_STRETCH_UNDEFINED DWRITE_FONT_STRETCH_UNDEFINED

Predefined font stretch : Ultra-condensed (1).

dd368078 DWRITE_FONT_STRETCH_ULTRA_CONDENSED DWRITE_FONT_STRETCH_ULTRA_CONDENSED

Predefined font stretch : Extra-condensed (2).

dd368078 DWRITE_FONT_STRETCH_EXTRA_CONDENSED DWRITE_FONT_STRETCH_EXTRA_CONDENSED

Predefined font stretch : Condensed (3).

dd368078 DWRITE_FONT_STRETCH_CONDENSED DWRITE_FONT_STRETCH_CONDENSED

Predefined font stretch : Semi-condensed (4).

dd368078 DWRITE_FONT_STRETCH_SEMI_CONDENSED DWRITE_FONT_STRETCH_SEMI_CONDENSED

Predefined font stretch : Normal (5).

dd368078 DWRITE_FONT_STRETCH_NORMAL DWRITE_FONT_STRETCH_NORMAL

Predefined font stretch : Medium (5).

dd368078 DWRITE_FONT_STRETCH_MEDIUM DWRITE_FONT_STRETCH_MEDIUM

Predefined font stretch : Semi-expanded (6).

dd368078 DWRITE_FONT_STRETCH_SEMI_EXPANDED DWRITE_FONT_STRETCH_SEMI_EXPANDED

Predefined font stretch : Expanded (7).

dd368078 DWRITE_FONT_STRETCH_EXPANDED DWRITE_FONT_STRETCH_EXPANDED

Predefined font stretch : Extra-expanded (8).

dd368078 DWRITE_FONT_STRETCH_EXTRA_EXPANDED DWRITE_FONT_STRETCH_EXTRA_EXPANDED

Predefined font stretch : Ultra-expanded (9).

dd368078 DWRITE_FONT_STRETCH_ULTRA_EXPANDED DWRITE_FONT_STRETCH_ULTRA_EXPANDED

Represents the style of a font face as normal, italic, or oblique.

Three terms categorize the slant of a font: normal, italic, and oblique.

Font styleDescription
NormalThe characters in a normal, or roman, font are upright.
Italic The characters in an italic font are truly slanted and appear as they were designed.
ObliqueThe characters in an oblique font are artificially slanted.

?

For Oblique, the slant is achieved by performing a shear transformation on the characters from a normal font. When a true italic font is not available on a computer or printer, an oblique style can be generated from the normal font and used to simulate an italic font. The following illustration shows the normal, italic, and oblique font styles for the Palatino Linotype font. Notice how the italic font style has a more flowing and visually appealing appearance than the oblique font style, which is simply created by skewing the normal font style version of the text.

Note?? Values other than the ones defined in the enumeration are considered to be invalid, and they are rejected by font API functions.? dd368080 DWRITE_FONT_STYLE DWRITE_FONT_STYLE

Font style : Normal.

dd368080 DWRITE_FONT_STYLE_NORMAL DWRITE_FONT_STYLE_NORMAL

Font style : Oblique.

dd368080 DWRITE_FONT_STYLE_OBLIQUE DWRITE_FONT_STYLE_OBLIQUE

Font style : Italic.

dd368080 DWRITE_FONT_STYLE_ITALIC DWRITE_FONT_STYLE_ITALIC

Represents the density of a typeface, in terms of the lightness or heaviness of the strokes. The enumerated values correspond to the usWeightClass definition in the OpenType specification. The usWeightClass represents an integer value between 1 and 999. Lower values indicate lighter weights; higher values indicate heavier weights.

Weight differences are generally differentiated by an increased stroke or thickness that is associated with a given character in a typeface, as compared to a "normal" character from that same typeface. The following illustration shows an example of Normal and UltraBold weights for the Palatino Linotype typeface.

Note??Not all weights are available for all typefaces. When a weight is not available for a typeface, the closest matching weight is returned.?

Font weight values less than 1 or greater than 999 are considered invalid, and they are rejected by font API functions.

dd368082 DWRITE_FONT_WEIGHT DWRITE_FONT_WEIGHT

Predefined font weight : Thin (100).

dd368082 DWRITE_FONT_WEIGHT_THIN DWRITE_FONT_WEIGHT_THIN

Predefined font weight : Extra-light (200).

dd368082 DWRITE_FONT_WEIGHT_EXTRA_LIGHT DWRITE_FONT_WEIGHT_EXTRA_LIGHT

Predefined font weight : Ultra-light (200).

dd368082 DWRITE_FONT_WEIGHT_ULTRA_LIGHT DWRITE_FONT_WEIGHT_ULTRA_LIGHT

Predefined font weight : Light (300).

dd368082 DWRITE_FONT_WEIGHT_LIGHT DWRITE_FONT_WEIGHT_LIGHT

Predefined font weight : Semi-Light (350).

dd368082 DWRITE_FONT_WEIGHT_SEMI_LIGHT DWRITE_FONT_WEIGHT_SEMI_LIGHT

Predefined font weight : Normal (400).

dd368082 DWRITE_FONT_WEIGHT_NORMAL DWRITE_FONT_WEIGHT_NORMAL

Predefined font weight : Regular (400).

dd368082 DWRITE_FONT_WEIGHT_REGULAR DWRITE_FONT_WEIGHT_REGULAR

Predefined font weight : Medium (500).

dd368082 DWRITE_FONT_WEIGHT_MEDIUM DWRITE_FONT_WEIGHT_MEDIUM

Predefined font weight : Demi-bold (600).

dd368082 DWRITE_FONT_WEIGHT_DEMI_BOLD DWRITE_FONT_WEIGHT_DEMI_BOLD

Predefined font weight : Semi-bold (600).

dd368082 DWRITE_FONT_WEIGHT_SEMI_BOLD DWRITE_FONT_WEIGHT_SEMI_BOLD

Predefined font weight : Bold (700).

dd368082 DWRITE_FONT_WEIGHT_BOLD DWRITE_FONT_WEIGHT_BOLD

Predefined font weight : Extra-bold (800).

dd368082 DWRITE_FONT_WEIGHT_EXTRA_BOLD DWRITE_FONT_WEIGHT_EXTRA_BOLD

Predefined font weight : Ultra-bold (800).

dd368082 DWRITE_FONT_WEIGHT_ULTRA_BOLD DWRITE_FONT_WEIGHT_ULTRA_BOLD

Predefined font weight : Black (900).

dd368082 DWRITE_FONT_WEIGHT_BLACK DWRITE_FONT_WEIGHT_BLACK

Predefined font weight : Heavy (900).

dd368082 DWRITE_FONT_WEIGHT_HEAVY DWRITE_FONT_WEIGHT_HEAVY

Predefined font weight : Extra-black (950).

dd368082 DWRITE_FONT_WEIGHT_EXTRA_BLACK DWRITE_FONT_WEIGHT_EXTRA_BLACK

Predefined font weight : Ultra-black (950).

dd368082 DWRITE_FONT_WEIGHT_ULTRA_BLACK DWRITE_FONT_WEIGHT_ULTRA_BLACK

The enumeration contains values that specify how the glyph is oriented to the x-axis.

The text analyzer outputs values. The value that it outputs depends on the desired orientation, bidi level, and character properties.

jj126260 DWRITE_GLYPH_ORIENTATION_ANGLE DWRITE_GLYPH_ORIENTATION_ANGLE

Glyph orientation is upright.

jj126260 DWRITE_GLYPH_ORIENTATION_ANGLE_0_DEGREES DWRITE_GLYPH_ORIENTATION_ANGLE_0_DEGREES

Glyph orientation is rotated 90 degrees clockwise.

jj126260 DWRITE_GLYPH_ORIENTATION_ANGLE_90_DEGREES DWRITE_GLYPH_ORIENTATION_ANGLE_90_DEGREES

Glyph orientation is upside-down.

jj126260 DWRITE_GLYPH_ORIENTATION_ANGLE_180_DEGREES DWRITE_GLYPH_ORIENTATION_ANGLE_180_DEGREES

Glyph orientation is rotated 270 degrees clockwise.

jj126260 DWRITE_GLYPH_ORIENTATION_ANGLE_270_DEGREES DWRITE_GLYPH_ORIENTATION_ANGLE_270_DEGREES

Specifies whether to enable grid-fitting of glyph outlines (also known as hinting).

dn890718 DWRITE_GRID_FIT_MODE DWRITE_GRID_FIT_MODE

Choose grid fitting based on the font's table information.

dn890718 DWRITE_GRID_FIT_MODE_DEFAULT DWRITE_GRID_FIT_MODE_DEFAULT

Always disable grid fitting, using the ideal glyph outlines.

dn890718 DWRITE_GRID_FIT_MODE_DISABLED DWRITE_GRID_FIT_MODE_DISABLED

Enable grid fitting, adjusting glyph outlines for device pixel display.

dn890718 DWRITE_GRID_FIT_MODE_ENABLED DWRITE_GRID_FIT_MODE_ENABLED

The informational string enumeration which identifies a string embedded in a font file.

dd368094 DWRITE_INFORMATIONAL_STRING_ID DWRITE_INFORMATIONAL_STRING_ID

Indicates the string containing the unspecified name ID.

dd368094 DWRITE_INFORMATIONAL_STRING_NONE DWRITE_INFORMATIONAL_STRING_NONE

Indicates the string containing the copyright notice provided by the font.

dd368094 DWRITE_INFORMATIONAL_STRING_COPYRIGHT_NOTICE DWRITE_INFORMATIONAL_STRING_COPYRIGHT_NOTICE

Indicates the string containing a version number.

dd368094 DWRITE_INFORMATIONAL_STRING_VERSION_STRINGS DWRITE_INFORMATIONAL_STRING_VERSION_STRINGS

Indicates the string containing the trademark information provided by the font.

dd368094 DWRITE_INFORMATIONAL_STRING_TRADEMARK DWRITE_INFORMATIONAL_STRING_TRADEMARK

Indicates the string containing the name of the font manufacturer.

dd368094 DWRITE_INFORMATIONAL_STRING_MANUFACTURER DWRITE_INFORMATIONAL_STRING_MANUFACTURER

Indicates the string containing the name of the font designer.

dd368094 DWRITE_INFORMATIONAL_STRING_DESIGNER DWRITE_INFORMATIONAL_STRING_DESIGNER

Indicates the string containing the URL of the font designer (with protocol, e.g., http://, ftp://).

dd368094 DWRITE_INFORMATIONAL_STRING_DESIGNER_URL DWRITE_INFORMATIONAL_STRING_DESIGNER_URL

Indicates the string containing the description of the font. This may also contain revision information, usage recommendations, history, features, and so on.

dd368094 DWRITE_INFORMATIONAL_STRING_DESCRIPTION DWRITE_INFORMATIONAL_STRING_DESCRIPTION

Indicates the string containing the URL of the font vendor (with protocol, e.g., http://, ftp://). If a unique serial number is embedded in the URL, it can be used to register the font.

dd368094 DWRITE_INFORMATIONAL_STRING_FONT_VENDOR_URL DWRITE_INFORMATIONAL_STRING_FONT_VENDOR_URL

Indicates the string containing the description of how the font may be legally used, or different example scenarios for licensed use.

dd368094 DWRITE_INFORMATIONAL_STRING_LICENSE_DESCRIPTION DWRITE_INFORMATIONAL_STRING_LICENSE_DESCRIPTION

Indicates the string containing the URL where additional licensing information can be found.

dd368094 DWRITE_INFORMATIONAL_STRING_LICENSE_INFO_URL DWRITE_INFORMATIONAL_STRING_LICENSE_INFO_URL

Indicates the string containing the GDI-compatible family name. Since GDI allows a maximum of four fonts per family, fonts in the same family may have different GDI-compatible family names (e.g., "Arial", "Arial Narrow", "Arial Black").

dd368094 DWRITE_INFORMATIONAL_STRING_WIN32_FAMILY_NAMES DWRITE_INFORMATIONAL_STRING_WIN32_FAMILY_NAMES

Indicates the string containing a GDI-compatible subfamily name.

dd368094 DWRITE_INFORMATIONAL_STRING_WIN32_SUBFAMILY_NAMES DWRITE_INFORMATIONAL_STRING_WIN32_SUBFAMILY_NAMES

Indicates the string containing the family name preferred by the designer. This enables font designers to group more than four fonts in a single family without losing compatibility with GDI. This name is typically only present if it differs from the GDI-compatible family name.

dd368094 DWRITE_INFORMATIONAL_STRING_PREFERRED_FAMILY_NAMES DWRITE_INFORMATIONAL_STRING_PREFERRED_FAMILY_NAMES

Indicates the string containing the subfamily name preferred by the designer. This name is typically only present if it differs from the GDI-compatible subfamily name.

dd368094 DWRITE_INFORMATIONAL_STRING_PREFERRED_SUBFAMILY_NAMES DWRITE_INFORMATIONAL_STRING_PREFERRED_SUBFAMILY_NAMES

Contains sample text for display in font lists. This can be the font name or any other text that the designer thinks is the best example to display the font in.

dd368094 DWRITE_INFORMATIONAL_STRING_SAMPLE_TEXT DWRITE_INFORMATIONAL_STRING_SAMPLE_TEXT

The full name of the font, like Arial Bold, from name id 4 in the name table

dd368094 DWRITE_INFORMATIONAL_STRING_FULL_NAME DWRITE_INFORMATIONAL_STRING_FULL_NAME

The postscript name of the font, like GillSans-Bold, from name id 6 in the name table.

dd368094 DWRITE_INFORMATIONAL_STRING_POSTSCRIPT_NAME DWRITE_INFORMATIONAL_STRING_POSTSCRIPT_NAME

The postscript CID findfont name, from name id 20 in the name table

dd368094 DWRITE_INFORMATIONAL_STRING_POSTSCRIPT_CID_NAME DWRITE_INFORMATIONAL_STRING_POSTSCRIPT_CID_NAME
No documentation. dd368094 DWRITE_INFORMATIONAL_STRING_WWS_FAMILY_NAME DWRITE_INFORMATIONAL_STRING_WWS_FAMILY_NAME No documentation. dd368094 DWRITE_INFORMATIONAL_STRING_DESIGN_SCRIPT_LANGUAGE_TAG DWRITE_INFORMATIONAL_STRING_DESIGN_SCRIPT_LANGUAGE_TAG No documentation. dd368094 DWRITE_INFORMATIONAL_STRING_SUPPORTED_SCRIPT_LANGUAGE_TAG DWRITE_INFORMATIONAL_STRING_SUPPORTED_SCRIPT_LANGUAGE_TAG

The method used for line spacing in a text layout.

The line spacing method is set by using the SetLineSpacing method of the or interfaces. To get the current line spacing method of a text format or text layou use the GetLineSpacing.

dd368101 DWRITE_LINE_SPACING_METHOD DWRITE_LINE_SPACING_METHOD

Line spacing depends solely on the content, adjusting to accommodate the size of fonts and inline objects.

dd368101 DWRITE_LINE_SPACING_METHOD_DEFAULT DWRITE_LINE_SPACING_METHOD_DEFAULT

Lines are explicitly set to uniform spacing, regardless of the size of fonts and inline objects. This can be useful to avoid the uneven appearance that can occur from font fallback.

dd368101 DWRITE_LINE_SPACING_METHOD_UNIFORM DWRITE_LINE_SPACING_METHOD_UNIFORM

Line spacing and baseline distances are proportional to the computed values based on the content, the size of the fonts and inline objects.

Note??This value is only available on Windows?10 or later and it can be used with , but can not be used with . ?
dd368101 DWRITE_LINE_SPACING_METHOD_PROPORTIONAL DWRITE_LINE_SPACING_METHOD_PROPORTIONAL

Specifies the location of a resource.

dn890740 DWRITE_LOCALITY DWRITE_LOCALITY

The resource is remote, and information about it is unknown, including the file size and date. If you attempt to create a font or file stream, the creation will fail until locality becomes at least partial.

dn890740 DWRITE_LOCALITY_REMOTE DWRITE_LOCALITY_REMOTE

The resource is partially local, which means you can query the size and date of the file stream. With this type, you also might be able to create a font face and retrieve the particular glyphs for metrics and drawing, but not all the glyphs will be present.

dn890740 DWRITE_LOCALITY_PARTIAL DWRITE_LOCALITY_PARTIAL

The resource is completely local, and all font functions can be called without concern of missing data or errors related to network connectivity.

dn890740 DWRITE_LOCALITY_LOCAL DWRITE_LOCALITY_LOCAL

Specifies how to apply number substitution on digits and related punctuation.

dd368107 DWRITE_NUMBER_SUBSTITUTION_METHOD DWRITE_NUMBER_SUBSTITUTION_METHOD

Specifies that the substitution method should be determined based on the LOCALE_IDIGITSUBSTITUTION value of the specified text culture.

dd368107 DWRITE_NUMBER_SUBSTITUTION_METHOD_FROM_CULTURE DWRITE_NUMBER_SUBSTITUTION_METHOD_FROM_CULTURE

If the culture is Arabic or Persian, specifies that the number shapes depend on the context. Either traditional or nominal number shapes are used, depending on the nearest preceding strong character or (if there is none) the reading direction of the paragraph.

dd368107 DWRITE_NUMBER_SUBSTITUTION_METHOD_CONTEXTUAL DWRITE_NUMBER_SUBSTITUTION_METHOD_CONTEXTUAL

Specifies that code points 0x30-0x39 are always rendered as nominal numeral shapes (ones of the European number), that is, no substitution is performed.

dd368107 DWRITE_NUMBER_SUBSTITUTION_METHOD_NONE DWRITE_NUMBER_SUBSTITUTION_METHOD_NONE

Specifies that numbers are rendered using the national number shapes as specified by the LOCALE_SNATIVEDIGITS value of the specified text culture.

dd368107 DWRITE_NUMBER_SUBSTITUTION_METHOD_NATIONAL DWRITE_NUMBER_SUBSTITUTION_METHOD_NATIONAL

Specifies that numbers are rendered using the traditional shapes for the specified culture. For most cultures, this is the same as NativeNational. However, NativeNational results in Latin numbers for some Arabic cultures, whereasDWRITE_NUMBER_SUBSTITUTION_METHOD_TRADITIONAL results in arabic numbers for all Arabic cultures.

dd368107 DWRITE_NUMBER_SUBSTITUTION_METHOD_TRADITIONAL DWRITE_NUMBER_SUBSTITUTION_METHOD_TRADITIONAL

The optical margin alignment mode.

By default, glyphs are aligned to the margin by the default origin and side-bearings of the glyph. If you specify , then the alignment uses the side bearings to offset the glyph from the aligned edge to ensure the ink of the glyphs are aligned.

dn280421 DWRITE_OPTICAL_ALIGNMENT DWRITE_OPTICAL_ALIGNMENT

Align to the default origin and side-bearings of the glyph.

dn280421 DWRITE_OPTICAL_ALIGNMENT_NONE DWRITE_OPTICAL_ALIGNMENT_NONE

Align to the ink of the glyphs, such that the black box abuts the margins.

dn280421 DWRITE_OPTICAL_ALIGNMENT_NO_SIDE_BEARINGS DWRITE_OPTICAL_ALIGNMENT_NO_SIDE_BEARINGS

The enumeration contains values that specify the policy used by the method to determine whether to render glyphs in outline mode.

Glyphs are rendered in outline mode by default at large sizes for performance reasons, but how large (that is, the outline threshold) depends on the quality of outline rendering. If the graphics system renders anti-aliased outlines, a relatively low threshold is used. But if the graphics system renders aliased outlines, a much higher threshold is used.

jj126262 DWRITE_OUTLINE_THRESHOLD DWRITE_OUTLINE_THRESHOLD
No documentation. jj126262 DWRITE_OUTLINE_THRESHOLD_ANTIALIASED DWRITE_OUTLINE_THRESHOLD_ANTIALIASED No documentation. jj126262 DWRITE_OUTLINE_THRESHOLD_ALIASED DWRITE_OUTLINE_THRESHOLD_ALIASED

The enumeration contains values that specify the style of termination of stems and rounded letterforms for text.

hh997721 DWRITE_PANOSE_ARM_STYLE DWRITE_PANOSE_ARM_STYLE

Any arm style.

hh997721 DWRITE_PANOSE_ARM_STYLE_ANY DWRITE_PANOSE_ARM_STYLE_ANY

No fit arm style.

hh997721 DWRITE_PANOSE_ARM_STYLE_NO_FIT DWRITE_PANOSE_ARM_STYLE_NO_FIT

The arm style is straight horizontal.

hh997721 DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_HORIZONTAL DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_HORIZONTAL

The arm style is straight wedge.

hh997721 DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_WEDGE DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_WEDGE

The arm style is straight vertical.

hh997721 DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_VERTICAL DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_VERTICAL

The arm style is straight single serif.

hh997721 DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_SINGLE_SERIF DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_SINGLE_SERIF

The arm style is straight double serif.

hh997721 DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_DOUBLE_SERIF DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_DOUBLE_SERIF

The arm style is non-straight horizontal.

hh997721 DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_HORIZONTAL DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_HORIZONTAL

The arm style is non-straight wedge.

hh997721 DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_WEDGE DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_WEDGE

The arm style is non-straight vertical.

hh997721 DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_VERTICAL DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_VERTICAL

The arm style is non-straight single serif.

hh997721 DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_SINGLE_SERIF DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_SINGLE_SERIF

The arm style is non-straight double serif.

hh997721 DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_DOUBLE_SERIF DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_DOUBLE_SERIF

The arm style is straight horizontal.

hh997721 DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_HORZ DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_HORZ

The arm style is straight vertical.

hh997721 DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_VERT DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_VERT

The arm style is non-straight horizontal.

hh997721 DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_HORZ DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_HORZ

The arm style is non-straight wedge.

hh997721 DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_WEDGE DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_WEDGE

The arm style is non-straight vertical.

hh997721 DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_VERT DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_VERT

The arm style is non-straight single serif.

hh997721 DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_SINGLE_SERIF DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_SINGLE_SERIF

The arm style is non-straight double serif.

hh997721 DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_DOUBLE_SERIF DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_DOUBLE_SERIF

The enumeration contains values that specify the ratio between the width and height of the character face.

hh997722 DWRITE_PANOSE_ASPECT DWRITE_PANOSE_ASPECT

Any aspect.

hh997722 DWRITE_PANOSE_ASPECT_ANY DWRITE_PANOSE_ASPECT_ANY

No fit for aspect.

hh997722 DWRITE_PANOSE_ASPECT_NO_FIT DWRITE_PANOSE_ASPECT_NO_FIT

Super condensed aspect.

hh997722 DWRITE_PANOSE_ASPECT_SUPER_CONDENSED DWRITE_PANOSE_ASPECT_SUPER_CONDENSED

Very condensed aspect.

hh997722 DWRITE_PANOSE_ASPECT_VERY_CONDENSED DWRITE_PANOSE_ASPECT_VERY_CONDENSED

Condensed aspect.

hh997722 DWRITE_PANOSE_ASPECT_CONDENSED DWRITE_PANOSE_ASPECT_CONDENSED

Normal aspect.

hh997722 DWRITE_PANOSE_ASPECT_NORMAL DWRITE_PANOSE_ASPECT_NORMAL

Extended aspect.

hh997722 DWRITE_PANOSE_ASPECT_EXTENDED DWRITE_PANOSE_ASPECT_EXTENDED

Very extended aspect.

hh997722 DWRITE_PANOSE_ASPECT_VERY_EXTENDED DWRITE_PANOSE_ASPECT_VERY_EXTENDED

Super extended aspect.

hh997722 DWRITE_PANOSE_ASPECT_SUPER_EXTENDED DWRITE_PANOSE_ASPECT_SUPER_EXTENDED

Monospace aspect.

hh997722 DWRITE_PANOSE_ASPECT_MONOSPACED DWRITE_PANOSE_ASPECT_MONOSPACED

The enumeration contains values that specify info about the ratio between width and height of the character face.

hh997723 DWRITE_PANOSE_ASPECT_RATIO DWRITE_PANOSE_ASPECT_RATIO

Any aspect ratio.

hh997723 DWRITE_PANOSE_ASPECT_RATIO_ANY DWRITE_PANOSE_ASPECT_RATIO_ANY

No fit for aspect ratio.

hh997723 DWRITE_PANOSE_ASPECT_RATIO_NO_FIT DWRITE_PANOSE_ASPECT_RATIO_NO_FIT

Very condensed aspect ratio.

hh997723 DWRITE_PANOSE_ASPECT_RATIO_VERY_CONDENSED DWRITE_PANOSE_ASPECT_RATIO_VERY_CONDENSED

Condensed aspect ratio.

hh997723 DWRITE_PANOSE_ASPECT_RATIO_CONDENSED DWRITE_PANOSE_ASPECT_RATIO_CONDENSED

Normal aspect ratio.

hh997723 DWRITE_PANOSE_ASPECT_RATIO_NORMAL DWRITE_PANOSE_ASPECT_RATIO_NORMAL

Expanded aspect ratio.

hh997723 DWRITE_PANOSE_ASPECT_RATIO_EXPANDED DWRITE_PANOSE_ASPECT_RATIO_EXPANDED

Very expanded aspect ratio.

hh997723 DWRITE_PANOSE_ASPECT_RATIO_VERY_EXPANDED DWRITE_PANOSE_ASPECT_RATIO_VERY_EXPANDED

The enumeration contains values that specify the type of characters available in the font.

hh997724 DWRITE_PANOSE_CHARACTER_RANGES DWRITE_PANOSE_CHARACTER_RANGES

Any range.

hh997724 DWRITE_PANOSE_CHARACTER_RANGES_ANY DWRITE_PANOSE_CHARACTER_RANGES_ANY

No fit for range.

hh997724 DWRITE_PANOSE_CHARACTER_RANGES_NO_FIT DWRITE_PANOSE_CHARACTER_RANGES_NO_FIT

The range includes extended collection.

hh997724 DWRITE_PANOSE_CHARACTER_RANGES_EXTENDED_COLLECTION DWRITE_PANOSE_CHARACTER_RANGES_EXTENDED_COLLECTION

The range includes literals.

hh997724 DWRITE_PANOSE_CHARACTER_RANGES_LITERALS DWRITE_PANOSE_CHARACTER_RANGES_LITERALS

The range doesn't include lower case.

hh997724 DWRITE_PANOSE_CHARACTER_RANGES_NO_LOWER_CASE DWRITE_PANOSE_CHARACTER_RANGES_NO_LOWER_CASE

The range includes small capitals.

hh997724 DWRITE_PANOSE_CHARACTER_RANGES_SMALL_CAPS DWRITE_PANOSE_CHARACTER_RANGES_SMALL_CAPS

The enumeration contains values that specify the ratio between thickest and thinnest point of the stroke for a letter such as uppercase 'O'.

hh997725 DWRITE_PANOSE_CONTRAST DWRITE_PANOSE_CONTRAST

Any contrast.

hh997725 DWRITE_PANOSE_CONTRAST_ANY DWRITE_PANOSE_CONTRAST_ANY

No fit contrast.

hh997725 DWRITE_PANOSE_CONTRAST_NO_FIT DWRITE_PANOSE_CONTRAST_NO_FIT

No contrast.

hh997725 DWRITE_PANOSE_CONTRAST_NONE DWRITE_PANOSE_CONTRAST_NONE

Very low contrast.

hh997725 DWRITE_PANOSE_CONTRAST_VERY_LOW DWRITE_PANOSE_CONTRAST_VERY_LOW

Low contrast.

hh997725 DWRITE_PANOSE_CONTRAST_LOW DWRITE_PANOSE_CONTRAST_LOW

Medium low contrast.

hh997725 DWRITE_PANOSE_CONTRAST_MEDIUM_LOW DWRITE_PANOSE_CONTRAST_MEDIUM_LOW

Medium contrast.

hh997725 DWRITE_PANOSE_CONTRAST_MEDIUM DWRITE_PANOSE_CONTRAST_MEDIUM

Medium high contrast.

hh997725 DWRITE_PANOSE_CONTRAST_MEDIUM_HIGH DWRITE_PANOSE_CONTRAST_MEDIUM_HIGH

High contrast.

hh997725 DWRITE_PANOSE_CONTRAST_HIGH DWRITE_PANOSE_CONTRAST_HIGH

Very high contrast.

hh997725 DWRITE_PANOSE_CONTRAST_VERY_HIGH DWRITE_PANOSE_CONTRAST_VERY_HIGH

Horizontal low contrast.

hh997725 DWRITE_PANOSE_CONTRAST_HORIZONTAL_LOW DWRITE_PANOSE_CONTRAST_HORIZONTAL_LOW

Horizontal medium contrast.

hh997725 DWRITE_PANOSE_CONTRAST_HORIZONTAL_MEDIUM DWRITE_PANOSE_CONTRAST_HORIZONTAL_MEDIUM

Horizontal high contrast.

hh997725 DWRITE_PANOSE_CONTRAST_HORIZONTAL_HIGH DWRITE_PANOSE_CONTRAST_HORIZONTAL_HIGH

Broken contrast.

hh997725 DWRITE_PANOSE_CONTRAST_BROKEN DWRITE_PANOSE_CONTRAST_BROKEN

The enumeration contains values that specify the general look of the character face.

hh997726 DWRITE_PANOSE_DECORATIVE_CLASS DWRITE_PANOSE_DECORATIVE_CLASS

Any class of decorative typeface.

hh997726 DWRITE_PANOSE_DECORATIVE_CLASS_ANY DWRITE_PANOSE_DECORATIVE_CLASS_ANY

No fit for decorative typeface.

hh997726 DWRITE_PANOSE_DECORATIVE_CLASS_NO_FIT DWRITE_PANOSE_DECORATIVE_CLASS_NO_FIT

Derivative decorative typeface.

hh997726 DWRITE_PANOSE_DECORATIVE_CLASS_DERIVATIVE DWRITE_PANOSE_DECORATIVE_CLASS_DERIVATIVE

Nonstandard topology decorative typeface.

hh997726 DWRITE_PANOSE_DECORATIVE_CLASS_NONSTANDARD_TOPOLOGY DWRITE_PANOSE_DECORATIVE_CLASS_NONSTANDARD_TOPOLOGY

Nonstandard elements decorative typeface.

hh997726 DWRITE_PANOSE_DECORATIVE_CLASS_NONSTANDARD_ELEMENTS DWRITE_PANOSE_DECORATIVE_CLASS_NONSTANDARD_ELEMENTS

Nonstandard aspect decorative typeface.

hh997726 DWRITE_PANOSE_DECORATIVE_CLASS_NONSTANDARD_ASPECT DWRITE_PANOSE_DECORATIVE_CLASS_NONSTANDARD_ASPECT

Initials decorative typeface.

hh997726 DWRITE_PANOSE_DECORATIVE_CLASS_INITIALS DWRITE_PANOSE_DECORATIVE_CLASS_INITIALS

Cartoon decorative typeface.

hh997726 DWRITE_PANOSE_DECORATIVE_CLASS_CARTOON DWRITE_PANOSE_DECORATIVE_CLASS_CARTOON

Picture stems decorative typeface.

hh997726 DWRITE_PANOSE_DECORATIVE_CLASS_PICTURE_STEMS DWRITE_PANOSE_DECORATIVE_CLASS_PICTURE_STEMS

Ornamented decorative typeface.

hh997726 DWRITE_PANOSE_DECORATIVE_CLASS_ORNAMENTED DWRITE_PANOSE_DECORATIVE_CLASS_ORNAMENTED

Text and background decorative typeface.

hh997726 DWRITE_PANOSE_DECORATIVE_CLASS_TEXT_AND_BACKGROUND DWRITE_PANOSE_DECORATIVE_CLASS_TEXT_AND_BACKGROUND

Collage decorative typeface.

hh997726 DWRITE_PANOSE_DECORATIVE_CLASS_COLLAGE DWRITE_PANOSE_DECORATIVE_CLASS_COLLAGE

Montage decorative typeface.

hh997726 DWRITE_PANOSE_DECORATIVE_CLASS_MONTAGE DWRITE_PANOSE_DECORATIVE_CLASS_MONTAGE

The enumeration contains values that specify the overall shape characteristics of the font.

hh997727 DWRITE_PANOSE_DECORATIVE_TOPOLOGY DWRITE_PANOSE_DECORATIVE_TOPOLOGY

Any decorative topology.

hh997727 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_ANY DWRITE_PANOSE_DECORATIVE_TOPOLOGY_ANY

No fit for decorative topology.

hh997727 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_NO_FIT DWRITE_PANOSE_DECORATIVE_TOPOLOGY_NO_FIT

Standard decorative topology.

hh997727 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_STANDARD DWRITE_PANOSE_DECORATIVE_TOPOLOGY_STANDARD

Square decorative topology.

hh997727 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_SQUARE DWRITE_PANOSE_DECORATIVE_TOPOLOGY_SQUARE

Multiple segment decorative topology.

hh997727 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_MULTIPLE_SEGMENT DWRITE_PANOSE_DECORATIVE_TOPOLOGY_MULTIPLE_SEGMENT

Art deco decorative topology.

hh997727 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_ART_DECO DWRITE_PANOSE_DECORATIVE_TOPOLOGY_ART_DECO

Uneven weighting decorative topology.

hh997727 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_UNEVEN_WEIGHTING DWRITE_PANOSE_DECORATIVE_TOPOLOGY_UNEVEN_WEIGHTING

Diverse arms decorative topology.

hh997727 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_DIVERSE_ARMS DWRITE_PANOSE_DECORATIVE_TOPOLOGY_DIVERSE_ARMS

Diverse forms decorative topology.

hh997727 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_DIVERSE_FORMS DWRITE_PANOSE_DECORATIVE_TOPOLOGY_DIVERSE_FORMS

Lombardic forms decorative topology.

hh997727 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_LOMBARDIC_FORMS DWRITE_PANOSE_DECORATIVE_TOPOLOGY_LOMBARDIC_FORMS

Upper case in lower case decorative topology.

hh997727 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_UPPER_CASE_IN_LOWER_CASE DWRITE_PANOSE_DECORATIVE_TOPOLOGY_UPPER_CASE_IN_LOWER_CASE

The decorative topology is implied.

hh997727 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_IMPLIED_TOPOLOGY DWRITE_PANOSE_DECORATIVE_TOPOLOGY_IMPLIED_TOPOLOGY

Horseshoe E and A decorative topology.

hh997727 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_HORSESHOE_E_AND_A DWRITE_PANOSE_DECORATIVE_TOPOLOGY_HORSESHOE_E_AND_A

Cursive decorative topology.

hh997727 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_CURSIVE DWRITE_PANOSE_DECORATIVE_TOPOLOGY_CURSIVE

Blackletter decorative topology.

hh997727 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_BLACKLETTER DWRITE_PANOSE_DECORATIVE_TOPOLOGY_BLACKLETTER

Swash variance decorative topology.

hh997727 DWRITE_PANOSE_DECORATIVE_TOPOLOGY_SWASH_VARIANCE DWRITE_PANOSE_DECORATIVE_TOPOLOGY_SWASH_VARIANCE

The enumeration contains values that specify the kind of typeface classification.

hh995028 DWRITE_PANOSE_FAMILY DWRITE_PANOSE_FAMILY

Any typeface classification.

hh995028 DWRITE_PANOSE_FAMILY_ANY DWRITE_PANOSE_FAMILY_ANY

No fit typeface classification.

hh995028 DWRITE_PANOSE_FAMILY_NO_FIT DWRITE_PANOSE_FAMILY_NO_FIT

Text display typeface classification.

hh995028 DWRITE_PANOSE_FAMILY_TEXT_DISPLAY DWRITE_PANOSE_FAMILY_TEXT_DISPLAY

Script (or hand written) typeface classification.

hh995028 DWRITE_PANOSE_FAMILY_SCRIPT DWRITE_PANOSE_FAMILY_SCRIPT

Decorative typeface classification.

hh995028 DWRITE_PANOSE_FAMILY_DECORATIVE DWRITE_PANOSE_FAMILY_DECORATIVE

Symbol typeface classification.

hh995028 DWRITE_PANOSE_FAMILY_SYMBOL DWRITE_PANOSE_FAMILY_SYMBOL

Pictorial (or symbol) typeface classification.

hh995028 DWRITE_PANOSE_FAMILY_PICTORIAL DWRITE_PANOSE_FAMILY_PICTORIAL

The enumeration contains values that specify the type of fill and line treatment.

hh997728 DWRITE_PANOSE_FILL DWRITE_PANOSE_FILL

Any fill.

hh997728 DWRITE_PANOSE_FILL_ANY DWRITE_PANOSE_FILL_ANY

No fit for fill.

hh997728 DWRITE_PANOSE_FILL_NO_FIT DWRITE_PANOSE_FILL_NO_FIT

The fill is the standard solid fill.

hh997728 DWRITE_PANOSE_FILL_STANDARD_SOLID_FILL DWRITE_PANOSE_FILL_STANDARD_SOLID_FILL

No fill.

hh997728 DWRITE_PANOSE_FILL_NO_FILL DWRITE_PANOSE_FILL_NO_FILL

The fill is patterned fill.

hh997728 DWRITE_PANOSE_FILL_PATTERNED_FILL DWRITE_PANOSE_FILL_PATTERNED_FILL

The fill is complex fill.

hh997728 DWRITE_PANOSE_FILL_COMPLEX_FILL DWRITE_PANOSE_FILL_COMPLEX_FILL

The fill is shaped fill.

hh997728 DWRITE_PANOSE_FILL_SHAPED_FILL DWRITE_PANOSE_FILL_SHAPED_FILL

The fill is drawn distressed.

hh997728 DWRITE_PANOSE_FILL_DRAWN_DISTRESSED DWRITE_PANOSE_FILL_DRAWN_DISTRESSED

The enumeration contains values that specify how character ends and miniscule ascenders are treated.

hh997729 DWRITE_PANOSE_FINIALS DWRITE_PANOSE_FINIALS

Any finials.

hh997729 DWRITE_PANOSE_FINIALS_ANY DWRITE_PANOSE_FINIALS_ANY

No fit for finials.

hh997729 DWRITE_PANOSE_FINIALS_NO_FIT DWRITE_PANOSE_FINIALS_NO_FIT

No loops.

hh997729 DWRITE_PANOSE_FINIALS_NONE_NO_LOOPS DWRITE_PANOSE_FINIALS_NONE_NO_LOOPS

No closed loops.

hh997729 DWRITE_PANOSE_FINIALS_NONE_CLOSED_LOOPS DWRITE_PANOSE_FINIALS_NONE_CLOSED_LOOPS

No open loops.

hh997729 DWRITE_PANOSE_FINIALS_NONE_OPEN_LOOPS DWRITE_PANOSE_FINIALS_NONE_OPEN_LOOPS

Sharp with no loops.

hh997729 DWRITE_PANOSE_FINIALS_SHARP_NO_LOOPS DWRITE_PANOSE_FINIALS_SHARP_NO_LOOPS

Sharp with closed loops.

hh997729 DWRITE_PANOSE_FINIALS_SHARP_CLOSED_LOOPS DWRITE_PANOSE_FINIALS_SHARP_CLOSED_LOOPS

Sharp with open loops.

hh997729 DWRITE_PANOSE_FINIALS_SHARP_OPEN_LOOPS DWRITE_PANOSE_FINIALS_SHARP_OPEN_LOOPS

Tapered with no loops.

hh997729 DWRITE_PANOSE_FINIALS_TAPERED_NO_LOOPS DWRITE_PANOSE_FINIALS_TAPERED_NO_LOOPS

Tapered with closed loops.

hh997729 DWRITE_PANOSE_FINIALS_TAPERED_CLOSED_LOOPS DWRITE_PANOSE_FINIALS_TAPERED_CLOSED_LOOPS

Tapered with open loops.

hh997729 DWRITE_PANOSE_FINIALS_TAPERED_OPEN_LOOPS DWRITE_PANOSE_FINIALS_TAPERED_OPEN_LOOPS

Round with no loops.

hh997729 DWRITE_PANOSE_FINIALS_ROUND_NO_LOOPS DWRITE_PANOSE_FINIALS_ROUND_NO_LOOPS

Round with closed loops.

hh997729 DWRITE_PANOSE_FINIALS_ROUND_CLOSED_LOOPS DWRITE_PANOSE_FINIALS_ROUND_CLOSED_LOOPS

Round with open loops.

hh997729 DWRITE_PANOSE_FINIALS_ROUND_OPEN_LOOPS DWRITE_PANOSE_FINIALS_ROUND_OPEN_LOOPS

The enumeration contains values that specify the roundness of letterform for text.

hh997730 DWRITE_PANOSE_LETTERFORM DWRITE_PANOSE_LETTERFORM

Any letterform.

hh997730 DWRITE_PANOSE_LETTERFORM_ANY DWRITE_PANOSE_LETTERFORM_ANY

No fit letterform.

hh997730 DWRITE_PANOSE_LETTERFORM_NO_FIT DWRITE_PANOSE_LETTERFORM_NO_FIT

Normal contact letterform.

hh997730 DWRITE_PANOSE_LETTERFORM_NORMAL_CONTACT DWRITE_PANOSE_LETTERFORM_NORMAL_CONTACT

Normal weighted letterform.

hh997730 DWRITE_PANOSE_LETTERFORM_NORMAL_WEIGHTED DWRITE_PANOSE_LETTERFORM_NORMAL_WEIGHTED

Normal boxed letterform.

hh997730 DWRITE_PANOSE_LETTERFORM_NORMAL_BOXED DWRITE_PANOSE_LETTERFORM_NORMAL_BOXED

Normal flattened letterform.

hh997730 DWRITE_PANOSE_LETTERFORM_NORMAL_FLATTENED DWRITE_PANOSE_LETTERFORM_NORMAL_FLATTENED

Normal rounded letterform.

hh997730 DWRITE_PANOSE_LETTERFORM_NORMAL_ROUNDED DWRITE_PANOSE_LETTERFORM_NORMAL_ROUNDED

Normal off-center letterform.

hh997730 DWRITE_PANOSE_LETTERFORM_NORMAL_OFF_CENTER DWRITE_PANOSE_LETTERFORM_NORMAL_OFF_CENTER

Normal square letterform.

hh997730 DWRITE_PANOSE_LETTERFORM_NORMAL_SQUARE DWRITE_PANOSE_LETTERFORM_NORMAL_SQUARE

Oblique contact letterform.

hh997730 DWRITE_PANOSE_LETTERFORM_OBLIQUE_CONTACT DWRITE_PANOSE_LETTERFORM_OBLIQUE_CONTACT

Oblique weighted letterform.

hh997730 DWRITE_PANOSE_LETTERFORM_OBLIQUE_WEIGHTED DWRITE_PANOSE_LETTERFORM_OBLIQUE_WEIGHTED

Oblique boxed letterform.

hh997730 DWRITE_PANOSE_LETTERFORM_OBLIQUE_BOXED DWRITE_PANOSE_LETTERFORM_OBLIQUE_BOXED

Oblique flattened letterform.

hh997730 DWRITE_PANOSE_LETTERFORM_OBLIQUE_FLATTENED DWRITE_PANOSE_LETTERFORM_OBLIQUE_FLATTENED

Oblique rounded letterform.

hh997730 DWRITE_PANOSE_LETTERFORM_OBLIQUE_ROUNDED DWRITE_PANOSE_LETTERFORM_OBLIQUE_ROUNDED

Oblique off-center letterform.

hh997730 DWRITE_PANOSE_LETTERFORM_OBLIQUE_OFF_CENTER DWRITE_PANOSE_LETTERFORM_OBLIQUE_OFF_CENTER

Oblique square letterform.

hh997730 DWRITE_PANOSE_LETTERFORM_OBLIQUE_SQUARE DWRITE_PANOSE_LETTERFORM_OBLIQUE_SQUARE

The enumeration contains values that specify the handling of the outline for the decorative typeface.

hh997731 DWRITE_PANOSE_LINING DWRITE_PANOSE_LINING

Any lining.

hh997731 DWRITE_PANOSE_LINING_ANY DWRITE_PANOSE_LINING_ANY

No fit for lining.

hh997731 DWRITE_PANOSE_LINING_NO_FIT DWRITE_PANOSE_LINING_NO_FIT

No lining.

hh997731 DWRITE_PANOSE_LINING_NONE DWRITE_PANOSE_LINING_NONE

The lining is inline.

hh997731 DWRITE_PANOSE_LINING_INLINE DWRITE_PANOSE_LINING_INLINE

The lining is outline.

hh997731 DWRITE_PANOSE_LINING_OUTLINE DWRITE_PANOSE_LINING_OUTLINE

The lining is engraved.

hh997731 DWRITE_PANOSE_LINING_ENGRAVED DWRITE_PANOSE_LINING_ENGRAVED

The lining is shadowed.

hh997731 DWRITE_PANOSE_LINING_SHADOW DWRITE_PANOSE_LINING_SHADOW

The lining is relief.

hh997731 DWRITE_PANOSE_LINING_RELIEF DWRITE_PANOSE_LINING_RELIEF

The lining is backdrop.

hh997731 DWRITE_PANOSE_LINING_BACKDROP DWRITE_PANOSE_LINING_BACKDROP

The enumeration contains values that specify info about the placement of midline across uppercase characters and the treatment of diagonal stem apexes.

hh997732 DWRITE_PANOSE_MIDLINE DWRITE_PANOSE_MIDLINE

Any midline.

hh997732 DWRITE_PANOSE_MIDLINE_ANY DWRITE_PANOSE_MIDLINE_ANY

No fit midline.

hh997732 DWRITE_PANOSE_MIDLINE_NO_FIT DWRITE_PANOSE_MIDLINE_NO_FIT

Standard trimmed midline.

hh997732 DWRITE_PANOSE_MIDLINE_STANDARD_TRIMMED DWRITE_PANOSE_MIDLINE_STANDARD_TRIMMED

Standard pointed midline.

hh997732 DWRITE_PANOSE_MIDLINE_STANDARD_POINTED DWRITE_PANOSE_MIDLINE_STANDARD_POINTED

Standard serifed midline.

hh997732 DWRITE_PANOSE_MIDLINE_STANDARD_SERIFED DWRITE_PANOSE_MIDLINE_STANDARD_SERIFED

High trimmed midline.

hh997732 DWRITE_PANOSE_MIDLINE_HIGH_TRIMMED DWRITE_PANOSE_MIDLINE_HIGH_TRIMMED

High pointed midline.

hh997732 DWRITE_PANOSE_MIDLINE_HIGH_POINTED DWRITE_PANOSE_MIDLINE_HIGH_POINTED

High serifed midline.

hh997732 DWRITE_PANOSE_MIDLINE_HIGH_SERIFED DWRITE_PANOSE_MIDLINE_HIGH_SERIFED

Constant trimmed midline.

hh997732 DWRITE_PANOSE_MIDLINE_CONSTANT_TRIMMED DWRITE_PANOSE_MIDLINE_CONSTANT_TRIMMED

Constant pointed midline.

hh997732 DWRITE_PANOSE_MIDLINE_CONSTANT_POINTED DWRITE_PANOSE_MIDLINE_CONSTANT_POINTED

Constant serifed midline.

hh997732 DWRITE_PANOSE_MIDLINE_CONSTANT_SERIFED DWRITE_PANOSE_MIDLINE_CONSTANT_SERIFED

Low trimmed midline.

hh997732 DWRITE_PANOSE_MIDLINE_LOW_TRIMMED DWRITE_PANOSE_MIDLINE_LOW_TRIMMED

Low pointed midline.

hh997732 DWRITE_PANOSE_MIDLINE_LOW_POINTED DWRITE_PANOSE_MIDLINE_LOW_POINTED

Low serifed midline.

hh997732 DWRITE_PANOSE_MIDLINE_LOW_SERIFED DWRITE_PANOSE_MIDLINE_LOW_SERIFED

The enumeration contains values that specify the proportion of the glyph shape by considering additional detail to standard characters.

hh995029 DWRITE_PANOSE_PROPORTION DWRITE_PANOSE_PROPORTION

Any proportion for the text.

hh995029 DWRITE_PANOSE_PROPORTION_ANY DWRITE_PANOSE_PROPORTION_ANY

No fit proportion for the text.

hh995029 DWRITE_PANOSE_PROPORTION_NO_FIT DWRITE_PANOSE_PROPORTION_NO_FIT

Old style proportion for the text.

hh995029 DWRITE_PANOSE_PROPORTION_OLD_STYLE DWRITE_PANOSE_PROPORTION_OLD_STYLE

Modern proportion for the text.

hh995029 DWRITE_PANOSE_PROPORTION_MODERN DWRITE_PANOSE_PROPORTION_MODERN

Extra width proportion for the text.

hh995029 DWRITE_PANOSE_PROPORTION_EVEN_WIDTH DWRITE_PANOSE_PROPORTION_EVEN_WIDTH

Expanded proportion for the text.

hh995029 DWRITE_PANOSE_PROPORTION_EXPANDED DWRITE_PANOSE_PROPORTION_EXPANDED

Condensed proportion for the text.

hh995029 DWRITE_PANOSE_PROPORTION_CONDENSED DWRITE_PANOSE_PROPORTION_CONDENSED

Very expanded proportion for the text.

hh995029 DWRITE_PANOSE_PROPORTION_VERY_EXPANDED DWRITE_PANOSE_PROPORTION_VERY_EXPANDED

Very condensed proportion for the text.

hh995029 DWRITE_PANOSE_PROPORTION_VERY_CONDENSED DWRITE_PANOSE_PROPORTION_VERY_CONDENSED

Monospaced proportion for the text.

hh995029 DWRITE_PANOSE_PROPORTION_MONOSPACED DWRITE_PANOSE_PROPORTION_MONOSPACED

The enumeration contains values that specify the general look of the character face, with consideration of its slope and tails.

hh997733 DWRITE_PANOSE_SCRIPT_FORM DWRITE_PANOSE_SCRIPT_FORM

Any script form.

hh997733 DWRITE_PANOSE_SCRIPT_FORM_ANY DWRITE_PANOSE_SCRIPT_FORM_ANY

No fit for script form.

hh997733 DWRITE_PANOSE_SCRIPT_FORM_NO_FIT DWRITE_PANOSE_SCRIPT_FORM_NO_FIT

Script form is upright with no wrapping.

hh997733 DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_NO_WRAPPING DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_NO_WRAPPING

Script form is upright with some wrapping.

hh997733 DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_SOME_WRAPPING DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_SOME_WRAPPING

Script form is upright with more wrapping.

hh997733 DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_MORE_WRAPPING DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_MORE_WRAPPING

Script form is upright with extreme wrapping.

hh997733 DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_EXTREME_WRAPPING DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_EXTREME_WRAPPING

Script form is oblique with no wrapping.

hh997733 DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_NO_WRAPPING DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_NO_WRAPPING

Script form is oblique with some wrapping.

hh997733 DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_SOME_WRAPPING DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_SOME_WRAPPING

Script form is oblique with more wrapping.

hh997733 DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_MORE_WRAPPING DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_MORE_WRAPPING

Script form is oblique with extreme wrapping.

hh997733 DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_EXTREME_WRAPPING DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_EXTREME_WRAPPING

Script form is exaggerated with no wrapping.

hh997733 DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_NO_WRAPPING DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_NO_WRAPPING

Script form is exaggerated with some wrapping.

hh997733 DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_SOME_WRAPPING DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_SOME_WRAPPING

Script form is exaggerated with more wrapping.

hh997733 DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_MORE_WRAPPING DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_MORE_WRAPPING

Script form is exaggerated with extreme wrapping.

hh997733 DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_EXTREME_WRAPPING DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_EXTREME_WRAPPING

The enumeration contains values that specify the topology of letterforms.

hh997734 DWRITE_PANOSE_SCRIPT_TOPOLOGY DWRITE_PANOSE_SCRIPT_TOPOLOGY

Any script topology.

hh997734 DWRITE_PANOSE_SCRIPT_TOPOLOGY_ANY DWRITE_PANOSE_SCRIPT_TOPOLOGY_ANY

No fit for script topology.

hh997734 DWRITE_PANOSE_SCRIPT_TOPOLOGY_NO_FIT DWRITE_PANOSE_SCRIPT_TOPOLOGY_NO_FIT

Script topology is roman disconnected.

hh997734 DWRITE_PANOSE_SCRIPT_TOPOLOGY_ROMAN_DISCONNECTED DWRITE_PANOSE_SCRIPT_TOPOLOGY_ROMAN_DISCONNECTED

Script topology is roman trailing.

hh997734 DWRITE_PANOSE_SCRIPT_TOPOLOGY_ROMAN_TRAILING DWRITE_PANOSE_SCRIPT_TOPOLOGY_ROMAN_TRAILING

Script topology is roman connected.

hh997734 DWRITE_PANOSE_SCRIPT_TOPOLOGY_ROMAN_CONNECTED DWRITE_PANOSE_SCRIPT_TOPOLOGY_ROMAN_CONNECTED

Script topology is cursive disconnected.

hh997734 DWRITE_PANOSE_SCRIPT_TOPOLOGY_CURSIVE_DISCONNECTED DWRITE_PANOSE_SCRIPT_TOPOLOGY_CURSIVE_DISCONNECTED

Script topology is cursive trailing.

hh997734 DWRITE_PANOSE_SCRIPT_TOPOLOGY_CURSIVE_TRAILING DWRITE_PANOSE_SCRIPT_TOPOLOGY_CURSIVE_TRAILING

Script topology is cursive connected.

hh997734 DWRITE_PANOSE_SCRIPT_TOPOLOGY_CURSIVE_CONNECTED DWRITE_PANOSE_SCRIPT_TOPOLOGY_CURSIVE_CONNECTED

Script topology is black-letter disconnected.

hh997734 DWRITE_PANOSE_SCRIPT_TOPOLOGY_BLACKLETTER_DISCONNECTED DWRITE_PANOSE_SCRIPT_TOPOLOGY_BLACKLETTER_DISCONNECTED

Script topology is black-letter trailing.

hh997734 DWRITE_PANOSE_SCRIPT_TOPOLOGY_BLACKLETTER_TRAILING DWRITE_PANOSE_SCRIPT_TOPOLOGY_BLACKLETTER_TRAILING

Script topology is black-letter connected.

hh997734 DWRITE_PANOSE_SCRIPT_TOPOLOGY_BLACKLETTER_CONNECTED DWRITE_PANOSE_SCRIPT_TOPOLOGY_BLACKLETTER_CONNECTED

The enumeration contains values that specify the appearance of the serif text.

hh995030 DWRITE_PANOSE_SERIF_STYLE DWRITE_PANOSE_SERIF_STYLE

Any appearance of the serif text.

hh995030 DWRITE_PANOSE_SERIF_STYLE_ANY DWRITE_PANOSE_SERIF_STYLE_ANY

No fit appearance of the serif text.

hh995030 DWRITE_PANOSE_SERIF_STYLE_NO_FIT DWRITE_PANOSE_SERIF_STYLE_NO_FIT

Cove appearance of the serif text.

hh995030 DWRITE_PANOSE_SERIF_STYLE_COVE DWRITE_PANOSE_SERIF_STYLE_COVE

Obtuse cove appearance of the serif text.

hh995030 DWRITE_PANOSE_SERIF_STYLE_OBTUSE_COVE DWRITE_PANOSE_SERIF_STYLE_OBTUSE_COVE

Square cove appearance of the serif text.

hh995030 DWRITE_PANOSE_SERIF_STYLE_SQUARE_COVE DWRITE_PANOSE_SERIF_STYLE_SQUARE_COVE

Obtuse square cove appearance of the serif text.

hh995030 DWRITE_PANOSE_SERIF_STYLE_OBTUSE_SQUARE_COVE DWRITE_PANOSE_SERIF_STYLE_OBTUSE_SQUARE_COVE

Square appearance of the serif text.

hh995030 DWRITE_PANOSE_SERIF_STYLE_SQUARE DWRITE_PANOSE_SERIF_STYLE_SQUARE

Thin appearance of the serif text.

hh995030 DWRITE_PANOSE_SERIF_STYLE_THIN DWRITE_PANOSE_SERIF_STYLE_THIN

Oval appearance of the serif text.

hh995030 DWRITE_PANOSE_SERIF_STYLE_OVAL DWRITE_PANOSE_SERIF_STYLE_OVAL

Exaggerated appearance of the serif text.

hh995030 DWRITE_PANOSE_SERIF_STYLE_EXAGGERATED DWRITE_PANOSE_SERIF_STYLE_EXAGGERATED

Triangle appearance of the serif text.

hh995030 DWRITE_PANOSE_SERIF_STYLE_TRIANGLE DWRITE_PANOSE_SERIF_STYLE_TRIANGLE

Normal sans appearance of the serif text.

hh995030 DWRITE_PANOSE_SERIF_STYLE_NORMAL_SANS DWRITE_PANOSE_SERIF_STYLE_NORMAL_SANS

Obtuse sans appearance of the serif text.

hh995030 DWRITE_PANOSE_SERIF_STYLE_OBTUSE_SANS DWRITE_PANOSE_SERIF_STYLE_OBTUSE_SANS

Perpendicular sans appearance of the serif text.

hh995030 DWRITE_PANOSE_SERIF_STYLE_PERPENDICULAR_SANS DWRITE_PANOSE_SERIF_STYLE_PERPENDICULAR_SANS

Flared appearance of the serif text.

hh995030 DWRITE_PANOSE_SERIF_STYLE_FLARED DWRITE_PANOSE_SERIF_STYLE_FLARED

Rounded appearance of the serif text.

hh995030 DWRITE_PANOSE_SERIF_STYLE_ROUNDED DWRITE_PANOSE_SERIF_STYLE_ROUNDED

Script appearance of the serif text.

hh995030 DWRITE_PANOSE_SERIF_STYLE_SCRIPT DWRITE_PANOSE_SERIF_STYLE_SCRIPT

Perpendicular sans appearance of the serif text.

hh995030 DWRITE_PANOSE_SERIF_STYLE_PERP_SANS DWRITE_PANOSE_SERIF_STYLE_PERP_SANS

Oval appearance of the serif text.

hh995030 DWRITE_PANOSE_SERIF_STYLE_BONE DWRITE_PANOSE_SERIF_STYLE_BONE

The enumeration contains values that specify character spacing (monospace versus proportional).

hh997735 DWRITE_PANOSE_SPACING DWRITE_PANOSE_SPACING

Any spacing.

hh997735 DWRITE_PANOSE_SPACING_ANY DWRITE_PANOSE_SPACING_ANY

No fit for spacing.

hh997735 DWRITE_PANOSE_SPACING_NO_FIT DWRITE_PANOSE_SPACING_NO_FIT

Spacing is proportional.

hh997735 DWRITE_PANOSE_SPACING_PROPORTIONAL_SPACED DWRITE_PANOSE_SPACING_PROPORTIONAL_SPACED

Spacing is monospace.

hh997735 DWRITE_PANOSE_SPACING_MONOSPACED DWRITE_PANOSE_SPACING_MONOSPACED

The enumeration contains values that specify the relationship between thin and thick stems of text characters.

hh997736 DWRITE_PANOSE_STROKE_VARIATION DWRITE_PANOSE_STROKE_VARIATION

Any stroke variation for text characters.

hh997736 DWRITE_PANOSE_STROKE_VARIATION_ANY DWRITE_PANOSE_STROKE_VARIATION_ANY

No fit stroke variation for text characters.

hh997736 DWRITE_PANOSE_STROKE_VARIATION_NO_FIT DWRITE_PANOSE_STROKE_VARIATION_NO_FIT

No stroke variation for text characters.

hh997736 DWRITE_PANOSE_STROKE_VARIATION_NO_VARIATION DWRITE_PANOSE_STROKE_VARIATION_NO_VARIATION

The stroke variation for text characters is gradual diagonal.

hh997736 DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_DIAGONAL DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_DIAGONAL

The stroke variation for text characters is gradual transitional.

hh997736 DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_TRANSITIONAL DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_TRANSITIONAL

The stroke variation for text characters is gradual vertical.

hh997736 DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_VERTICAL DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_VERTICAL

The stroke variation for text characters is gradual horizontal.

hh997736 DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_HORIZONTAL DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_HORIZONTAL

The stroke variation for text characters is rapid vertical.

hh997736 DWRITE_PANOSE_STROKE_VARIATION_RAPID_VERTICAL DWRITE_PANOSE_STROKE_VARIATION_RAPID_VERTICAL

The stroke variation for text characters is rapid horizontal.

hh997736 DWRITE_PANOSE_STROKE_VARIATION_RAPID_HORIZONTAL DWRITE_PANOSE_STROKE_VARIATION_RAPID_HORIZONTAL

The stroke variation for text characters is instant vertical.

hh997736 DWRITE_PANOSE_STROKE_VARIATION_INSTANT_VERTICAL DWRITE_PANOSE_STROKE_VARIATION_INSTANT_VERTICAL

The stroke variation for text characters is instant horizontal.

hh997736 DWRITE_PANOSE_STROKE_VARIATION_INSTANT_HORIZONTAL DWRITE_PANOSE_STROKE_VARIATION_INSTANT_HORIZONTAL

The enumeration contains values that specify the aspect ratio of symbolic characters.

jj126263 DWRITE_PANOSE_SYMBOL_ASPECT_RATIO DWRITE_PANOSE_SYMBOL_ASPECT_RATIO

Any aspect ratio of symbolic characters.

jj126263 DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_ANY DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_ANY

No fit for aspect ratio of symbolic characters.

jj126263 DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NO_FIT DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NO_FIT

No width aspect ratio of symbolic characters.

jj126263 DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NO_WIDTH DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NO_WIDTH

Exceptionally wide symbolic characters.

jj126263 DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_EXCEPTIONALLY_WIDE DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_EXCEPTIONALLY_WIDE

Super wide symbolic characters.

jj126263 DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_SUPER_WIDE DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_SUPER_WIDE

Very wide symbolic characters.

jj126263 DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_VERY_WIDE DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_VERY_WIDE

Wide symbolic characters.

jj126263 DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_WIDE DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_WIDE

Normal aspect ratio of symbolic characters.

jj126263 DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NORMAL DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NORMAL

Narrow symbolic characters.

jj126263 DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NARROW DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NARROW

Very narrow symbolic characters.

jj126263 DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_VERY_NARROW DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_VERY_NARROW

The enumeration contains values that specify the kind of symbol set.

hh997737 DWRITE_PANOSE_SYMBOL_KIND DWRITE_PANOSE_SYMBOL_KIND

Any kind of symbol set.

hh997737 DWRITE_PANOSE_SYMBOL_KIND_ANY DWRITE_PANOSE_SYMBOL_KIND_ANY

No fit for the kind of symbol set.

hh997737 DWRITE_PANOSE_SYMBOL_KIND_NO_FIT DWRITE_PANOSE_SYMBOL_KIND_NO_FIT

The kind of symbol set is montages.

hh997737 DWRITE_PANOSE_SYMBOL_KIND_MONTAGES DWRITE_PANOSE_SYMBOL_KIND_MONTAGES

The kind of symbol set is pictures.

hh997737 DWRITE_PANOSE_SYMBOL_KIND_PICTURES DWRITE_PANOSE_SYMBOL_KIND_PICTURES

The kind of symbol set is shapes.

hh997737 DWRITE_PANOSE_SYMBOL_KIND_SHAPES DWRITE_PANOSE_SYMBOL_KIND_SHAPES

The kind of symbol set is scientific symbols.

hh997737 DWRITE_PANOSE_SYMBOL_KIND_SCIENTIFIC DWRITE_PANOSE_SYMBOL_KIND_SCIENTIFIC

The kind of symbol set is music symbols.

hh997737 DWRITE_PANOSE_SYMBOL_KIND_MUSIC DWRITE_PANOSE_SYMBOL_KIND_MUSIC

The kind of symbol set is expert symbols.

hh997737 DWRITE_PANOSE_SYMBOL_KIND_EXPERT DWRITE_PANOSE_SYMBOL_KIND_EXPERT

The kind of symbol set is patterns.

hh997737 DWRITE_PANOSE_SYMBOL_KIND_PATTERNS DWRITE_PANOSE_SYMBOL_KIND_PATTERNS

The kind of symbol set is boarders.

hh997737 DWRITE_PANOSE_SYMBOL_KIND_BOARDERS DWRITE_PANOSE_SYMBOL_KIND_BOARDERS

The kind of symbol set is icons.

hh997737 DWRITE_PANOSE_SYMBOL_KIND_ICONS DWRITE_PANOSE_SYMBOL_KIND_ICONS

The kind of symbol set is logos.

hh997737 DWRITE_PANOSE_SYMBOL_KIND_LOGOS DWRITE_PANOSE_SYMBOL_KIND_LOGOS

The kind of symbol set is industry specific.

hh997737 DWRITE_PANOSE_SYMBOL_KIND_INDUSTRY_SPECIFIC DWRITE_PANOSE_SYMBOL_KIND_INDUSTRY_SPECIFIC

The enumeration contains values that specify the kind of tool that is used to create character forms.

hh997738 DWRITE_PANOSE_TOOL_KIND DWRITE_PANOSE_TOOL_KIND

Any kind of tool.

hh997738 DWRITE_PANOSE_TOOL_KIND_ANY DWRITE_PANOSE_TOOL_KIND_ANY

No fit for the kind of tool.

hh997738 DWRITE_PANOSE_TOOL_KIND_NO_FIT DWRITE_PANOSE_TOOL_KIND_NO_FIT

Flat NIB tool.

hh997738 DWRITE_PANOSE_TOOL_KIND_FLAT_NIB DWRITE_PANOSE_TOOL_KIND_FLAT_NIB

Pressure point tool.

hh997738 DWRITE_PANOSE_TOOL_KIND_PRESSURE_POINT DWRITE_PANOSE_TOOL_KIND_PRESSURE_POINT

Engraved tool.

hh997738 DWRITE_PANOSE_TOOL_KIND_ENGRAVED DWRITE_PANOSE_TOOL_KIND_ENGRAVED

Ball tool.

hh997738 DWRITE_PANOSE_TOOL_KIND_BALL DWRITE_PANOSE_TOOL_KIND_BALL

Brush tool.

hh997738 DWRITE_PANOSE_TOOL_KIND_BRUSH DWRITE_PANOSE_TOOL_KIND_BRUSH

Rough tool.

hh997738 DWRITE_PANOSE_TOOL_KIND_ROUGH DWRITE_PANOSE_TOOL_KIND_ROUGH

Felt-pen-brush-tip tool.

hh997738 DWRITE_PANOSE_TOOL_KIND_FELT_PEN_BRUSH_TIP DWRITE_PANOSE_TOOL_KIND_FELT_PEN_BRUSH_TIP

Wild-brush tool.

hh997738 DWRITE_PANOSE_TOOL_KIND_WILD_BRUSH DWRITE_PANOSE_TOOL_KIND_WILD_BRUSH

The enumeration contains values that specify the weight of characters.

The values roughly correspond to the values by using (panose_weight - 2) * 100 = font_weight.

hh995031 DWRITE_PANOSE_WEIGHT DWRITE_PANOSE_WEIGHT

Any weight.

hh995031 DWRITE_PANOSE_WEIGHT_ANY DWRITE_PANOSE_WEIGHT_ANY

No fit weight.

hh995031 DWRITE_PANOSE_WEIGHT_NO_FIT DWRITE_PANOSE_WEIGHT_NO_FIT

Very light weight.

hh995031 DWRITE_PANOSE_WEIGHT_VERY_LIGHT DWRITE_PANOSE_WEIGHT_VERY_LIGHT

Light weight.

hh995031 DWRITE_PANOSE_WEIGHT_LIGHT DWRITE_PANOSE_WEIGHT_LIGHT

Thin weight.

hh995031 DWRITE_PANOSE_WEIGHT_THIN DWRITE_PANOSE_WEIGHT_THIN

Book weight.

hh995031 DWRITE_PANOSE_WEIGHT_BOOK DWRITE_PANOSE_WEIGHT_BOOK

Medium weight.

hh995031 DWRITE_PANOSE_WEIGHT_MEDIUM DWRITE_PANOSE_WEIGHT_MEDIUM

Demi weight.

hh995031 DWRITE_PANOSE_WEIGHT_DEMI DWRITE_PANOSE_WEIGHT_DEMI

Bold weight.

hh995031 DWRITE_PANOSE_WEIGHT_BOLD DWRITE_PANOSE_WEIGHT_BOLD

Heavy weight.

hh995031 DWRITE_PANOSE_WEIGHT_HEAVY DWRITE_PANOSE_WEIGHT_HEAVY

Black weight.

hh995031 DWRITE_PANOSE_WEIGHT_BLACK DWRITE_PANOSE_WEIGHT_BLACK

Extra black weight.

hh995031 DWRITE_PANOSE_WEIGHT_EXTRA_BLACK DWRITE_PANOSE_WEIGHT_EXTRA_BLACK

Extra black weight.

hh995031 DWRITE_PANOSE_WEIGHT_NORD DWRITE_PANOSE_WEIGHT_NORD

The enumeration contains values that specify the relative size of the lowercase letters.

hh997739 DWRITE_PANOSE_XASCENT DWRITE_PANOSE_XASCENT

Any xascent.

hh997739 DWRITE_PANOSE_XASCENT_ANY DWRITE_PANOSE_XASCENT_ANY

No fit for xascent.

hh997739 DWRITE_PANOSE_XASCENT_NO_FIT DWRITE_PANOSE_XASCENT_NO_FIT

Very low xascent.

hh997739 DWRITE_PANOSE_XASCENT_VERY_LOW DWRITE_PANOSE_XASCENT_VERY_LOW

Low xascent.

hh997739 DWRITE_PANOSE_XASCENT_LOW DWRITE_PANOSE_XASCENT_LOW

Medium xascent.

hh997739 DWRITE_PANOSE_XASCENT_MEDIUM DWRITE_PANOSE_XASCENT_MEDIUM

High xascent.

hh997739 DWRITE_PANOSE_XASCENT_HIGH DWRITE_PANOSE_XASCENT_HIGH

Very high xascent.

hh997739 DWRITE_PANOSE_XASCENT_VERY_HIGH DWRITE_PANOSE_XASCENT_VERY_HIGH

The enumeration contains values that specify info about the relative size of lowercase letters and the treatment of diacritic marks (xheight).

hh997740 DWRITE_PANOSE_XHEIGHT DWRITE_PANOSE_XHEIGHT

Any xheight.

hh997740 DWRITE_PANOSE_XHEIGHT_ANY DWRITE_PANOSE_XHEIGHT_ANY

No fit xheight.

hh997740 DWRITE_PANOSE_XHEIGHT_NO_FIT DWRITE_PANOSE_XHEIGHT_NO_FIT

Constant small xheight.

hh997740 DWRITE_PANOSE_XHEIGHT_CONSTANT_SMALL DWRITE_PANOSE_XHEIGHT_CONSTANT_SMALL

Constant standard xheight.

hh997740 DWRITE_PANOSE_XHEIGHT_CONSTANT_STANDARD DWRITE_PANOSE_XHEIGHT_CONSTANT_STANDARD

Constant large xheight.

hh997740 DWRITE_PANOSE_XHEIGHT_CONSTANT_LARGE DWRITE_PANOSE_XHEIGHT_CONSTANT_LARGE

Ducking small xheight.

hh997740 DWRITE_PANOSE_XHEIGHT_DUCKING_SMALL DWRITE_PANOSE_XHEIGHT_DUCKING_SMALL

Ducking standard xheight.

hh997740 DWRITE_PANOSE_XHEIGHT_DUCKING_STANDARD DWRITE_PANOSE_XHEIGHT_DUCKING_STANDARD

Ducking large xheight.

hh997740 DWRITE_PANOSE_XHEIGHT_DUCKING_LARGE DWRITE_PANOSE_XHEIGHT_DUCKING_LARGE

Constant standard xheight.

hh997740 DWRITE_PANOSE_XHEIGHT_CONSTANT_STD DWRITE_PANOSE_XHEIGHT_CONSTANT_STD

Ducking standard xheight.

hh997740 DWRITE_PANOSE_XHEIGHT_DUCKING_STD DWRITE_PANOSE_XHEIGHT_DUCKING_STD

Specifies the alignment of paragraph text along the flow direction axis, relative to the top and bottom of the flow's layout box.

dd368112 DWRITE_PARAGRAPH_ALIGNMENT DWRITE_PARAGRAPH_ALIGNMENT

The top of the text flow is aligned to the top edge of the layout box.

dd368112 DWRITE_PARAGRAPH_ALIGNMENT_NEAR DWRITE_PARAGRAPH_ALIGNMENT_NEAR

The bottom of the text flow is aligned to the bottom edge of the layout box.

dd368112 DWRITE_PARAGRAPH_ALIGNMENT_FAR DWRITE_PARAGRAPH_ALIGNMENT_FAR

The center of the flow is aligned to the center of the layout box.

dd368112 DWRITE_PARAGRAPH_ALIGNMENT_CENTER DWRITE_PARAGRAPH_ALIGNMENT_CENTER

Represents the internal structure of a device pixel (that is, the physical arrangement of red, green, and blue color components) that is assumed for purposes of rendering text.

dd368114 DWRITE_PIXEL_GEOMETRY DWRITE_PIXEL_GEOMETRY

The red, green, and blue color components of each pixel are assumed to occupy the same point.

dd368114 DWRITE_PIXEL_GEOMETRY_FLAT DWRITE_PIXEL_GEOMETRY_FLAT

Each pixel is composed of three vertical stripes, with red on the left, green in the center, and blue on the right. This is the most common pixel geometry for LCD monitors.

dd368114 DWRITE_PIXEL_GEOMETRY_RGB DWRITE_PIXEL_GEOMETRY_RGB

Each pixel is composed of three vertical stripes, with blue on the left, green in the center, and red on the right.

dd368114 DWRITE_PIXEL_GEOMETRY_BGR DWRITE_PIXEL_GEOMETRY_BGR

Specifies the direction in which reading progresses.

Note?? and are available in Windows?8.1 and later, only.?
dd368116 DWRITE_READING_DIRECTION DWRITE_READING_DIRECTION

Indicates that reading progresses from left to right.

dd368116 DWRITE_READING_DIRECTION_LEFT_TO_RIGHT DWRITE_READING_DIRECTION_LEFT_TO_RIGHT

Indicates that reading progresses from right to left.

dd368116 DWRITE_READING_DIRECTION_RIGHT_TO_LEFT DWRITE_READING_DIRECTION_RIGHT_TO_LEFT
Note??Windows?8.1 and later only. ?

Indicates that reading progresses from top to bottom.

dd368116 DWRITE_READING_DIRECTION_TOP_TO_BOTTOM DWRITE_READING_DIRECTION_TOP_TO_BOTTOM
Note??Windows?8.1 and later only. ?

Indicates that reading progresses from bottom to top.

dd368116 DWRITE_READING_DIRECTION_BOTTOM_TO_TOP DWRITE_READING_DIRECTION_BOTTOM_TO_TOP

Represents a method of rendering glyphs.

Note?? This topic is about in Windows?8 and later. For info on the previous version see this topic.?
dd368118 DWRITE_RENDERING_MODE DWRITE_RENDERING_MODE
No documentation. dd368118 DWRITE_RENDERING_MODE_DEFAULT DWRITE_RENDERING_MODE_DEFAULT No documentation. dd368118 DWRITE_RENDERING_MODE_ALIASED DWRITE_RENDERING_MODE_ALIASED No documentation. dd368118 DWRITE_RENDERING_MODE_GDI_CLASSIC DWRITE_RENDERING_MODE_GDI_CLASSIC No documentation. dd368118 DWRITE_RENDERING_MODE_GDI_NATURAL DWRITE_RENDERING_MODE_GDI_NATURAL No documentation. dd368118 DWRITE_RENDERING_MODE_NATURAL DWRITE_RENDERING_MODE_NATURAL No documentation. dd368118 DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC No documentation. dd368118 DWRITE_RENDERING_MODE_OUTLINE DWRITE_RENDERING_MODE_OUTLINE No documentation. dd368118 DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC No documentation. dd368118 DWRITE_RENDERING_MODE_CLEARTYPE_GDI_NATURAL DWRITE_RENDERING_MODE_CLEARTYPE_GDI_NATURAL No documentation. dd368118 DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL No documentation. dd368118 DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL_SYMMETRIC DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL_SYMMETRIC

Represents a method of rendering glyphs.

Note?? This topic is about in Windows?8 and later. For info on the previous version see this topic.?
dd368118 DWRITE_RENDERING_MODE1 DWRITE_RENDERING_MODE1
No documentation. dd368118 DWRITE_RENDERING_MODE1_DEFAULT DWRITE_RENDERING_MODE1_DEFAULT No documentation. dd368118 DWRITE_RENDERING_MODE1_ALIASED DWRITE_RENDERING_MODE1_ALIASED No documentation. dd368118 DWRITE_RENDERING_MODE1_GDI_CLASSIC DWRITE_RENDERING_MODE1_GDI_CLASSIC No documentation. dd368118 DWRITE_RENDERING_MODE1_GDI_NATURAL DWRITE_RENDERING_MODE1_GDI_NATURAL No documentation. dd368118 DWRITE_RENDERING_MODE1_NATURAL DWRITE_RENDERING_MODE1_NATURAL No documentation. dd368118 DWRITE_RENDERING_MODE1_NATURAL_SYMMETRIC DWRITE_RENDERING_MODE1_NATURAL_SYMMETRIC No documentation. dd368118 DWRITE_RENDERING_MODE1_OUTLINE DWRITE_RENDERING_MODE1_OUTLINE No documentation. dd368118 DWRITE_RENDERING_MODE1_NATURAL_SYMMETRIC_DOWNSAMPLED DWRITE_RENDERING_MODE1_NATURAL_SYMMETRIC_DOWNSAMPLED

Indicates additional shaping requirements for text.

dd368121 DWRITE_SCRIPT_SHAPES DWRITE_SCRIPT_SHAPES

Indicates that there is no additional shaping requirements for text. Text is shaped with the writing system default behavior.

dd368121 DWRITE_SCRIPT_SHAPES_DEFAULT DWRITE_SCRIPT_SHAPES_DEFAULT

Indicates that text should leave no visible control or format control characters.

dd368121 DWRITE_SCRIPT_SHAPES_NO_VISUAL DWRITE_SCRIPT_SHAPES_NO_VISUAL

Specifies the alignment of paragraph text along the reading direction axis, relative to the leading and trailing edge of the layout box.

dd368131 DWRITE_TEXT_ALIGNMENT DWRITE_TEXT_ALIGNMENT

The leading edge of the paragraph text is aligned to the leading edge of the layout box.

dd368131 DWRITE_TEXT_ALIGNMENT_LEADING DWRITE_TEXT_ALIGNMENT_LEADING

The trailing edge of the paragraph text is aligned to the trailing edge of the layout box.

dd368131 DWRITE_TEXT_ALIGNMENT_TRAILING DWRITE_TEXT_ALIGNMENT_TRAILING

The center of the paragraph text is aligned to the center of the layout box.

dd368131 DWRITE_TEXT_ALIGNMENT_CENTER DWRITE_TEXT_ALIGNMENT_CENTER

Align text to the leading side, and also justify text to fill the lines.

dd368131 DWRITE_TEXT_ALIGNMENT_JUSTIFIED DWRITE_TEXT_ALIGNMENT_JUSTIFIED

The enumeration contains values that specify the type of antialiasing to use for text when the rendering mode calls for antialiasing.

jj127237 DWRITE_TEXT_ANTIALIAS_MODE DWRITE_TEXT_ANTIALIAS_MODE

ClearType antialiasing computes coverage independently for the red, green, and blue color elements of each pixel. This allows for more detail than conventional antialiasing. However, because there is no one alpha value for each pixel, ClearType is not suitable for rendering text onto a transparent intermediate bitmap.

jj127237 DWRITE_TEXT_ANTIALIAS_MODE_CLEARTYPE DWRITE_TEXT_ANTIALIAS_MODE_CLEARTYPE

Grayscale antialiasing computes one coverage value for each pixel. Because the alpha value of each pixel is well-defined, text can be rendered onto a transparent bitmap, which can then be composited with other content.

Note??Grayscale rendering with uses premultiplied alpha. ?
jj127237 DWRITE_TEXT_ANTIALIAS_MODE_GRAYSCALE DWRITE_TEXT_ANTIALIAS_MODE_GRAYSCALE

Identifies a type of alpha texture.

An alpha texture is a bitmap of alpha values, each representing opacity of a pixel or subpixel.

dd368129 DWRITE_TEXTURE_TYPE DWRITE_TEXTURE_TYPE

Specifies an alpha texture for aliased text rendering (that is, each pixel is either fully opaque or fully transparent), with one byte per pixel.

dd368129 DWRITE_TEXTURE_ALIASED_1x1 DWRITE_TEXTURE_ALIASED_1x1

Specifies an alpha texture for ClearType text rendering, with three bytes per pixel in the horizontal dimension and one byte per pixel in the vertical dimension.

dd368129 DWRITE_TEXTURE_CLEARTYPE_3x1 DWRITE_TEXTURE_CLEARTYPE_3x1

Specifies the text granularity used to trim text overflowing the layout box.

dd368141 DWRITE_TRIMMING_GRANULARITY DWRITE_TRIMMING_GRANULARITY

No trimming occurs. Text flows beyond the layout width.

dd368141 DWRITE_TRIMMING_GRANULARITY_NONE DWRITE_TRIMMING_GRANULARITY_NONE

Trimming occurs at a character cluster boundary.

dd368141 DWRITE_TRIMMING_GRANULARITY_CHARACTER DWRITE_TRIMMING_GRANULARITY_CHARACTER

Trimming occurs at a word boundary.

dd368141 DWRITE_TRIMMING_GRANULARITY_WORD DWRITE_TRIMMING_GRANULARITY_WORD

The enumeration contains values that specify the desired kind of glyph orientation for the text.

The client specifies a -typed value to the analyzer as the desired orientation.

Note??This is the client preference, and the constraints of the script determine the final presentation.?
jj126266 DWRITE_VERTICAL_GLYPH_ORIENTATION DWRITE_VERTICAL_GLYPH_ORIENTATION

The default glyph orientation. In vertical layout, naturally horizontal scripts (Latin, Thai, Arabic, Devanagari) rotate 90 degrees clockwise, while ideographic scripts (Chinese, Japanese, Korean) remain upright, 0 degrees.

jj126266 DWRITE_VERTICAL_GLYPH_ORIENTATION_DEFAULT DWRITE_VERTICAL_GLYPH_ORIENTATION_DEFAULT

Stacked glyph orientation. Ideographic scripts and scripts that permit stacking (Latin, Hebrew) are stacked in vertical reading layout. Connected scripts (Arabic, Syriac, 'Phags-pa, Ogham), which would otherwise look broken if glyphs were kept at 0 degrees, remain connected and rotate.

jj126266 DWRITE_VERTICAL_GLYPH_ORIENTATION_STACKED DWRITE_VERTICAL_GLYPH_ORIENTATION_STACKED

Specifies the word wrapping to be used in a particular multiline paragraph.

Note??, DWRITE_WORD_WRAPPING_WHOLE _WORD, and are available in Windows?8.1 and later, only.?
dd368146 DWRITE_WORD_WRAPPING DWRITE_WORD_WRAPPING

Indicates that words are broken across lines to avoid text overflowing the layout box.

dd368146 DWRITE_WORD_WRAPPING_WRAP DWRITE_WORD_WRAPPING_WRAP

Indicates that words are kept within the same line even when it overflows the layout box. This option is often used with scrolling to reveal overflow text.

dd368146 DWRITE_WORD_WRAPPING_NO_WRAP DWRITE_WORD_WRAPPING_NO_WRAP
Note??Windows?8.1 and later only. ?

Words are broken across lines to avoid text overflowing the layout box. Emergency wrapping occurs if the word is larger than the maximum width.

dd368146 DWRITE_WORD_WRAPPING_EMERGENCY_BREAK DWRITE_WORD_WRAPPING_EMERGENCY_BREAK
Note??Windows?8.1 and later only. ?

When emergency wrapping, only wrap whole words, never breaking words when the layout width is too small for even a single word.

dd368146 DWRITE_WORD_WRAPPING_WHOLE_WORD DWRITE_WORD_WRAPPING_WHOLE_WORD
Note??Windows?8.1 and later only. ?

Wrap between any valid character clusters.

dd368146 DWRITE_WORD_WRAPPING_CHARACTER DWRITE_WORD_WRAPPING_CHARACTER
Functions

Creates a DirectWrite factory object that is used for subsequent creation of individual DirectWrite objects.

A value that specifies whether the factory object will be shared or isolated.

A value that identifies the DirectWrite factory interface, such as __uuidof().

An address of a reference to the newly created DirectWrite factory object.

If this function succeeds, it returns . Otherwise, it returns an error code.

This function creates a DirectWrite factory object that is used for subsequent creation of individual DirectWrite objects. DirectWrite factory contains internal state data such as font loader registration and cached font data. In most cases it is recommended you use the shared factory object, because it allows multiple components that use DirectWrite to share internal DirectWrite state data, and thereby reduce memory usage. However, there are cases when it is desirable to reduce the impact of a component, such as a plug-in from an untrusted source, on the rest of the process, by sandboxing and isolating it from the rest of the process components. In such cases, it is recommended you use an isolated factory for the sandboxed component.

The following example shows how to create a shared DirectWrite factory.

 if (SUCCEEDED(hr))	
            { hr = ( , __uuidof(), reinterpret_cast<**>(&pDWriteFactory_) );	
            } 
dd368040 HRESULT DWriteCreateFactory([In] DWRITE_FACTORY_TYPE factoryType,[In] const GUID& iid,[Out, Fast] IUnknown** factory) DWriteCreateFactory

Represents an absolute reference to a font face which contains font face type, appropriate file references, face identification data and various font data such as metrics, names and glyph outlines.

dd370983 IDWriteAsyncResult IDWriteAsyncResult
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion. No documentation. GetWaitHandle GetWaitHandle void* IDWriteAsyncResult::GetWaitHandle() No documentation. GetResult GetResult HRESULT IDWriteAsyncResult::GetResult() No documentation. No documentation. void* IDWriteAsyncResult::GetWaitHandle() IDWriteAsyncResult::GetWaitHandle No documentation. No documentation. HRESULT IDWriteAsyncResult::GetResult() IDWriteAsyncResult::GetResult

Encapsulates a 32-bit device independent bitmap and device context, which you can use for rendering glyphs.

hh780398 IDWriteBitmapRenderTarget1 IDWriteBitmapRenderTarget1
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets or sets the current text antialiasing mode of the bitmap render target.

hh780399 GetTextAntialiasMode / SetTextAntialiasMode GetTextAntialiasMode DWRITE_TEXT_ANTIALIAS_MODE IDWriteBitmapRenderTarget1::GetTextAntialiasMode()

Gets the current text antialiasing mode of the bitmap render target.

Returns a -typed value that specifies the antialiasing mode.

hh780399 DWRITE_TEXT_ANTIALIAS_MODE IDWriteBitmapRenderTarget1::GetTextAntialiasMode() IDWriteBitmapRenderTarget1::GetTextAntialiasMode

Sets the current text antialiasing mode of the bitmap render target.

A -typed value that specifies the antialiasing mode.

Returns if successful, or E_INVALIDARG if the argument is not valid.

The antialiasing mode of a newly-created bitmap render target defaults to . An app can change the antialiasing mode by calling SetTextAntialiasMode. For example, an app might specify for grayscale antialiasing when it renders text onto a transparent bitmap.

hh780400 HRESULT IDWriteBitmapRenderTarget1::SetTextAntialiasMode([In] DWRITE_TEXT_ANTIALIAS_MODE antialiasMode) IDWriteBitmapRenderTarget1::SetTextAntialiasMode

This interface allows the application to enumerate through the color glyph runs. The enumerator enumerates the layers in a back to front order for appropriate layering.

dn280445 IDWriteColorGlyphRunEnumerator IDWriteColorGlyphRunEnumerator
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Returns the current glyph run of the enumerator.

dn280446 GetCurrentRun GetCurrentRun HRESULT IDWriteColorGlyphRunEnumerator::GetCurrentRun([Out] const DWRITE_COLOR_GLYPH_RUN** colorGlyphRun)

Move to the next glyph run in the enumerator.

Returns TRUE if there is a next glyph run.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn280447 HRESULT IDWriteColorGlyphRunEnumerator::MoveNext([Out] BOOL* hasRun) IDWriteColorGlyphRunEnumerator::MoveNext

Returns the current glyph run of the enumerator.

A reference to the current glyph run.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn280446 HRESULT IDWriteColorGlyphRunEnumerator::GetCurrentRun([Out] const DWRITE_COLOR_GLYPH_RUN** colorGlyphRun) IDWriteColorGlyphRunEnumerator::GetCurrentRun

Enumerator for an ordered collection of color glyph runs.

mt725314 IDWriteColorGlyphRunEnumerator1 IDWriteColorGlyphRunEnumerator1
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the current color glyph run.

mt761991 GetCurrentRun GetCurrentRun HRESULT IDWriteColorGlyphRunEnumerator1::GetCurrentRun([Out] const DWRITE_COLOR_GLYPH_RUN1** colorGlyphRun)

Gets the current color glyph run.

Receives a reference to the color glyph run. The reference remains valid until the next call to MoveNext or until the interface is released.

Standard error code. An error is returned if there is no current glyph run, i.e., if MoveNext has not yet been called or if the end of the sequence has been reached.

mt761991 HRESULT IDWriteColorGlyphRunEnumerator1::GetCurrentRun([Out] const DWRITE_COLOR_GLYPH_RUN1** colorGlyphRun) IDWriteColorGlyphRunEnumerator1::GetCurrentRun

The root factory interface for all DirectWrite objects.

dn280448 IDWriteFactory2 IDWriteFactory2
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Creates a font fallback object from the system font fallback list.

dn280450 GetSystemFontFallback GetSystemFontFallback HRESULT IDWriteFactory2::GetSystemFontFallback([Out] IDWriteFontFallback** fontFallback)

Creates a font fallback object from the system font fallback list.

Contains an address of a reference to the newly created font fallback object.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn280450 HRESULT IDWriteFactory2::GetSystemFontFallback([Out] IDWriteFontFallback** fontFallback) IDWriteFactory2::GetSystemFontFallback

Creates a font fallback builder object.

A font fall back builder allows you to create Unicode font fallback mappings and create a font fall back object from those mappings.

Contains an address of a reference to the newly created font fallback builder object.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn280449 HRESULT IDWriteFactory2::CreateFontFallbackBuilder([Out] IDWriteFontFallbackBuilder** fontFallbackBuilder) IDWriteFactory2::CreateFontFallbackBuilder

This method is called on a glyph run to translate it in to multiple color glyph runs.

The horizontal baseline origin of the original glyph run.

The vertical baseline origin of the original glyph run.

Original glyph run containing monochrome glyph IDs.

Optional glyph run description.

Measuring mode used to compute glyph positions if the run contains color glyphs.

World transform multiplied by any DPI scaling. This is needed to compute glyph positions if the run contains color glyphs and the measuring mode is not . If this parameter is null, and identity transform is assumed.

Zero-based index of the color palette to use. Valid indices are less than the number of palettes in the font, as returned by .

If the original glyph run contains color glyphs, this parameter receives a reference to an interface. The client uses the returned interface to get information about glyph runs and associated colors to render instead of the original glyph run. If the original glyph run does not contain color glyphs, this method returns DWRITE_E_NOCOLOR and the output reference is null.

If this method succeeds, it returns . Otherwise, it returns an error code.

If the code calls this method with a glyph run that contains no color information, the method returns DWRITE_E_NOCOLOR to let the application know that it can just draw the original glyph run. If the glyph run contains color information, the function returns an object that can be enumerated through to expose runs and associated colors. The application then calls DrawGlyphRun with each of the returned glyph runs and foreground colors.

dn280451 HRESULT IDWriteFactory2::TranslateColorGlyphRun([In] float baselineOriginX,[In] float baselineOriginY,[In] const DWRITE_GLYPH_RUN* glyphRun,[In, Optional] const DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription,[In] DWRITE_MEASURING_MODE measuringMode,[In, Optional] const DWRITE_MATRIX* worldToDeviceTransform,[In] unsigned int colorPaletteIndex,[Out] IDWriteColorGlyphRunEnumerator** colorLayers) IDWriteFactory2::TranslateColorGlyphRun

Creates a rendering parameters object with the specified properties.

The gamma value used for gamma correction, which must be greater than zero and cannot exceed 256.

The amount of contrast enhancement, zero or greater.

The amount of contrast enhancement, zero or greater.

The degree of ClearType level, from 0.0f (no ClearType) to 1.0f (full ClearType).

The geometry of a device pixel.

Method of rendering glyphs. In most cases, this should be to automatically use an appropriate mode.

How to grid fit glyph outlines. In most cases, this should be DWRITE_GRID_FIT_DEFAULT to automatically choose an appropriate mode.

Holds the newly created rendering parameters object, or null in case of failure.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn894552 HRESULT IDWriteFactory2::CreateCustomRenderingParams([In] float gamma,[In] float enhancedContrast,[In] float grayscaleEnhancedContrast,[In] float clearTypeLevel,[In] DWRITE_PIXEL_GEOMETRY pixelGeometry,[In] DWRITE_RENDERING_MODE renderingMode,[In] DWRITE_GRID_FIT_MODE gridFitMode,[Out] IDWriteRenderingParams2** renderingParams) IDWriteFactory2::CreateCustomRenderingParams

Creates a glyph run analysis object, which encapsulates information used to render a glyph run.

Structure specifying the properties of the glyph run.

Optional transform applied to the glyphs and their positions. This transform is applied after the scaling specified by the emSize and pixelsPerDip.

Specifies the rendering mode, which must be one of the raster rendering modes (i.e., not default and not outline).

Specifies the method to measure glyphs.

How to grid-fit glyph outlines. This must be non-default.

Specifies the antialias mode.

Horizontal position of the baseline origin, in DIPs.

Vertical position of the baseline origin, in DIPs.

Receives a reference to the newly created object.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn894553 HRESULT IDWriteFactory2::CreateGlyphRunAnalysis([In] const DWRITE_GLYPH_RUN* glyphRun,[In, Optional] const DWRITE_MATRIX* transform,[In] DWRITE_RENDERING_MODE renderingMode,[In] DWRITE_MEASURING_MODE measuringMode,[In] DWRITE_GRID_FIT_MODE gridFitMode,[In] DWRITE_TEXT_ANTIALIAS_MODE antialiasMode,[In] float baselineOriginX,[In] float baselineOriginY,[Out] IDWriteGlyphRunAnalysis** glyphRunAnalysis) IDWriteFactory2::CreateGlyphRunAnalysis

Used to create all subsequent DirectWrite objects. This interface is the root factory interface for all DirectWrite objects.

Create an object by using the function.

 if (SUCCEEDED(hr))	
            { hr = ( , __uuidof(), reinterpret_cast<**>(&pDWriteFactory_) );	
            } 

An object holds state information, such as font loader registration and cached font data. This state can be shared or isolated. Shared is recommended for most applications because it saves memory. However, isolated can be useful in situations where you want to have a separate state for some objects.

dd368183 IDWriteFactory3 IDWriteFactory3
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves the list of system fonts.

dn890764 GetSystemFontSet GetSystemFontSet HRESULT IDWriteFactory3::GetSystemFontSet([Out] IDWriteFontSet** fontSet)

Gets the font download queue associated with this factory object.

dn890762 GetFontDownloadQueue GetFontDownloadQueue HRESULT IDWriteFactory3::GetFontDownloadQueue([Out] IDWriteFontDownloadQueue** fontDownloadQueue)

Creates a glyph-run-analysis object that encapsulates info that DirectWrite uses to render a glyph run.

No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn890760 HRESULT IDWriteFactory3::CreateGlyphRunAnalysis([In] const DWRITE_GLYPH_RUN* glyphRun,[In, Optional] const DWRITE_MATRIX* transform,[In] DWRITE_RENDERING_MODE1 renderingMode,[In] DWRITE_MEASURING_MODE measuringMode,[In] DWRITE_GRID_FIT_MODE gridFitMode,[In] DWRITE_TEXT_ANTIALIAS_MODE antialiasMode,[In] float baselineOriginX,[In] float baselineOriginY,[Out] IDWriteGlyphRunAnalysis** glyphRunAnalysis) IDWriteFactory3::CreateGlyphRunAnalysis

Creates a rendering parameters object with the specified properties.

The gamma value used for gamma correction, which must be greater than zero and cannot exceed 256.

The amount of contrast enhancement, zero or greater.

The amount of contrast enhancement to use for grayscale antialiasing, zero or greater.

The degree of ClearType level, from 0.0f (no ClearType) to 1.0f (full ClearType).

A -typed value that specifies the internal structure of a device pixel (that is, the physical arrangement of red, green, and blue color components) that is assumed for purposes of rendering text.

A -typed value that specifies the method (for example, ClearType natural quality) for rendering glyphs. In most cases, specify to automatically use an appropriate mode.

A -typed value that specifies how to grid-fit glyph outlines. In most cases, specify DWRITE_GRID_FIT_DEFAULT to automatically choose an appropriate mode.

A reference to a memory block that receives a reference to a interface for the newly created rendering parameters object, or null in case of failure.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn890754 HRESULT IDWriteFactory3::CreateCustomRenderingParams([In] float gamma,[In] float enhancedContrast,[In] float grayscaleEnhancedContrast,[In] float clearTypeLevel,[In] DWRITE_PIXEL_GEOMETRY pixelGeometry,[In] DWRITE_RENDERING_MODE1 renderingMode,[In] DWRITE_GRID_FIT_MODE gridFitMode,[Out] IDWriteRenderingParams3** renderingParams) IDWriteFactory3::CreateCustomRenderingParams

Creates a reference to a font given a full path.

Absolute file path. Subsequent operations on the constructed object may fail if the user provided filePath doesn't correspond to a valid file on the disk.

The zero based index of a font face in cases when the font files contain a collection of font faces. If the font files contain a single face, this value should be zero.

Font face simulation flags for algorithmic emboldening and italicization.

Contains newly created font face reference object, or nullptr in case of failure.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn890756 HRESULT IDWriteFactory3::CreateFontFaceReference([In] IDWriteFontFile* fontFile,[In] unsigned int faceIndex,[In] DWRITE_FONT_SIMULATIONS fontSimulations,[Out] IDWriteFontFaceReference** fontFaceReference) IDWriteFactory3::CreateFontFaceReference

Creates a reference to a font given a full path.

Absolute file path. Subsequent operations on the constructed object may fail if the user provided filePath doesn't correspond to a valid file on the disk.

Last modified time of the input file path. If the parameter is omitted, the function will access the font file to obtain its last write time, so the clients are encouraged to specify this value to avoid extra disk access. Subsequent operations on the constructed object may fail if the user provided lastWriteTime doesn't match the file on the disk.

The zero based index of a font face in cases when the font files contain a collection of font faces. If the font files contain a single face, this value should be zero.

Font face simulation flags for algorithmic emboldening and italicization.

Contains newly created font face reference object, or nullptr in case of failure.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn890756 HRESULT IDWriteFactory3::CreateFontFaceReference([In] const wchar_t* filePath,[In, Optional] const FILETIME* lastWriteTime,[In] unsigned int faceIndex,[In] DWRITE_FONT_SIMULATIONS fontSimulations,[Out] IDWriteFontFaceReference** fontFaceReference) IDWriteFactory3::CreateFontFaceReference

Retrieves the list of system fonts.

Holds the newly created font set object, or null in case of failure.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn890764 HRESULT IDWriteFactory3::GetSystemFontSet([Out] IDWriteFontSet** fontSet) IDWriteFactory3::GetSystemFontSet

Creates an empty font set builder to add font face references and create a custom font set.

Holds the newly created font set builder object, or null in case of failure.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn890759 HRESULT IDWriteFactory3::CreateFontSetBuilder([Out] IDWriteFontSetBuilder** fontSetBuilder) IDWriteFactory3::CreateFontSetBuilder

Create a weight/width/slope tree from a set of fonts.

A set of fonts to use to build the collection.

Holds the newly created font collection object, or null in case of failure.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn890755 HRESULT IDWriteFactory3::CreateFontCollectionFromFontSet([In] IDWriteFontSet* fontSet,[Out] IDWriteFontCollection1** fontCollection) IDWriteFactory3::CreateFontCollectionFromFontSet

Retrieves a weight/width/slope tree of system fonts.

If this parameter is TRUE, the function performs an immediate check for changes to the set of system fonts. If this parameter is , the function will still detect changes if the font cache service is running, but there may be some latency. For example, an application might specify TRUE if it has just installed a font and wants to be sure the font collection contains that font.

Holds the newly created font collection object, or null in case of failure.

If this parameter is TRUE, the function performs an immediate check for changes to the set of system fonts. If this parameter is , the function will still detect changes if the font cache service is running, but there may be some latency. For example, an application might specify TRUE if it has just installed a font and wants to be sure the font collection contains that font.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn890761 HRESULT IDWriteFactory3::GetSystemFontCollection([In] BOOL includeDownloadableFonts,[Out] IDWriteFontCollection1** fontCollection,[In] BOOL checkForUpdates) IDWriteFactory3::GetSystemFontCollection

Gets the font download queue associated with this factory object.

Receives a reference to the font download queue interface.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn890762 HRESULT IDWriteFactory3::GetFontDownloadQueue([Out] IDWriteFontDownloadQueue** fontDownloadQueue) IDWriteFactory3::GetFontDownloadQueue

The root factory interface for all DirectWrite objects.

mt725315 IDWriteFactory4 IDWriteFactory4
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Translates a glyph run to a sequence of color glyph runs, which can be rendered to produce a color representation of the original "base" run.

Horizontal and vertical origin of the base glyph run in pre-transform coordinates.

Pointer to the original "base" glyph run.

Optional glyph run description.

Which data formats the runs should be split into.

Measuring mode, needed to compute the origins of each glyph.

Matrix converting from the client's coordinate space to device coordinates (pixels), i.e., the world transform multiplied by any DPI scaling.

Zero-based index of the color palette to use. Valid indices are less than the number of palettes in the font, as returned by .

If the function succeeds, receives a reference to an enumerator object that can be used to obtain the color glyph runs. If the base run has no color glyphs, then the output reference is null and the method returns DWRITE_E_NOCOLOR.

Returns DWRITE_E_NOCOLOR if the font has no color information, the glyph run does not contain any color glyphs, or the specified color palette index is out of range. In this case, the client should render the original glyph run. Otherwise, returns a standard error code.

Calling is equivalent to calling IDWriteFactory4::TranslateColorGlyph run with the following formats specified: ||.

mt761992 HRESULT IDWriteFactory4::TranslateColorGlyphRun([In] D2D_POINT_2F baselineOrigin,[In] const DWRITE_GLYPH_RUN* glyphRun,[In, Optional] const DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription,[In] DWRITE_GLYPH_IMAGE_FORMATS desiredGlyphImageFormats,[In] DWRITE_MEASURING_MODE measuringMode,[In, Optional] const DWRITE_MATRIX* worldAndDpiTransform,[In] unsigned int colorPaletteIndex,[Out] IDWriteColorGlyphRunEnumerator1** colorLayers) IDWriteFactory4::TranslateColorGlyphRun

Converts glyph run placements to glyph origins.

Structure containing the properties of the glyph run.

The position of the baseline origin, in DIPs, relative to the upper-left corner of the DIB.

On return contains the glyph origins for the glyphrun.

If this method succeeds, it returns . Otherwise, it returns an error code.

The transform and DPI have no effect on the origin scaling. They are solely used to compute glyph advances when not supplied and align glyphs in pixel aligned measuring modes.

mt725316 HRESULT IDWriteFactory4::ComputeGlyphOrigins([In] const DWRITE_GLYPH_RUN* glyphRun,[In] D2D_POINT_2F baselineOrigin,[Out, Buffer] D2D_POINT_2F* glyphOrigins) IDWriteFactory4::ComputeGlyphOrigins

Converts glyph run placements to glyph origins.

Structure containing the properties of the glyph run.

The measuring method for glyphs in the run, used with the other properties to determine the rendering mode.

The position of the baseline origin, in DIPs, relative to the upper-left corner of the DIB.

World transform multiplied by any DPI scaling. This is needed to compute glyph positions if the run contains color glyphs and the measuring mode is not . If this parameter is null, and identity transform is assumed.

On return contains the glyph origins for the glyphrun.

If this method succeeds, it returns . Otherwise, it returns an error code.

The transform and DPI have no effect on the origin scaling. They are solely used to compute glyph advances when not supplied and align glyphs in pixel aligned measuring modes.

mt725316 HRESULT IDWriteFactory4::ComputeGlyphOrigins([In] const DWRITE_GLYPH_RUN* glyphRun,[In] DWRITE_MEASURING_MODE measuringMode,[In] D2D_POINT_2F baselineOrigin,[In, Optional] const DWRITE_MATRIX* worldAndDpiTransform,[Out, Buffer] D2D_POINT_2F* glyphOrigins) IDWriteFactory4::ComputeGlyphOrigins

Used to create all subsequent DirectWrite objects. This interface is the root factory interface for all DirectWrite objects.

Create an object by using the function.

 if (SUCCEEDED(hr))	
            { hr = ( , __uuidof(), reinterpret_cast<**>(&pDWriteFactory_) );	
            } 

An object holds state information, such as font loader registration and cached font data. This state can be shared or isolated. Shared is recommended for most applications because it saves memory. However, isolated can be useful in situations where you want to have a separate state for some objects.

dd368183 IDWriteFactory5 IDWriteFactory5
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion. No documentation. No documentation. No documentation. HRESULT IDWriteFactory5::CreateFontSetBuilder([Out] IDWriteFontSetBuilder1** fontSetBuilder) IDWriteFactory5::CreateFontSetBuilder

This topic describes various ways in which you can use custom fonts in your app.

  • Introduction?
  • Summary
  • Key
  • Fonts
  • Font
  • Common
    • Creating
    • Creating
    • Creating
    • Creating
  • Advanced
    • Combining
    • Using
    • Using
    • Supporting
No documentation. No documentation. mt492448 HRESULT IDWriteFactory5::CreateInMemoryFontFileLoader([Out] IDWriteInMemoryFontFileLoader** newLoader) IDWriteFactory5::CreateInMemoryFontFileLoader
No documentation. No documentation. No documentation. No documentation. DWRITE_CONTAINER_TYPE IDWriteFactory5::AnalyzeContainerType([In, Buffer] const void* fileData,[In] unsigned int fileDataSize) IDWriteFactory5::AnalyzeContainerType

This topic describes various ways in which you can use custom fonts in your app.

  • Introduction?
  • Summary
  • Key
  • Fonts
  • Font
  • Common
    • Creating
    • Creating
    • Creating
    • Creating
  • Advanced
    • Combining
    • Using
    • Using
    • Supporting
No documentation. No documentation. No documentation. No documentation. No documentation. mt492448 HRESULT IDWriteFactory5::UnpackFontFile([In] DWRITE_CONTAINER_TYPE containerType,[In, Buffer] const void* fileData,[In] unsigned int fileDataSize,[Out] IDWriteFontFileStream** unpackedFontStream) IDWriteFactory5::UnpackFontFile

Represents a physical font in a font collection. This interface is used to create font faces from physical fonts, or to retrieve information such as font face metrics or face names from existing font faces.

dd368213 IDWriteFont IDWriteFont
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the font family to which the specified font belongs.

dd371143 GetFontFamily GetFontFamily HRESULT IDWriteFont::GetFontFamily([Out] IDWriteFontFamily** fontFamily)

Gets the weight, or stroke thickness, of the specified font.

dd371162 GetWeight GetWeight DWRITE_FONT_WEIGHT IDWriteFont::GetWeight()

Gets the stretch, or width, of the specified font.

dd371156 GetStretch GetStretch DWRITE_FONT_STRETCH IDWriteFont::GetStretch()

Gets the style, or slope, of the specified font.

dd371159 GetStyle GetStyle DWRITE_FONT_STYLE IDWriteFont::GetStyle()

Determines whether the font is a symbol font.

dd371168 IsSymbolFont IsSymbolFont BOOL IDWriteFont::IsSymbolFont()

Gets a localized strings collection containing the face names for the font (such as Regular or Bold), indexed by locale name.

dd371140 GetFaceNames GetFaceNames HRESULT IDWriteFont::GetFaceNames([Out] IDWriteLocalizedStrings** names)

Gets a value that indicates what simulations are applied to the specified font.

dd371153 GetSimulations GetSimulations DWRITE_FONT_SIMULATIONS IDWriteFont::GetSimulations()

Obtains design units and common metrics for the font face. These metrics are applicable to all the glyphs within a font face and are used by applications for layout calculations.

dd371149 GetMetrics GetMetrics void IDWriteFont::GetMetrics([Out] DWRITE_FONT_METRICS* fontMetrics)

Gets the font family to which the specified font belongs.

When this method returns, contains an address of a reference to the font family object to which the specified font belongs.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371143 HRESULT IDWriteFont::GetFontFamily([Out] IDWriteFontFamily** fontFamily) IDWriteFont::GetFontFamily

Gets the weight, or stroke thickness, of the specified font.

A value that indicates the weight for the specified font.

dd371162 DWRITE_FONT_WEIGHT IDWriteFont::GetWeight() IDWriteFont::GetWeight

Gets the stretch, or width, of the specified font.

A value that indicates the type of stretch, or width, applied to the specified font.

dd371156 DWRITE_FONT_STRETCH IDWriteFont::GetStretch() IDWriteFont::GetStretch

Gets the style, or slope, of the specified font.

A value that indicates the type of style, or slope, of the specified font.

dd371159 DWRITE_FONT_STYLE IDWriteFont::GetStyle() IDWriteFont::GetStyle

Determines whether the font is a symbol font.

TRUE if the font is a symbol font; otherwise, .

dd371168 BOOL IDWriteFont::IsSymbolFont() IDWriteFont::IsSymbolFont

Gets a localized strings collection containing the face names for the font (such as Regular or Bold), indexed by locale name.

When this method returns, contains an address to a reference to the newly created localized strings object.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371140 HRESULT IDWriteFont::GetFaceNames([Out] IDWriteLocalizedStrings** names) IDWriteFont::GetFaceNames

Gets a localized strings collection containing the specified informational strings, indexed by locale name.

A value that identifies the informational string to get. For example, specifies a string that contains a description of the font.

When this method returns, contains an address of a reference to the newly created localized strings object.

When this method returns, TRUE if the font contains the specified string ID; otherwise, .

If the font does not contain the string specified by informationalStringID, the return value is but informationalStrings receives a null reference and exists receives the value .

dd371147 HRESULT IDWriteFont::GetInformationalStrings([In] DWRITE_INFORMATIONAL_STRING_ID informationalStringID,[Out, Optional] IDWriteLocalizedStrings** informationalStrings,[Out] BOOL* exists) IDWriteFont::GetInformationalStrings

Gets a value that indicates what simulations are applied to the specified font.

A value that indicates one or more of the types of simulations (none, bold, or oblique) applied to the specified font.

dd371153 DWRITE_FONT_SIMULATIONS IDWriteFont::GetSimulations() IDWriteFont::GetSimulations

Obtains design units and common metrics for the font face. These metrics are applicable to all the glyphs within a font face and are used by applications for layout calculations.

When this method returns, contains a structure that has font metrics for the current font face. The metrics returned by this function are in font design units.

dd371149 void IDWriteFont::GetMetrics([Out] DWRITE_FONT_METRICS* fontMetrics) IDWriteFont::GetMetrics

Determines whether the font supports a specified character.

A Unicode (UCS-4) character value for the method to inspect.

When this method returns, TRUE if the font supports the specified character; otherwise, .

dd371165 HRESULT IDWriteFont::HasCharacter([In] unsigned int unicodeValue,[Out] BOOL* exists) IDWriteFont::HasCharacter

Creates a font face object for the font.

When this method returns, contains an address of a reference to the newly created font face object.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371137 HRESULT IDWriteFont::CreateFontFace([Out, Fast] IDWriteFontFace** fontFace) IDWriteFont::CreateFontFace

Represents a physical font in a font collection.

hh780404 IDWriteFont1 IDWriteFont1
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Obtains design units and common metrics for the font face. These metrics are applicable to all the glyphs within a font face and are used by applications for layout calculations.

hh780405 GetMetrics GetMetrics void IDWriteFont1::GetMetrics([Out] DWRITE_FONT_METRICS1* fontMetrics)

Gets the PANOSE values from the font and is used for font selection and matching.

If the font has no PANOSE values, they are set to 'any' (0) and DirectWrite doesn't simulate those values.

hh780406 GetPanose GetPanose void IDWriteFont1::GetPanose([Out] DWRITE_PANOSE* panose)

Determines if the font is monospaced, that is, the characters are the same fixed-pitch width (non-proportional).

hh780408 IsMonospacedFont IsMonospacedFont BOOL IDWriteFont1::IsMonospacedFont()

Obtains design units and common metrics for the font face. These metrics are applicable to all the glyphs within a font face and are used by applications for layout calculations.

A filled structure that has font metrics for the current font face. The metrics returned by this method are in font design units.

hh780405 void IDWriteFont1::GetMetrics([Out] DWRITE_FONT_METRICS1* fontMetrics) IDWriteFont1::GetMetrics

Gets the PANOSE values from the font and is used for font selection and matching.

A reference to the structure to fill in.

If the font has no PANOSE values, they are set to 'any' (0) and DirectWrite doesn't simulate those values.

hh780406 void IDWriteFont1::GetPanose([Out] DWRITE_PANOSE* panose) IDWriteFont1::GetPanose

Retrieves the list of character ranges supported by a font.

The maximum number of character ranges passed in from the client.

An array of structures that are filled with the character ranges.

A reference to the actual number of character ranges, regardless of the maximum count.

This method can return one of these values.

Return valueDescription

The method executed successfully.

E_NOT_SUFFICIENT_BUFFER

The buffer is too small. The actualRangeCount was more than the maxRangeCount.

?

The list of character ranges supported by a font, is useful for scenarios like character picking, glyph display, and efficient font selection lookup. GetUnicodeRanges is similar to GDI's GetFontUnicodeRanges, except that it returns the full Unicode range, not just 16-bit UCS-2.

These ranges are from the cmap, not the OS/2::ulCodePageRange1.

If this method is unavailable, you can use the method to check for missing glyphs. The method returns the 0 index for glyphs that aren't present in the font.

The method is often simpler in cases where you need to check a single character or a series of single characters in succession, such as in font fallback.

hh780407 HRESULT IDWriteFont1::GetUnicodeRanges([In] unsigned int maxRangeCount,[Out, Buffer, Optional] DWRITE_UNICODE_RANGE* unicodeRanges,[Out] unsigned int* actualRangeCount) IDWriteFont1::GetUnicodeRanges

Determines if the font is monospaced, that is, the characters are the same fixed-pitch width (non-proportional).

Returns true if the font is monospaced, else it returns false.

hh780408 BOOL IDWriteFont1::IsMonospacedFont() IDWriteFont1::IsMonospacedFont

Represents a physical font in a font collection.

This interface adds the ability to check if a color rendering path is potentially necessary.

dn280452 IDWriteFont2 IDWriteFont2
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Enables determining if a color rendering path is potentially necessary.

dn280453 IsColorFont IsColorFont BOOL IDWriteFont2::IsColorFont()

Enables determining if a color rendering path is potentially necessary.

Returns TRUE if the font has color information (COLR and CPAL tables); otherwise .

dn280453 BOOL IDWriteFont2::IsColorFont() IDWriteFont2::IsColorFont

Represents a font in a font collection.

dn890766 IDWriteFont3 IDWriteFont3
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets a font face reference that identifies this font.

dn890771 GetFontFaceReference GetFontFaceReference HRESULT IDWriteFont3::GetFontFaceReference([Out] IDWriteFontFaceReference** fontFaceReference)

Gets the current locality of the font.

For fully local files, the result will always be . A downloadable file may be any of the states, and this function may change between calls.

mt725319 GetLocality GetLocality DWRITE_LOCALITY IDWriteFont3::GetLocality()

Creates a font face object for the font.

A reference to a memory block that receives a reference to a interface for the newly created font face object.

If this method succeeds, it returns . Otherwise, it returns an error code.

This method returns DWRITE_E_REMOTEFONT if it could not construct a remote font.

dn890767 HRESULT IDWriteFont3::CreateFontFace([Out] IDWriteFontFace3** fontFace) IDWriteFont3::CreateFontFace

Compares two instances of font references for equality.

A reference to a interface for the other font instance to compare to this font instance.

Returns whether the two instances of font references are equal. Returns TRUE if the two instances are equal; otherwise, .

dn890769 BOOL IDWriteFont3::Equals([In] IDWriteFont* font) IDWriteFont3::Equals

Gets a font face reference that identifies this font.

A reference to a memory block that receives a reference to a interface for the newly created font face reference object.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn890771 HRESULT IDWriteFont3::GetFontFaceReference([Out] IDWriteFontFaceReference** fontFaceReference) IDWriteFont3::GetFontFaceReference
No documentation. No documentation. No documentation. BOOL IDWriteFont3::HasCharacter([In] unsigned int unicodeValue) IDWriteFont3::HasCharacter

Gets the current locality of the font.

Returns the current locality of the font.

For fully local files, the result will always be . A downloadable file may be any of the states, and this function may change between calls.

mt725319 DWRITE_LOCALITY IDWriteFont3::GetLocality() IDWriteFont3::GetLocality

An object that encapsulates a set of fonts, such as the set of fonts installed on the system, or the set of fonts in a particular directory. The font collection API can be used to discover what font families and fonts are available, and to obtain some metadata about the fonts.

dn933224 IDWriteFontCollection1 IDWriteFontCollection1
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the underlying font set used by this collection.

dn933225 GetFontSet GetFontSet HRESULT IDWriteFontCollection1::GetFontSet([Out] IDWriteFontSet** fontSet)

Gets the underlying font set used by this collection.

Returns the font set used by the collection.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn933225 HRESULT IDWriteFontCollection1::GetFontSet([Out] IDWriteFontSet** fontSet) IDWriteFontCollection1::GetFontSet
No documentation. No documentation. No documentation. No documentation. HRESULT IDWriteFontCollection1::GetFontFamily([In] unsigned int index,[Out] IDWriteFontFamily1** fontFamily) IDWriteFontCollection1::GetFontFamily

Application-defined callback interface that receives notifications from the font download queue ( interface). Callbacks will occur on the downloading thread, and objects must be prepared to handle calls on their methods from other threads at any time.

dn890775 IDWriteFontDownloadListener IDWriteFontDownloadListener
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

The DownloadCompleted method is called back on an arbitrary thread when a download operation ends.

Pointer to the download queue interface on which the BeginDownload method was called.

Optional context object that was passed to BeginDownload. AddRef is called on the context object by BeginDownload and Release is called after the DownloadCompleted method returns.

Result of the download operation.

dn890776 void IDWriteFontDownloadListener::DownloadCompleted([In] IDWriteFontDownloadQueue* downloadQueue,[In, Optional] IUnknown* context,[In] HRESULT downloadResult) IDWriteFontDownloadListener::DownloadCompleted

dn890778 IDWriteFontDownloadQueue IDWriteFontDownloadQueue
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Determines whether the download queue is empty. Note that the queue does not include requests that are already being downloaded. Calling BeginDownload clears the queue.

dn894558 IsEmpty IsEmpty BOOL IDWriteFontDownloadQueue::IsEmpty()

Gets the current generation number of the download queue, which is incremented every time after a download completes, whether failed or successful. This cookie value can be compared against cached data to determine if it is stale.

dn894557 GetGenerationCount GetGenerationCount unsigned longlong IDWriteFontDownloadQueue::GetGenerationCount()

Registers a client-defined listener object that receives download notifications. All registered listener's DownloadCompleted will be called after BeginDownload completes.

No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

An can also be passed to BeginDownload using the context parameter, rather than globally registered to the queue.

dn890779 HRESULT IDWriteFontDownloadQueue::AddListener([In] IDWriteFontDownloadListener* listener,[Out] unsigned int* token) IDWriteFontDownloadQueue::AddListener

Unregisters a notification handler that was previously registered using AddListener.

No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn894559 HRESULT IDWriteFontDownloadQueue::RemoveListener([In] unsigned int token) IDWriteFontDownloadQueue::RemoveListener

Determines whether the download queue is empty. Note that the queue does not include requests that are already being downloaded. Calling BeginDownload clears the queue.

TRUE if the queue is empty, if there are requests pending for BeginDownload.

dn894558 BOOL IDWriteFontDownloadQueue::IsEmpty() IDWriteFontDownloadQueue::IsEmpty

Begins an asynchronous download operation. The download operation executes in the background until it completes or is cancelled by a CancelDownload call.

No documentation.

Returns if a download was successfully begun, S_FALSE if the queue was empty, or a standard error code.

BeginDownload removes all download requests from the queue, transferring them to a background download operation. If any previous downloads are still ongoing when BeginDownload is called again, the new download does not complete until the previous downloads have finished. If the queue is empty and no active downloads are pending, the DownloadCompleted callback is called immediately with DWRITE_DOWNLOAD_RESULT_NONE.

dn894554 HRESULT IDWriteFontDownloadQueue::BeginDownload([In, Optional] IUnknown* context) IDWriteFontDownloadQueue::BeginDownload

Removes all download requests from the queue and cancels any active download operations.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn894556 HRESULT IDWriteFontDownloadQueue::CancelDownload() IDWriteFontDownloadQueue::CancelDownload

Gets the current generation number of the download queue, which is incremented every time after a download completes, whether failed or successful. This cookie value can be compared against cached data to determine if it is stale.

The current generation number of the download queue.

dn894557 unsigned longlong IDWriteFontDownloadQueue::GetGenerationCount() IDWriteFontDownloadQueue::GetGenerationCount

Represents an absolute reference to a font face.

This interface contains the font face type, appropriate file references, and face identification data.

You obtain various font data like metrics, names, and glyph outlines from the interface.

hh780409 IDWriteFontFace1 IDWriteFontFace1
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Obtains design units and common metrics for the font face. These metrics are applicable to all the glyphs within a font face and are used by applications for layout calculations.

hh780415 GetMetrics GetMetrics void IDWriteFontFace1::GetMetrics([Out] DWRITE_FONT_METRICS1* fontMetrics)

Gets caret metrics for the font in design units.

Caret metrics are used by text editors for drawing the correct caret placement and slant.

hh780410 GetCaretMetrics GetCaretMetrics void IDWriteFontFace1::GetCaretMetrics([Out] DWRITE_CARET_METRICS* caretMetrics)

Determines whether the font of a text range is monospaced, that is, the font characters are the same fixed-pitch width.

hh780421 IsMonospacedFont IsMonospacedFont BOOL IDWriteFontFace1::IsMonospacedFont()

Obtains design units and common metrics for the font face. These metrics are applicable to all the glyphs within a font face and are used by applications for layout calculations.

A filled structure that holds metrics for the current font face element. The metrics returned by this method are in font design units.

hh780415 void IDWriteFontFace1::GetMetrics([Out] DWRITE_FONT_METRICS1* fontMetrics) IDWriteFontFace1::GetMetrics

Obtains design units and common metrics for the font face. These metrics are applicable to all the glyphs within a fontface and are used by applications for layout calculations.

The logical size of the font in DIP units.

The number of physical pixels per DIP.

An optional transform applied to the glyphs and their positions. This transform is applied after the scaling specified by the font size and pixelsPerDip.

A reference to a structure to fill in. The metrics returned by this function are in font design units.

Standard error code.

hh780413 HRESULT IDWriteFontFace1::GetGdiCompatibleMetrics([In] float emSize,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[Out] DWRITE_FONT_METRICS1* fontMetrics) IDWriteFontFace1::GetGdiCompatibleMetrics

Gets caret metrics for the font in design units.

A reference to the structure that is filled.

Caret metrics are used by text editors for drawing the correct caret placement and slant.

hh780410 void IDWriteFontFace1::GetCaretMetrics([Out] DWRITE_CARET_METRICS* caretMetrics) IDWriteFontFace1::GetCaretMetrics

Retrieves a list of character ranges supported by a font.

Maximum number of character ranges passed in from the client.

An array of structures that are filled with the character ranges.

A reference to the actual number of character ranges, regardless of the maximum count.

This method can return one of these values.

Return valueDescription

The method executed successfully.

E_NOT_SUFFICIENT_BUFFER

The buffer is too small. The actualRangeCount was more than the maxRangeCount.

?

A list of character ranges supported by the font is useful for scenarios like character picking, glyph display, and efficient font selection lookup. This is similar to GDI's GetFontUnicodeRanges, except that it returns the full Unicode range, not just 16-bit UCS-2.

These ranges are from the cmap, not the OS/2::ulCodePageRange1.

If this method is unavailable, you can use the method to check for missing glyphs. The method returns the 0 index for glyphs that aren't present in the font.

The method is often simpler in cases where you need to check a single character or a series of single characters in succession, such as in font fallback.

hh780417 HRESULT IDWriteFontFace1::GetUnicodeRanges([In] unsigned int maxRangeCount,[Out, Buffer, Optional] DWRITE_UNICODE_RANGE* unicodeRanges,[Out] unsigned int* actualRangeCount) IDWriteFontFace1::GetUnicodeRanges

Determines whether the font of a text range is monospaced, that is, the font characters are the same fixed-pitch width.

Returns TRUE if the font is monospaced, otherwise it returns .

hh780421 BOOL IDWriteFontFace1::IsMonospacedFont() IDWriteFontFace1::IsMonospacedFont

Retrieves the advances in design units for a sequences of glyphs.

The number of glyphs to retrieve advances for.

An array of glyph id's to retrieve advances for.

The returned advances in font design units for each glyph.

Retrieve the glyph's vertical advance height rather than horizontal advance widths.

If this method succeeds, it returns . Otherwise, it returns an error code.

This is equivalent to calling GetGlyphMetrics and using only the advance width and height.

hh780411 HRESULT IDWriteFontFace1::GetDesignGlyphAdvances([In] unsigned int glyphCount,[In, Buffer] const unsigned short* glyphIndices,[Out, Buffer] int* glyphAdvances,[In] BOOL isSideways) IDWriteFontFace1::GetDesignGlyphAdvances

Returns the pixel-aligned advances for a sequences of glyphs.

Logical size of the font in DIP units. A DIP ("device-independent pixel") equals 1/96 inch.

Number of physical pixels per DIP. For example, if the DPI of the rendering surface is 96 this value is 1.0f. If the DPI is 120, this value is 120.0f/96.

Optional transform applied to the glyphs and their positions. This transform is applied after the scaling specified by the font size and pixelsPerDip.

When , the metrics are the same as GDI aliased text (). When TRUE, the metrics are the same as those measured by GDI using a font using CLEARTYPE_NATURAL_QUALITY ().

Retrieve the glyph's vertical advances rather than horizontal advances.

Total glyphs to retrieve adjustments for.

An array of glyph id's to retrieve advances.

The returned advances in font design units for each glyph.

If this method succeeds, it returns . Otherwise, it returns an error code.

This is equivalent to calling GetGdiCompatibleGlyphMetrics and using only the advance width and height.

Like GetGdiCompatibleGlyphMetrics, these are in design units, meaning they must be scaled down by DWRITE_FONT_METRICS::designUnitsPerEm.

hh780412 HRESULT IDWriteFontFace1::GetGdiCompatibleGlyphAdvances([In] float emSize,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[In] BOOL useGdiNatural,[In] BOOL isSideways,[In] unsigned int glyphCount,[In, Buffer] const unsigned short* glyphIndices,[Out, Buffer] int* glyphAdvances) IDWriteFontFace1::GetGdiCompatibleGlyphAdvances

Retrieves the kerning pair adjustments from the font's kern table.

Number of glyphs to retrieve adjustments for.

An array of glyph id's to retrieve adjustments for.

The advances, returned in font design units, for each glyph. The last glyph adjustment is zero.

If this method succeeds, it returns . Otherwise, it returns an error code.

GetKerningPairAdjustments isn't a direct replacement for GDI's character based GetKerningPairs, but it serves the same role, without the client needing to cache them locally. GetKerningPairAdjustments also uses glyph id's directly rather than UCS-2 characters (how the kern table actually stores them), which avoids glyph collapse and ambiguity, such as the dash and hyphen, or space and non-breaking space.

Newer fonts may have only GPOS kerning instead of the legacy pair-table kerning. Such fonts, like Gabriola, will only return 0's for adjustments. GetKerningPairAdjustments doesn't virtualize and flatten these GPOS entries into kerning pairs.

You can realize a performance benefit by calling to determine whether you need to call GetKerningPairAdjustments. If you previously called and it returned , you can avoid calling GetKerningPairAdjustments because the font has no kerning pair-table entries. That is, in this situation, a call to GetKerningPairAdjustments would be a no-op.

hh780414 HRESULT IDWriteFontFace1::GetKerningPairAdjustments([In] unsigned int glyphCount,[In, Buffer] const unsigned short* glyphIndices,[Out, Buffer] int* glyphAdvanceAdjustments) IDWriteFontFace1::GetKerningPairAdjustments

Determines whether the font supports pair-kerning.

Returns TRUE if the font supports kerning pairs, otherwise .

If the font doesn't support pair table kerning, you don't need to call because it would retrieve all zeroes.

hh780419 BOOL IDWriteFontFace1::HasKerningPairs() IDWriteFontFace1::HasKerningPairs

Determines the recommended rendering mode for the font, using the specified size and rendering parameters.

The logical size of the font in DIP units. A DIP ("device-independent pixel") equals 1/96 inch.

The number of physical pixels per DIP in a horizontal position. For example, if the DPI of the rendering surface is 96, this value is 1.0f. If the DPI is 120, this value is 120.0f/96.

The number of physical pixels per DIP in a vertical position. For example, if the DPI of the rendering surface is 96, this value is 1.0f. If the DPI is 120, this value is 120.0f/96.

Specifies the world transform.

Whether the glyphs in the run are sideways or not.

A -typed value that specifies the quality of the graphics system's outline rendering, affects the size threshold above which outline rendering is used.

The measuring method that will be used for glyphs in the font. Renderer implementations may choose different rendering modes for different measuring methods, for example:

  • for
  • for
  • for

When this method returns, contains a value that indicates the recommended rendering mode to use.

If this method succeeds, it returns . Otherwise, it returns an error code.

This method should be used to determine the actual rendering mode in cases where the rendering mode of the rendering params object is .

hh780416 HRESULT IDWriteFontFace1::GetRecommendedRenderingMode([In] float fontEmSize,[In] float dpiX,[In] float dpiY,[In, Optional] const DWRITE_MATRIX* transform,[In] BOOL isSideways,[In] DWRITE_OUTLINE_THRESHOLD outlineThreshold,[In] DWRITE_MEASURING_MODE measuringMode,[Out] DWRITE_RENDERING_MODE* renderingMode) IDWriteFontFace1::GetRecommendedRenderingMode

Retrieves the vertical forms of the nominal glyphs retrieved from GetGlyphIndices.

The number of glyphs to retrieve.

Original glyph indices from cmap.

The vertical form of glyph indices.

If this method succeeds, it returns . Otherwise, it returns an error code.

The retrieval uses the font's 'vert' table. This is used in CJK vertical layout so the correct characters are shown.

Call GetGlyphIndices to get the nominal glyph indices, followed by calling this to remap the to the substituted forms, when the run is sideways, and the font has vertical glyph variants. See HasVerticalGlyphVariants for more info.

hh780418 HRESULT IDWriteFontFace1::GetVerticalGlyphVariants([In] unsigned int glyphCount,[In, Buffer] const unsigned short* nominalGlyphIndices,[Out, Buffer] unsigned short* verticalGlyphIndices) IDWriteFontFace1::GetVerticalGlyphVariants

Determines whether the font has any vertical glyph variants.

Returns TRUE if the font contains vertical glyph variants, otherwise .

For OpenType fonts, HasVerticalGlyphVariants returns TRUE if the font contains a "vert" feature.

retrieves the vertical forms of the nominal glyphs that are retrieved from .

hh780420 BOOL IDWriteFontFace1::HasVerticalGlyphVariants() IDWriteFontFace1::HasVerticalGlyphVariants

Represents an absolute reference to a font face.

This interface contains the font face type, appropriate file references, and face identification data.

You obtain various font data like metrics, names, and glyph outlines from the interface.

This interface adds the ability to check if a color rendering path is potentially necessary.

dn280454 IDWriteFontFace2 IDWriteFontFace2
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Allows you to determine if a color rendering path is potentially necessary.

dn280457 IsColorFont IsColorFont BOOL IDWriteFontFace2::IsColorFont()

Gets the number of color palettes defined by the font.

dn312080 GetColorPaletteCount GetColorPaletteCount unsigned int IDWriteFontFace2::GetColorPaletteCount()

Get the number of entries in each color palette.

dn312082 GetPaletteEntryCount GetPaletteEntryCount unsigned int IDWriteFontFace2::GetPaletteEntryCount()

Allows you to determine if a color rendering path is potentially necessary.

Returns TRUE if a color rendering path is potentially necessary.

dn280457 BOOL IDWriteFontFace2::IsColorFont() IDWriteFontFace2::IsColorFont

Gets the number of color palettes defined by the font.

The return value is zero if the font has no color information. Color fonts are required to define at least one palette, with palette index zero reserved as the default palette.

dn312080 unsigned int IDWriteFontFace2::GetColorPaletteCount() IDWriteFontFace2::GetColorPaletteCount

Get the number of entries in each color palette.

The number of entries in each color palette. All color palettes in a font have the same number of palette entries. The return value is zero if the font has no color information.

dn312082 unsigned int IDWriteFontFace2::GetPaletteEntryCount() IDWriteFontFace2::GetPaletteEntryCount

Gets color values from the font's color palette.

Zero-based index of the color palette. If the font does not have a palette with the specified index, the method returns DWRITE_E_NOCOLOR.

Zero-based index of the first palette entry to read.

Number of palette entries to read.

Array that receives the color values.

This method can return one of these values.

Return valueDescription
E_INVALIDARG

The sum of firstEntryIndex and entryCount is greater than the actual number of palette entries that's returned by the GetPaletteEntryCount method.

DWRITE_E_NOCOLOR

The font doesn't have a palette with the specified palette index.

?

dn312081 HRESULT IDWriteFontFace2::GetPaletteEntries([In] unsigned int colorPaletteIndex,[In] unsigned int firstEntryIndex,[In] unsigned int entryCount,[Out, Buffer] D3DCOLORVALUE* paletteEntries) IDWriteFontFace2::GetPaletteEntries

Determines the recommended text rendering and grid-fit mode to be used based on the font, size, world transform, and measuring mode.

Logical font size in DIPs.

Number of pixels per logical inch in the horizontal direction.

Number of pixels per logical inch in the vertical direction.

A structure that describes the world transform.

Specifies whether the font is sideways. TRUE if the font is sideways; otherwise, .

A -typed value that specifies the quality of the graphics system's outline rendering, affects the size threshold above which outline rendering is used.

A -typed value that specifies the method used to measure during text layout. For proper glyph spacing, this method returns a rendering mode that is compatible with the specified measuring mode.

A reference to a interface for the rendering parameters object. This parameter is necessary in case the rendering parameters object overrides the rendering mode.

A reference to a variable that receives a -typed value for the recommended rendering mode.

A reference to a variable that receives a -typed value for the recommended grid-fit mode.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn894560 HRESULT IDWriteFontFace2::GetRecommendedRenderingMode([In] float fontEmSize,[In] float dpiX,[In] float dpiY,[In, Optional] const DWRITE_MATRIX* transform,[In] BOOL isSideways,[In] DWRITE_OUTLINE_THRESHOLD outlineThreshold,[In] DWRITE_MEASURING_MODE measuringMode,[In, Optional] IDWriteRenderingParams* renderingParams,[Out] DWRITE_RENDERING_MODE* renderingMode,[Out] DWRITE_GRID_FIT_MODE* gridFitMode) IDWriteFontFace2::GetRecommendedRenderingMode

Represents an absolute reference to a font face.

dn894561 IDWriteFontFace3 IDWriteFontFace3
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets a font face reference that identifies this font.

dn894566 GetFontFaceReference GetFontFaceReference HRESULT IDWriteFontFace3::GetFontFaceReference([Out] IDWriteFontFaceReference** fontFaceReference)

Gets the PANOSE values from the font, used for font selection and matching.

This method doesn't simulate these values, such as substituting a weight or proportion inferred on other values. If the font doesn't specify them, they are all set to 'any' (0).

dn894568 GetPanose GetPanose void IDWriteFontFace3::GetPanose([Out] DWRITE_PANOSE* panose)

Gets the weight of this font.

dn894572 GetWeight GetWeight DWRITE_FONT_WEIGHT IDWriteFontFace3::GetWeight()

Gets the stretch (also known as width) of this font.

dn894570 GetStretch GetStretch DWRITE_FONT_STRETCH IDWriteFontFace3::GetStretch()

Gets the style (also known as slope) of this font.

dn894571 GetStyle GetStyle DWRITE_FONT_STYLE IDWriteFontFace3::GetStyle()

Creates a localized strings object that contains the family names for the font family, indexed by locale name.

dn894565 GetFamilyNames GetFamilyNames HRESULT IDWriteFontFace3::GetFamilyNames([Out] IDWriteLocalizedStrings** names)

Creates a localized strings object that contains the face names for the font (for example, Regular or Bold), indexed by locale name.

dn894564 GetFaceNames GetFaceNames HRESULT IDWriteFontFace3::GetFaceNames([Out] IDWriteLocalizedStrings** names)

Gets a font face reference that identifies this font.

A reference to a memory block that receives a reference to a interface for the newly created font face reference object.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn894566 HRESULT IDWriteFontFace3::GetFontFaceReference([Out] IDWriteFontFaceReference** fontFaceReference) IDWriteFontFace3::GetFontFaceReference

Gets the PANOSE values from the font, used for font selection and matching.

A reference to a structure that receives the PANOSE values from the font.

This method doesn't simulate these values, such as substituting a weight or proportion inferred on other values. If the font doesn't specify them, they are all set to 'any' (0).

dn894568 void IDWriteFontFace3::GetPanose([Out] DWRITE_PANOSE* panose) IDWriteFontFace3::GetPanose

Gets the weight of this font.

Returns a -typed value that specifies the density of a typeface, in terms of the lightness or heaviness of the strokes.

dn894572 DWRITE_FONT_WEIGHT IDWriteFontFace3::GetWeight() IDWriteFontFace3::GetWeight

Gets the stretch (also known as width) of this font.

Returns a -typed value that specifies the degree to which a font has been stretched compared to a font's normal aspect ratio.

dn894570 DWRITE_FONT_STRETCH IDWriteFontFace3::GetStretch() IDWriteFontFace3::GetStretch

Gets the style (also known as slope) of this font.

Returns a -typed value that specifies the style of the font.

dn894571 DWRITE_FONT_STYLE IDWriteFontFace3::GetStyle() IDWriteFontFace3::GetStyle

Creates a localized strings object that contains the family names for the font family, indexed by locale name.

A reference to a memory block that receives a reference to a interface for the newly created localized strings object.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn894565 HRESULT IDWriteFontFace3::GetFamilyNames([Out] IDWriteLocalizedStrings** names) IDWriteFontFace3::GetFamilyNames

Creates a localized strings object that contains the face names for the font (for example, Regular or Bold), indexed by locale name.

A reference to a memory block that receives a reference to a interface for the newly created localized strings object.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn894564 HRESULT IDWriteFontFace3::GetFaceNames([Out] IDWriteLocalizedStrings** names) IDWriteFontFace3::GetFaceNames

Gets a localized strings collection that contains the specified informational strings, indexed by locale name.

A -typed value that identifies the strings to get.

A reference to a memory block that receives a reference to a interface for the newly created localized strings object.

A reference to a variable that receives whether the font contains the specified string ID. TRUE if the font contains the specified string ID; otherwise, .

If the font doesn't contain the specified string, the return value is , but informationalStrings receives a null reference and exists receives the value .

dn894567 HRESULT IDWriteFontFace3::GetInformationalStrings([In] DWRITE_INFORMATIONAL_STRING_ID informationalStringID,[Out, Optional] IDWriteLocalizedStrings** informationalStrings,[Out] BOOL* exists) IDWriteFontFace3::GetInformationalStrings

Determines whether the font supports the specified character.

A Unicode (UCS-4) character value.

Returns whether the font supports the specified character. Returns TRUE if the font has the specified character; otherwise, .

dn894573 BOOL IDWriteFontFace3::HasCharacter([In] unsigned int unicodeValue) IDWriteFontFace3::HasCharacter

Determines the recommended text rendering and grid-fit mode to be used based on the font, size, world transform, and measuring mode.

Logical font size in DIPs.

Number of pixels per logical inch in the horizontal direction.

Number of pixels per logical inch in the vertical direction.

A structure that describes the world transform.

Specifies whether the font is sideways. TRUE if the font is sideways; otherwise, .

A -typed value that specifies the quality of the graphics system's outline rendering, affects the size threshold above which outline rendering is used.

A -typed value that specifies the method used to measure during text layout. For proper glyph spacing, this method returns a rendering mode that is compatible with the specified measuring mode.

A reference to a interface for the rendering parameters object. This parameter is necessary in case the rendering parameters object overrides the rendering mode.

A reference to a variable that receives a -typed value for the recommended rendering mode.

A reference to a variable that receives a -typed value for the recommended grid-fit mode.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn894569 HRESULT IDWriteFontFace3::GetRecommendedRenderingMode([In] float fontEmSize,[In] float dpiX,[In] float dpiY,[In, Optional] const DWRITE_MATRIX* transform,[In] BOOL isSideways,[In] DWRITE_OUTLINE_THRESHOLD outlineThreshold,[In] DWRITE_MEASURING_MODE measuringMode,[In, Optional] IDWriteRenderingParams* renderingParams,[Out] DWRITE_RENDERING_MODE1* renderingMode,[Out] DWRITE_GRID_FIT_MODE* gridFitMode) IDWriteFontFace3::GetRecommendedRenderingMode

Determines whether the character is locally downloaded from the font.

A Unicode (UCS-4) character value.

Returns TRUE if the font has the specified character locally available, if not or if the font does not support that character.

dn894574 BOOL IDWriteFontFace3::IsCharacterLocal([In] unsigned int unicodeValue) IDWriteFontFace3::IsCharacterLocal

Determines whether the glyph is locally downloaded from the font.

Glyph identifier.

Returns TRUE if the font has the specified glyph locally available.

dn894575 BOOL IDWriteFontFace3::IsGlyphLocal([In] unsigned short glyphId) IDWriteFontFace3::IsGlyphLocal

Determines whether the specified characters are local.

Array of characters.

The number of elements in the character array.

Specifies whether to enqueue a download request if any of the specified characters are not local.

Receives TRUE if all of the specified characters are local, if any of the specified characters are remote.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn894562 HRESULT IDWriteFontFace3::AreCharactersLocal([In, Buffer] const wchar_t* characters,[In] unsigned int characterCount,[In] BOOL enqueueIfNotLocal,[Out] BOOL* isLocal) IDWriteFontFace3::AreCharactersLocal

Determines whether the specified glyphs are local.

Array of glyph indices.

The number of elements in the glyph index array.

Specifies whether to enqueue a download request if any of the specified glyphs are not local.

Receives TRUE if all of the specified glyphs are local, if any of the specified glyphs are remote.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn894563 HRESULT IDWriteFontFace3::AreGlyphsLocal([In, Buffer] const unsigned short* glyphIndices,[In] unsigned int glyphCount,[In] BOOL enqueueIfNotLocal,[Out] BOOL* isLocal) IDWriteFontFace3::AreGlyphsLocal

Represents an absolute reference to a font face. It contains font face type, appropriate file references and face identification data. Various font data such as metrics, names and glyph outlines are obtained from .

mt725320 IDWriteFontFace4 IDWriteFontFace4
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the available image formats of a specific glyph and ppem.

Glyphs often have at least TrueType or CFF outlines, but they may also have SVG outlines, or they may have only bitmaps with no TrueType/CFF outlines. Some image formats, notably the PNG/JPEG ones, are size specific and will return no match when there isn't an entry in that size range.

Glyph ids beyond the glyph count return .

mt725323 GetGlyphImageFormats GetGlyphImageFormats DWRITE_GLYPH_IMAGE_FORMATS IDWriteFontFace4::GetGlyphImageFormats()

Gets the available image formats of a specific glyph and ppem.

The ID of the glyph.

Specifies which formats are supported in the font.

If this method succeeds, it returns . Otherwise, it returns an error code.

Glyphs often have at least TrueType or CFF outlines, but they may also have SVG outlines, or they may have only bitmaps with no TrueType/CFF outlines. Some image formats, notably the PNG/JPEG ones, are size specific and will return no match when there isn't an entry in that size range.

Glyph ids beyond the glyph count return .

mt725323 HRESULT IDWriteFontFace4::GetGlyphImageFormats([In] unsigned short glyphId,[In] unsigned int pixelsPerEmFirst,[In] unsigned int pixelsPerEmLast,[Out] DWRITE_GLYPH_IMAGE_FORMATS* glyphImageFormats) IDWriteFontFace4::GetGlyphImageFormats

Gets the available image formats of a specific glyph and ppem.

If this method succeeds, it returns . Otherwise, it returns an error code.

Glyphs often have at least TrueType or CFF outlines, but they may also have SVG outlines, or they may have only bitmaps with no TrueType/CFF outlines. Some image formats, notably the PNG/JPEG ones, are size specific and will return no match when there isn't an entry in that size range.

Glyph ids beyond the glyph count return .

mt725323 DWRITE_GLYPH_IMAGE_FORMATS IDWriteFontFace4::GetGlyphImageFormats() IDWriteFontFace4::GetGlyphImageFormats

Gets a reference to the glyph data based on the desired image format.

The ID of the glyph to retrieve image data for.

Requested pixels per em.

Specifies which formats are supported in the font.

On return contains data for a glyph.

If this method succeeds, it returns . Otherwise, it returns an error code.

The glyphDataContext must be released via ReleaseGlyphImageData when done if the data is not empty, similar to and . The data reference is valid so long as the exists and ReleaseGlyphImageData has not been called.

The DWRITE_GLYPH_IMAGE_DATA::uniqueDataId is valuable for caching purposes so that if the same resource is returned more than once, an existing resource can be quickly retrieved rather than needing to reparse or decompress the data.

The function only returns SVG or raster data - requesting TrueType/CFF/COLR data returns DWRITE_E_INVALIDARG. Those must be drawn via DrawGlyphRun or queried using GetGlyphOutline instead. Exactly one format may be requested or else the function returns DWRITE_E_INVALIDARG. If the glyph does not have that format, the call is not an error, but the function returns empty data.

mt725321 HRESULT IDWriteFontFace4::GetGlyphImageData([In] unsigned short glyphId,[In] unsigned int pixelsPerEm,[In] DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat,[Out] DWRITE_GLYPH_IMAGE_DATA* glyphData,[Out, Optional] void** glyphDataContext) IDWriteFontFace4::GetGlyphImageData

Releases the table data obtained from ReadGlyphData.

Opaque context from ReadGlyphData.

mt725325 void IDWriteFontFace4::ReleaseGlyphImageData([In] void* glyphDataContext) IDWriteFontFace4::ReleaseGlyphImageData

Represents a reference to a font face. A uniquely identifying reference to a font, from which you can create a font face to query font metrics and use for rendering. A font face reference consists of a font file, font face index, and font face simulation. The file data may or may not be physically present on the local machine yet.

dn894576 IDWriteFontFaceReference IDWriteFontFaceReference
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Obtains the zero-based index of the font face in its font file or files. If the font files contain a single face, the return value is zero.

dn894585 GetFontFaceIndex GetFontFaceIndex unsigned int IDWriteFontFaceReference::GetFontFaceIndex()

Obtains the algorithmic style simulation flags of a font face.

dn894589 GetSimulations GetSimulations DWRITE_FONT_SIMULATIONS IDWriteFontFaceReference::GetSimulations()

Obtains the font file representing a font face.

dn894586 GetFontFile GetFontFile HRESULT IDWriteFontFaceReference::GetFontFile([Out] IDWriteFontFile** fontFile)

Get the local size of the font face in bytes, which will always be less than or equal to GetFullSize. If the locality is remote, this value is zero. If full, this value will equal GetFileSize.

dn894587 GetLocalFileSize GetLocalFileSize unsigned longlong IDWriteFontFaceReference::GetLocalFileSize()

Get the total size of the font face in bytes.

dn894583 GetFileSize GetFileSize unsigned longlong IDWriteFontFaceReference::GetFileSize()

Get the last modified date.

dn894584 GetFileTime GetFileTime HRESULT IDWriteFontFaceReference::GetFileTime([Out] FILETIME* lastWriteTime)

Get the locality of this font face reference.

You can always successfully create a font face from a fully local font. Attempting to create a font face on a remote or partially local font may fail with DWRITE_E_REMOTEFONT. This function may change between calls depending on background downloads and whether cached data expires.

dn894588 GetLocality GetLocality DWRITE_LOCALITY IDWriteFontFaceReference::GetLocality()

Creates a font face from the reference for use with layout, shaping, or rendering.

Newly created font face object, or nullptr in the case of failure.

If this method succeeds, it returns . Otherwise, it returns an error code.

This function can fail with DWRITE_E_REMOTEFONT if the font is not local.

dn894577 HRESULT IDWriteFontFaceReference::CreateFontFace([Out] IDWriteFontFace3** fontFace) IDWriteFontFaceReference::CreateFontFace

Creates a font face with alternate font simulations, for example, to explicitly simulate a bold font face out of a regular variant.

Font face simulation flags for algorithmic emboldening and italicization.

Newly created font face object, or nullptr in the case of failure.

If this method succeeds, it returns . Otherwise, it returns an error code.

This function can fail with DWRITE_E_REMOTEFONT if the font is not local.

dn894578 HRESULT IDWriteFontFaceReference::CreateFontFaceWithSimulations([In] DWRITE_FONT_SIMULATIONS fontFaceSimulationFlags,[Out] IDWriteFontFace3** fontFace) IDWriteFontFaceReference::CreateFontFaceWithSimulations
No documentation. No documentation. No documentation. BOOL IDWriteFontFaceReference::Equals([In] IDWriteFontFaceReference* fontFaceReference) IDWriteFontFaceReference::Equals

Obtains the zero-based index of the font face in its font file or files. If the font files contain a single face, the return value is zero.

the zero-based index of the font face in its font file or files. If the font files contain a single face, the return value is zero.

dn894585 unsigned int IDWriteFontFaceReference::GetFontFaceIndex() IDWriteFontFaceReference::GetFontFaceIndex

Obtains the algorithmic style simulation flags of a font face.

Returns the algorithmic style simulation flags of a font face.

dn894589 DWRITE_FONT_SIMULATIONS IDWriteFontFaceReference::GetSimulations() IDWriteFontFaceReference::GetSimulations

Obtains the font file representing a font face.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn894586 HRESULT IDWriteFontFaceReference::GetFontFile([Out] IDWriteFontFile** fontFile) IDWriteFontFaceReference::GetFontFile

Get the local size of the font face in bytes, which will always be less than or equal to GetFullSize. If the locality is remote, this value is zero. If full, this value will equal GetFileSize.

the local size of the font face in bytes, which will always be less than or equal to GetFullSize. If the locality is remote, this value is zero. If full, this value will equal GetFileSize.

dn894587 unsigned longlong IDWriteFontFaceReference::GetLocalFileSize() IDWriteFontFaceReference::GetLocalFileSize

Get the total size of the font face in bytes.

Returns the total size of the font face in bytes. If the locality is remote, this value is unknown and will be zero.

dn894583 unsigned longlong IDWriteFontFaceReference::GetFileSize() IDWriteFontFaceReference::GetFileSize

Get the last modified date.

Returns the last modified date. The time may be zero if the font file loader does not expose file time.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn894584 HRESULT IDWriteFontFaceReference::GetFileTime([Out] FILETIME* lastWriteTime) IDWriteFontFaceReference::GetFileTime

Get the locality of this font face reference.

Returns the locality of this font face reference.

You can always successfully create a font face from a fully local font. Attempting to create a font face on a remote or partially local font may fail with DWRITE_E_REMOTEFONT. This function may change between calls depending on background downloads and whether cached data expires.

dn894588 DWRITE_LOCALITY IDWriteFontFaceReference::GetLocality() IDWriteFontFaceReference::GetLocality

Adds a request to the font download queue ().

If this method succeeds, it returns . Otherwise, it returns an error code.

dn894581 HRESULT IDWriteFontFaceReference::EnqueueFontDownloadRequest() IDWriteFontFaceReference::EnqueueFontDownloadRequest

Adds a request to the font download queue ().

No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

Downloading a character involves downloading every glyph it depends on directly or indirectly, via font tables (cmap, GSUB, COLR, glyf).

dn894579 HRESULT IDWriteFontFaceReference::EnqueueCharacterDownloadRequest([In, Buffer] const wchar_t* characters,[In] unsigned int characterCount) IDWriteFontFaceReference::EnqueueCharacterDownloadRequest

Adds a request to the font download queue ().

No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

Downloading a glyph involves downloading any other glyphs it depends on from the font tables (GSUB, COLR, glyf).

dn894582 HRESULT IDWriteFontFaceReference::EnqueueGlyphDownloadRequest([In, Buffer] const unsigned short* glyphIndices,[In] unsigned int glyphCount) IDWriteFontFaceReference::EnqueueGlyphDownloadRequest

Adds a request to the font download queue ().

No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn894580 HRESULT IDWriteFontFaceReference::EnqueueFileFragmentDownloadRequest([In] unsigned longlong fileOffset,[In] unsigned longlong fragmentSize) IDWriteFontFaceReference::EnqueueFileFragmentDownloadRequest

Allows you to create Unicode font fallback mappings and create a font fall back object from those mappings.

dn280476 IDWriteFontFallbackBuilder IDWriteFontFallbackBuilder
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Appends a single mapping to the list. Call this once for each additional mapping.

Unicode ranges that apply to this mapping.

Number of Unicode ranges.

List of target family name strings.

Number of target family names.

Optional explicit font collection for this mapping.

Locale of the context.

Base family name to match against, if applicable.

Scale factor to multiply the result target font by.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn280477 HRESULT IDWriteFontFallbackBuilder::AddMapping([In, Buffer] const DWRITE_UNICODE_RANGE* ranges,[In] unsigned int rangesCount,[In, Buffer] const wchar_t** targetFamilyNames,[In] unsigned int targetFamilyNamesCount,[In, Optional] IDWriteFontCollection* fontCollection,[In, Optional] const wchar_t* localeName,[In, Optional] const wchar_t* baseFamilyName,[In] float scale) IDWriteFontFallbackBuilder::AddMapping

Add all the mappings from an existing font fallback object.

An existing font fallback object.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn280478 HRESULT IDWriteFontFallbackBuilder::AddMappings([In] IDWriteFontFallback* fontFallback) IDWriteFontFallbackBuilder::AddMappings

Creates the finalized fallback object from the mappings added.

Contains an address of a reference to the created fallback list.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn280479 HRESULT IDWriteFontFallbackBuilder::CreateFontFallback([Out] IDWriteFontFallback** fontFallback) IDWriteFontFallbackBuilder::CreateFontFallback

Represents a family of related fonts.

A font family is a set of fonts that share the same family name, such as "Times New Roman", but that differ in features. These feature differences include style, such as italic, and weight, such as bold. The following illustration shows examples of fonts that are members of the "Times New Roman" font family.

An object can be retrieved from a font collection using the method shown in the following example. GetFontFamily takes a UINT32 index and returns the font family for the font at that index.

* pFontFamily = null; // Get the font family.	
            if (SUCCEEDED(hr))	
            { hr = pFontCollection->GetFontFamily(i, &pFontFamily);	
            }	
            

The font family name is used to specify the font family for text layout and text format objects. You can get a list of localized font family names from an object in the form of an object by using the method, as shown in the following code.

* pFamilyNames = null; // Get a list of localized strings for the family name.	
            if (SUCCEEDED(hr))	
            { hr = pFontFamily->GetFamilyNames(&pFamilyNames);	
            }	
            
dd371042 IDWriteFontFamily IDWriteFontFamily
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Creates a localized strings object that contains the family names for the font family, indexed by locale name.

The following code example shows how to get the font family name from a object.

* pFamilyNames = null; // Get a list of localized strings for the family name.	
            if (SUCCEEDED(hr))	
            { hr = pFontFamily->GetFamilyNames(&pFamilyNames);	
            } UINT32 index = 0;	
             exists = false; wchar_t localeName[LOCALE_NAME_MAX_LENGTH]; if (SUCCEEDED(hr))	
            { // Get the default locale for this user. int defaultLocaleSuccess = GetUserDefaultLocaleName(localeName, LOCALE_NAME_MAX_LENGTH); // If the default locale is returned, find that locale name, otherwise use "en-us". if (defaultLocaleSuccess) { hr = pFamilyNames->FindLocaleName(localeName, &index, &exists); } if (SUCCEEDED(hr) && !exists) // if the above find did not find a match, retry with US English { hr = pFamilyNames->FindLocaleName(L"en-us", &index, &exists); }	
            } // If the specified locale doesn't exist, select the first on the list.	
            if (!exists) index = 0; UINT32 length = 0; // Get the string length.	
            if (SUCCEEDED(hr))	
            { hr = pFamilyNames->GetStringLength(index, &length);	
            } // Allocate a string big enough to hold the name.	
            wchar_t* name = new (std::nothrow) wchar_t[length+1];	
            if (name == null)	
            { hr = E_OUTOFMEMORY;	
            } // Get the family name.	
            if (SUCCEEDED(hr))	
            { hr = pFamilyNames->GetString(index, name, length+1);	
            }	
            
dd371047 GetFamilyNames GetFamilyNames HRESULT IDWriteFontFamily::GetFamilyNames([Out] IDWriteLocalizedStrings** names)

Creates a localized strings object that contains the family names for the font family, indexed by locale name.

The address of a reference to the newly created object.

If this method succeeds, it returns . Otherwise, it returns an error code.

The following code example shows how to get the font family name from a object.

* pFamilyNames = null; // Get a list of localized strings for the family name.	
            if (SUCCEEDED(hr))	
            { hr = pFontFamily->GetFamilyNames(&pFamilyNames);	
            } UINT32 index = 0;	
             exists = false; wchar_t localeName[LOCALE_NAME_MAX_LENGTH]; if (SUCCEEDED(hr))	
            { // Get the default locale for this user. int defaultLocaleSuccess = GetUserDefaultLocaleName(localeName, LOCALE_NAME_MAX_LENGTH); // If the default locale is returned, find that locale name, otherwise use "en-us". if (defaultLocaleSuccess) { hr = pFamilyNames->FindLocaleName(localeName, &index, &exists); } if (SUCCEEDED(hr) && !exists) // if the above find did not find a match, retry with US English { hr = pFamilyNames->FindLocaleName(L"en-us", &index, &exists); }	
            } // If the specified locale doesn't exist, select the first on the list.	
            if (!exists) index = 0; UINT32 length = 0; // Get the string length.	
            if (SUCCEEDED(hr))	
            { hr = pFamilyNames->GetStringLength(index, &length);	
            } // Allocate a string big enough to hold the name.	
            wchar_t* name = new (std::nothrow) wchar_t[length+1];	
            if (name == null)	
            { hr = E_OUTOFMEMORY;	
            } // Get the family name.	
            if (SUCCEEDED(hr))	
            { hr = pFamilyNames->GetString(index, name, length+1);	
            }	
            
dd371047 HRESULT IDWriteFontFamily::GetFamilyNames([Out] IDWriteLocalizedStrings** names) IDWriteFontFamily::GetFamilyNames

Gets the font that best matches the specified properties.

A value that is used to match a requested font weight.

A value that is used to match a requested font stretch.

A value that is used to match a requested font style.

When this method returns, contains the address of a reference to the newly created object.

dd371051 HRESULT IDWriteFontFamily::GetFirstMatchingFont([In] DWRITE_FONT_WEIGHT weight,[In] DWRITE_FONT_STRETCH stretch,[In] DWRITE_FONT_STYLE style,[Out] IDWriteFont** matchingFont) IDWriteFontFamily::GetFirstMatchingFont

Gets a list of fonts in the font family ranked in order of how well they match the specified properties.

A value that is used to match a requested font weight.

A value that is used to match a requested font stretch.

A value that is used to match a requested font style.

An address of a reference to the newly created object.

dd371056 HRESULT IDWriteFontFamily::GetMatchingFonts([In] DWRITE_FONT_WEIGHT weight,[In] DWRITE_FONT_STRETCH stretch,[In] DWRITE_FONT_STYLE style,[Out] IDWriteFontList** matchingFonts) IDWriteFontFamily::GetMatchingFonts

Represents a family of related fonts.

dn894590 IDWriteFontFamily1 IDWriteFontFamily1
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the current location of a font given its zero-based index.

Zero-based index of the font in the font list.

Returns a -typed value that specifies the location of the specified font.

For fully local files, the result will always be . For streamed files, the result depends on how much of the file has been downloaded. GetFont fails if the locality is and potentially fails if .

dn894593 DWRITE_LOCALITY IDWriteFontFamily1::GetFontLocality([In] unsigned int listIndex) IDWriteFontFamily1::GetFontLocality

Gets a font given its zero-based index.

Zero-based index of the font in the font list.

A reference to a memory block that receives a reference to a interface for the newly created font object.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn894591 HRESULT IDWriteFontFamily1::GetFont([In] unsigned int listIndex,[Out] IDWriteFont3** font) IDWriteFontFamily1::GetFont

Gets a font face reference given its zero-based index.

Zero-based index of the font in the font list.

A reference to a memory block that receives a reference to a interface for the newly created font face reference object.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn894592 HRESULT IDWriteFontFamily1::GetFontFaceReference([In] unsigned int listIndex,[Out] IDWriteFontFaceReference** fontFaceReference) IDWriteFontFamily1::GetFontFaceReference

Gets the number of fonts in the font list.

dd371133 IDWriteFontList IDWriteFontList
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the font collection that contains the fonts in the font list.

dd371129 GetFontCollection GetFontCollection HRESULT IDWriteFontList::GetFontCollection([Out] IDWriteFontCollection** fontCollection)

Gets the number of fonts in the font list.

dd371133 GetFontCount GetFontCount unsigned int IDWriteFontList::GetFontCount()

Gets the font collection that contains the fonts in the font list.

When this method returns, contains the address of a reference to the current object.

If this method succeeds, it returns . Otherwise, it returns an error code.

dd371129 HRESULT IDWriteFontList::GetFontCollection([Out] IDWriteFontCollection** fontCollection) IDWriteFontList::GetFontCollection

Gets the number of fonts in the font list.

The number of fonts in the font list.

dd371133 unsigned int IDWriteFontList::GetFontCount() IDWriteFontList::GetFontCount

Gets a font given its zero-based index.

Zero-based index of the font in the font list.

When this method returns, contains the address of a reference to the newly created object.

dd371125 HRESULT IDWriteFontList::GetFont([In] unsigned int index,[Out] IDWriteFont** font) IDWriteFontList::GetFont

Represents a list of fonts.

dn894594 IDWriteFontList1 IDWriteFontList1
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the current location of a font given its zero-based index.

Zero-based index of the font in the font list.

Returns a -typed value that specifies the location of the specified font.

For fully local files, the result will always be . For streamed files, the result depends on how much of the file has been downloaded. GetFont fails if the locality is and potentially fails if .

dn900386 DWRITE_LOCALITY IDWriteFontList1::GetFontLocality([In] unsigned int listIndex) IDWriteFontList1::GetFontLocality

Gets a font given its zero-based index.

Zero-based index of the font in the font list.

A reference to a memory block that receives a reference to a interface for the newly created font object.

If this method succeeds, it returns . Otherwise, it returns an error code.

This method returns DWRITE_E_REMOTEFONT if it could not construct a remote font.

dn894595 HRESULT IDWriteFontList1::GetFont([In] unsigned int listIndex,[Out] IDWriteFont3** font) IDWriteFontList1::GetFont

Gets a font face reference given its zero-based index.

Zero-based index of the font in the font list.

A reference to a memory block that receives a reference to a interface for the newly created font face reference object.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn900385 HRESULT IDWriteFontList1::GetFontFaceReference([In] unsigned int listIndex,[Out] IDWriteFontFaceReference** fontFaceReference) IDWriteFontList1::GetFontFaceReference

dn933235 IDWriteFontSet IDWriteFontSet
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Get the number of total fonts in the set.

dn933243 GetFontCount GetFontCount unsigned int IDWriteFontSet::GetFontCount()

Get the number of total fonts in the set.

Returns the number of total fonts in the set.

dn933243 unsigned int IDWriteFontSet::GetFontCount() IDWriteFontSet::GetFontCount

Gets a reference to the font at the specified index, which may be local or remote.

Zero-based index of the font.

Receives a reference the font face reference object, or nullptr on failure.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn933244 HRESULT IDWriteFontSet::GetFontFaceReference([In] unsigned int listIndex,[Out] IDWriteFontFaceReference** fontFaceReference) IDWriteFontSet::GetFontFaceReference

Gets the index of the matching font face reference in the font set, with the same file, face index, and simulations.

Font face object that specifies the physical font.

Receives the zero-based index of the matching font if the font was found, or UINT_MAX otherwise.

Receives TRUE if the font exists or otherwise.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn958414 HRESULT IDWriteFontSet::FindFontFaceReference([In] IDWriteFontFaceReference* fontFaceReference,[Out] unsigned int* listIndex,[Out] BOOL* exists) IDWriteFontSet::FindFontFaceReference

Gets the index of the matching font face reference in the font set, with the same file, face index, and simulations.

Font face object that specifies the physical font.

Receives the zero-based index of the matching font if the font was found, or UINT_MAX otherwise.

Receives TRUE if the font exists or otherwise.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn933242 HRESULT IDWriteFontSet::FindFontFace([In] IDWriteFontFace* fontFace,[Out] unsigned int* listIndex,[Out] BOOL* exists) IDWriteFontSet::FindFontFace

Returns all unique property values in the set, which can be used for purposes such as displaying a family list or tag cloud. Values are returned in priority order according to the language list, such that if a font contains more than one localized name, the preferred one will be returned.

Font property of interest.

Receives a reference to the newly created strings list.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn933250 HRESULT IDWriteFontSet::GetPropertyValues([In] DWRITE_FONT_PROPERTY_ID propertyID,[Out] IDWriteStringList** values) IDWriteFontSet::GetPropertyValues

Returns all unique property values in the set, which can be used for purposes such as displaying a family list or tag cloud. Values are returned in priority order according to the language list, such that if a font contains more than one localized name, the preferred one will be returned.

Font property of interest.

List of semicolon delimited language names in preferred order. When a particular string like font family has more than one localized name, the first match is returned. For example, suppose the font set includes the Meiryo family, which has both Japanese and English family names. The returned list of distinct family names would include either the Japanese name (if "ja-jp" was specified as a preferred locale) or the English name (in all other cases).

Receives a reference to the newly created strings list.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn933250 HRESULT IDWriteFontSet::GetPropertyValues([In] DWRITE_FONT_PROPERTY_ID propertyID,[In] const wchar_t* preferredLocaleNames,[Out] IDWriteStringList** values) IDWriteFontSet::GetPropertyValues

Returns all unique property values in the set, which can be used for purposes such as displaying a family list or tag cloud. Values are returned in priority order according to the language list, such that if a font contains more than one localized name, the preferred one will be returned.

Font property of interest.

List of semicolon delimited language names in preferred order. When a particular string like font family has more than one localized name, the first match is returned. For example, suppose the font set includes the Meiryo family, which has both Japanese and English family names. The returned list of distinct family names would include either the Japanese name (if "ja-jp" was specified as a preferred locale) or the English name (in all other cases).

Receives a reference to the newly created strings list.

Receives a reference to the newly created strings list.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn933250 HRESULT IDWriteFontSet::GetPropertyValues([In] unsigned int listIndex,[In] DWRITE_FONT_PROPERTY_ID propertyId,[Out] BOOL* exists,[Out, Optional] IDWriteLocalizedStrings** values) IDWriteFontSet::GetPropertyValues

Returns how many times a given property value occurs in the set.

Font property of interest.

Receives how many times the property occurs.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn933248 HRESULT IDWriteFontSet::GetPropertyOccurrenceCount([In] const DWRITE_FONT_PROPERTY* property,[Out] unsigned int* propertyOccurrenceCount) IDWriteFontSet::GetPropertyOccurrenceCount

Returns a subset of fonts filtered by the given properties.

List of properties to filter using.

The number of properties to filter.

The subset of fonts that match the properties, or nullptr on failure.

No documentation.

The subset of fonts that match the properties, or nullptr on failure.

If this method succeeds, it returns . Otherwise, it returns an error code.

If no fonts matched the filter, the subset will be empty (GetFontCount returns 0), but the function does not return an error. The subset will always be equal to or less than the original set. If you only want to filter out remote fonts, you may pass null in properties and zero in propertyCount.

dn933245 HRESULT IDWriteFontSet::GetMatchingFonts([In] const wchar_t* familyName,[In] DWRITE_FONT_WEIGHT fontWeight,[In] DWRITE_FONT_STRETCH fontStretch,[In] DWRITE_FONT_STYLE fontStyle,[Out] IDWriteFontSet** filteredSet) IDWriteFontSet::GetMatchingFonts

Returns a subset of fonts filtered by the given properties.

List of properties to filter using.

The number of properties to filter.

The subset of fonts that match the properties, or nullptr on failure.

If this method succeeds, it returns . Otherwise, it returns an error code.

If no fonts matched the filter, the subset will be empty (GetFontCount returns 0), but the function does not return an error. The subset will always be equal to or less than the original set. If you only want to filter out remote fonts, you may pass null in properties and zero in propertyCount.

dn933245 HRESULT IDWriteFontSet::GetMatchingFonts([In, Buffer] const DWRITE_FONT_PROPERTY* properties,[In] unsigned int propertyCount,[Out] IDWriteFontSet** filteredSet) IDWriteFontSet::GetMatchingFonts

Contains methods for building a font set.

dn933236 IDWriteFontSetBuilder IDWriteFontSetBuilder
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Adds a reference to a font to the set being built. The caller supplies enough information to search on, avoiding the need to open the potentially non-local font. Any properties not supplied by the caller will be missing, and those properties will not be available as filters in GetMatchingFonts. GetPropertyValues for missing properties will return an empty string list. The properties passed should generally be consistent with the actual font contents, but they need not be. You could, for example, alias a font using a different name or unique identifier, or you could set custom tags not present in the actual font.

Reference to the font.

List of properties to associate with the reference.

The number of properties defined.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn933238 HRESULT IDWriteFontSetBuilder::AddFontFaceReference([In] IDWriteFontFaceReference* fontFaceReference,[In, Buffer] const DWRITE_FONT_PROPERTY* properties,[In] unsigned int propertyCount) IDWriteFontSetBuilder::AddFontFaceReference

Adds a reference to a font to the set being built. The caller supplies enough information to search on, avoiding the need to open the potentially non-local font. Any properties not supplied by the caller will be missing, and those properties will not be available as filters in GetMatchingFonts. GetPropertyValues for missing properties will return an empty string list. The properties passed should generally be consistent with the actual font contents, but they need not be. You could, for example, alias a font using a different name or unique identifier, or you could set custom tags not present in the actual font.

Reference to the font.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn933238 HRESULT IDWriteFontSetBuilder::AddFontFaceReference([In] IDWriteFontFaceReference* fontFaceReference) IDWriteFontSetBuilder::AddFontFaceReference

Appends an existing font set to the one being built, allowing one to aggregate two sets or to essentially extend an existing one.

Font set to append font face references from.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn933240 HRESULT IDWriteFontSetBuilder::AddFontSet([In] IDWriteFontSet* fontSet) IDWriteFontSetBuilder::AddFontSet

Creates a font set from all the font face references added so far with AddFontFaceReference.

Contains the newly created font set object, or nullptr in case of failure.

If this method succeeds, it returns . Otherwise, it returns an error code.

Creating a font set takes less time if the references were added with metadata rather than needing to extract the metadata from the font file.

dn933241 HRESULT IDWriteFontSetBuilder::CreateFontSet([Out] IDWriteFontSet** fontSet) IDWriteFontSetBuilder::CreateFontSet

Represents an absolute reference to a font face which contains font face type, appropriate file references, face identification data and various font data such as metrics, names and glyph outlines.

dd370983 IDWriteFontSetBuilder1 IDWriteFontSetBuilder1
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Provides interoperability with GDI, such as methods to convert a font face to a structure, or to convert a GDI font description into a font face. It is also used to create bitmap render target objects.

dn958415 IDWriteGdiInterop1 IDWriteGdiInterop1
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Creates a font object that matches the properties specified by the structure.

Structure containing a GDI-compatible font description.

The font collection to search. If null, the local system font collection is used.

Receives a newly created font object if successful, or null in case of error.

dn958416 HRESULT IDWriteGdiInterop1::CreateFontFromLOGFONT([In] const void* logFont,[In, Optional] IDWriteFontCollection* fontCollection,[Out] IDWriteFont** font) IDWriteGdiInterop1::CreateFontFromLOGFONT

Reads the font signature from the given font face.

Font face to read font signature from.

Font signature from the OS/2 table, ulUnicodeRange and ulCodePageRange.

dn958418 HRESULT IDWriteGdiInterop1::GetFontSignature([In] IDWriteFontFace* fontFace,[Out] FONTSIGNATURE* fontSignature) IDWriteGdiInterop1::GetFontSignature

Reads the font signature from the given font face.

Font face to read font signature from.

Font signature from the OS/2 table, ulUnicodeRange and ulCodePageRange.

dn958418 HRESULT IDWriteGdiInterop1::GetFontSignature([In] IDWriteFont* font,[Out] FONTSIGNATURE* fontSignature) IDWriteGdiInterop1::GetFontSignature

Gets a list of matching fonts based on the specified values. Only fonts of that family name will be returned.

Structure containing a GDI-compatible font description.

The font set to search.

>Receives the filtered font set if successful.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn958420 HRESULT IDWriteGdiInterop1::GetMatchingFontsByLOGFONT([In] const void* logFont,[In] IDWriteFontSet* fontSet,[Out] IDWriteFontSet** filteredSet) IDWriteGdiInterop1::GetMatchingFontsByLOGFONT

Represents an absolute reference to a font face which contains font face type, appropriate file references, face identification data and various font data such as metrics, names and glyph outlines.

dd370983 IDWriteInMemoryFontFileLoader IDWriteInMemoryFontFileLoader
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT IDWriteInMemoryFontFileLoader::CreateInMemoryFontFileReference([In] IDWriteFactory* factory,[In, Buffer] const void* fontData,[In] unsigned int fontDataSize,[In, Optional] IUnknown* ownerObject,[Out] IDWriteFontFile** fontFile) IDWriteInMemoryFontFileLoader::CreateInMemoryFontFileReference No documentation. No documentation. unsigned int IDWriteInMemoryFontFileLoader::GetFileCount() IDWriteInMemoryFontFileLoader::GetFileCount

Represents an absolute reference to a font face which contains font face type, appropriate file references, face identification data and various font data such as metrics, names and glyph outlines.

dd370983 IDWriteRemoteFontFileLoader IDWriteRemoteFontFileLoader
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion. No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT IDWriteRemoteFontFileLoader::CreateRemoteStreamFromKey([In, Buffer] const void* fontFileReferenceKey,[In] unsigned int fontFileReferenceKeySize,[Out] IDWriteRemoteFontFileStream** fontFileStream) IDWriteRemoteFontFileLoader::CreateRemoteStreamFromKey No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT IDWriteRemoteFontFileLoader::GetLocalityFromKey([In, Buffer] const void* fontFileReferenceKey,[In] unsigned int fontFileReferenceKeySize,[Out] DWRITE_LOCALITY* locality) IDWriteRemoteFontFileLoader::GetLocalityFromKey No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT IDWriteRemoteFontFileLoader::CreateFontFileReferenceFromUrl([In] IDWriteFactory* factory,[In, Optional] const wchar_t* baseUrl,[In] const wchar_t* fontFileUrl,[Out] IDWriteFontFile** fontFile) IDWriteRemoteFontFileLoader::CreateFontFileReferenceFromUrl

Represents an absolute reference to a font face which contains font face type, appropriate file references, face identification data and various font data such as metrics, names and glyph outlines.

dd370983 IDWriteRemoteFontFileStream IDWriteRemoteFontFileStream
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion. No documentation. No documentation. No documentation. HRESULT IDWriteRemoteFontFileStream::GetLocalFileSize([Out] unsigned longlong* localFileSize) IDWriteRemoteFontFileStream::GetLocalFileSize No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT IDWriteRemoteFontFileStream::GetFileFragmentLocality([In] unsigned longlong fileOffset,[In] unsigned longlong fragmentSize,[Out] BOOL* isLocal,[In] unsigned longlong* partialSize) IDWriteRemoteFontFileStream::GetFileFragmentLocality No documentation. No documentation. DWRITE_LOCALITY IDWriteRemoteFontFileStream::GetLocality() IDWriteRemoteFontFileStream::GetLocality No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT IDWriteRemoteFontFileStream::BeginDownload([In] const GUID* downloadOperationID,[In, Buffer] const DWRITE_FILE_FRAGMENT* fileFragments,[In] unsigned int fragmentCount,[Out, Optional] IDWriteAsyncResult** asyncResult) IDWriteRemoteFontFileStream::BeginDownload

Represents text rendering settings for glyph rasterization and filtering.

hh780422 IDWriteRenderingParams1 IDWriteRenderingParams1
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the amount of contrast enhancement to use for grayscale antialiasing.

hh780423 GetGrayscaleEnhancedContrast GetGrayscaleEnhancedContrast float IDWriteRenderingParams1::GetGrayscaleEnhancedContrast()

Gets the amount of contrast enhancement to use for grayscale antialiasing.

The contrast enhancement value. Valid values are greater than or equal to zero.

hh780423 float IDWriteRenderingParams1::GetGrayscaleEnhancedContrast() IDWriteRenderingParams1::GetGrayscaleEnhancedContrast

Represents text rendering settings for glyph rasterization and filtering.

dn900387 IDWriteRenderingParams2 IDWriteRenderingParams2
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the grid fitting mode.

dn900388 GetGridFitMode GetGridFitMode DWRITE_GRID_FIT_MODE IDWriteRenderingParams2::GetGridFitMode()

Gets the grid fitting mode.

Returns a -typed value for the grid fitting mode.

dn900388 DWRITE_GRID_FIT_MODE IDWriteRenderingParams2::GetGridFitMode() IDWriteRenderingParams2::GetGridFitMode

Represents text rendering settings for glyph rasterization and filtering.

dn900389 IDWriteRenderingParams3 IDWriteRenderingParams3
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the rendering mode.

dn900390 GetRenderingMode1 GetRenderingMode1 DWRITE_RENDERING_MODE1 IDWriteRenderingParams3::GetRenderingMode1()

Gets the rendering mode.

Returns a -typed value for the rendering mode.

dn900390 DWRITE_RENDERING_MODE1 IDWriteRenderingParams3::GetRenderingMode1() IDWriteRenderingParams3::GetRenderingMode1

Represents a collection of strings indexed by number. An is identical to except for the semantics, where localized strings are indexed on language (each language has one string property) whereas may contain multiple strings of the same language, such as a string list of family names from a font set. You can QueryInterface from an to an .

dn958421 IDWriteStringList IDWriteStringList
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the number of strings in the string list.

dn958422 GetCount GetCount unsigned int IDWriteStringList::GetCount()

Gets the number of strings in the string list.

Returns the number of strings in the string list.

dn958422 unsigned int IDWriteStringList::GetCount() IDWriteStringList::GetCount

Gets the length in characters (not including the null terminator) of the locale name with the specified index.

Zero-based index of the locale name.

Receives the length in characters, not including the null terminator.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn958424 HRESULT IDWriteStringList::GetLocaleNameLength([In] unsigned int listIndex,[Out] unsigned int* length) IDWriteStringList::GetLocaleNameLength

Copies the locale name with the specified index to the specified array.

Zero-based index of the locale name.

Character array that receives the locale name.

Size of the array in characters. The size must include space for the terminating null character.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn958423 HRESULT IDWriteStringList::GetLocaleName([In] unsigned int listIndex,[Out, Buffer] wchar_t* localeName,[In] unsigned int size) IDWriteStringList::GetLocaleName

Gets the length in characters (not including the null terminator) of the string with the specified index.

Zero-based index of the string.

Receives the length in characters of the string, not including the null terminator.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn958426 HRESULT IDWriteStringList::GetStringLength([In] unsigned int listIndex,[Out] unsigned int* length) IDWriteStringList::GetStringLength

Copies the string with the specified index to the specified array.

Zero-based index of the string.

Character array that receives the string.

Size of the array in characters. The size must include space for the terminating null character.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn958425 HRESULT IDWriteStringList::GetString([In] unsigned int listIndex,[Out, Buffer] wchar_t* stringBuffer,[In] unsigned int stringBufferSize) IDWriteStringList::GetString

Analyzes various text properties for complex script processing.

dn280483 IDWriteTextAnalyzer2 IDWriteTextAnalyzer2
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Returns 2x3 transform matrix for the respective angle to draw the glyph run.

Extends to pass valid values for the baseline origin rather than zeroes.

No documentation. No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn280484 HRESULT IDWriteTextAnalyzer2::GetGlyphOrientationTransform([In] DWRITE_GLYPH_ORIENTATION_ANGLE glyphOrientationAngle,[In] BOOL isSideways,[In] float originX,[In] float originY,[Out] DWRITE_MATRIX* transform) IDWriteTextAnalyzer2::GetGlyphOrientationTransform

Returns a complete list of OpenType features available for a script or font. If a feature is partially supported, then this method indicates that it is supported.

The font face to get features from.

The script analysis for the script or font to check.

The locale name to check.

The maximum number of tags to return.

The actual number of tags returned.

An array of OpenType font feature tags.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn280456 HRESULT IDWriteTextAnalyzer2::GetTypographicFeatures([In] IDWriteFontFace* fontFace,[In] DWRITE_SCRIPT_ANALYSIS scriptAnalysis,[In, Optional] const wchar_t* localeName,[In] unsigned int maxTagCount,[Out] unsigned int* actualTagCount,[Out, Buffer] DWRITE_FONT_FEATURE_TAG* tags) IDWriteTextAnalyzer2::GetTypographicFeatures

Checks if a typographic feature is available for a glyph or a set of glyphs.

The font face to read glyph information from.

The script analysis for the script or font to check.

The locale name to check.

The font feature tag to check.

The number of glyphs to check.

An array of glyph indices to check.

An array of integers that indicate whether or not the font feature applies to each glyph specified.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn280455 HRESULT IDWriteTextAnalyzer2::CheckTypographicFeature([In] IDWriteFontFace* fontFace,[In] DWRITE_SCRIPT_ANALYSIS scriptAnalysis,[In, Optional] const wchar_t* localeName,[In] DWRITE_FONT_FEATURE_TAG featureTag,[In] unsigned int glyphCount,[In, Buffer] const unsigned short* glyphIndices,[Out, Buffer] unsigned char* featureApplies) IDWriteTextAnalyzer2::CheckTypographicFeature

Describes the font and paragraph properties used to format text, and it describes locale information. This interface has all the same methods as and adds the ability for you to apply an explicit orientation.

dn280485 IDWriteTextFormat1 IDWriteTextFormat1
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Get or sets the preferred orientation of glyphs when using a vertical reading direction.

dn894598 GetVerticalGlyphOrientation / SetVerticalGlyphOrientation GetVerticalGlyphOrientation DWRITE_VERTICAL_GLYPH_ORIENTATION IDWriteTextFormat1::GetVerticalGlyphOrientation()

Gets or sets the wrapping mode of the last line.

dn894596 GetLastLineWrapping / SetLastLineWrapping GetLastLineWrapping BOOL IDWriteTextFormat1::GetLastLineWrapping()

Gets or sets the optical margin alignment for the text format.

dn894597 GetOpticalAlignment / SetOpticalAlignment GetOpticalAlignment DWRITE_OPTICAL_ALIGNMENT IDWriteTextFormat1::GetOpticalAlignment()

Gets or sets the current fallback. If none was ever set since creating the layout, it will be nullptr.

dn280486 GetFontFallback / SetFontFallback GetFontFallback HRESULT IDWriteTextFormat1::GetFontFallback([Out] IDWriteFontFallback** fontFallback)

Sets the orientation of a text format.

The orientation to apply to the text format.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn280489 HRESULT IDWriteTextFormat1::SetVerticalGlyphOrientation([In] DWRITE_VERTICAL_GLYPH_ORIENTATION glyphOrientation) IDWriteTextFormat1::SetVerticalGlyphOrientation

Get the preferred orientation of glyphs when using a vertical reading direction.

The preferred orientation of glyphs when using a vertical reading direction.

dn894598 DWRITE_VERTICAL_GLYPH_ORIENTATION IDWriteTextFormat1::GetVerticalGlyphOrientation() IDWriteTextFormat1::GetVerticalGlyphOrientation

Sets the wrapping mode of the last line.

If set to , the last line is not wrapped. If set to TRUE, the last line is wrapped.

The last line is wrapped by default.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn280490 HRESULT IDWriteTextFormat1::SetLastLineWrapping([In] BOOL isLastLineWrappingEnabled) IDWriteTextFormat1::SetLastLineWrapping

Gets the wrapping mode of the last line.

Returns if the last line is not wrapped; TRUE if the last line is wrapped.

dn894596 BOOL IDWriteTextFormat1::GetLastLineWrapping() IDWriteTextFormat1::GetLastLineWrapping

Sets the optical margin alignment for the text format.

By default, glyphs are aligned to the margin by the default origin and side-bearings of the glyph. If you specify DWRITE_OPTICAL_ALIGNMENT_USING_SIDE_BEARINGS, then the alignment Suses the side bearings to offset the glyph from the aligned edge to ensure the ink of the glyphs are aligned.

The optical alignment to set.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn280488 HRESULT IDWriteTextFormat1::SetOpticalAlignment([In] DWRITE_OPTICAL_ALIGNMENT opticalAlignment) IDWriteTextFormat1::SetOpticalAlignment

Gets the optical margin alignment for the text format.

The optical alignment.

dn894597 DWRITE_OPTICAL_ALIGNMENT IDWriteTextFormat1::GetOpticalAlignment() IDWriteTextFormat1::GetOpticalAlignment

Applies the custom font fallback onto the layout. If none is set, it uses the default system fallback list.

The font fallback to apply to the layout.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn280487 HRESULT IDWriteTextFormat1::SetFontFallback([In] IDWriteFontFallback* fontFallback) IDWriteTextFormat1::SetFontFallback

Gets the current fallback. If none was ever set since creating the layout, it will be nullptr.

Contains an address of a reference to the the current font fallback object.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn280486 HRESULT IDWriteTextFormat1::GetFontFallback([Out] IDWriteFontFallback** fontFallback) IDWriteTextFormat1::GetFontFallback

Describes the font and paragraph properties used to format text, and it describes locale information.

mt574121 IDWriteTextFormat2 IDWriteTextFormat2
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets or sets the line spacing adjustment set for a multiline text paragraph.

mt574122 GetLineSpacing / SetLineSpacing GetLineSpacing HRESULT IDWriteTextFormat2::GetLineSpacing([Out] DWRITE_LINE_SPACING* lineSpacingOptions)

Set line spacing.

How to manage space between lines.

If this method succeeds, it returns . Otherwise, it returns an error code.

mt574123 HRESULT IDWriteTextFormat2::SetLineSpacing([In] const DWRITE_LINE_SPACING* lineSpacingOptions) IDWriteTextFormat2::SetLineSpacing

Gets the line spacing adjustment set for a multiline text paragraph.

A structure describing how the space between lines is managed for the paragraph.

If this method succeeds, it returns . Otherwise, it returns an error code.

mt574122 HRESULT IDWriteTextFormat2::GetLineSpacing([Out] DWRITE_LINE_SPACING* lineSpacingOptions) IDWriteTextFormat2::GetLineSpacing

Represents a block of text after it has been fully analyzed and formatted.

hh780438 IDWriteTextLayout1 IDWriteTextLayout1
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Enables or disables pair-kerning on a given text range.

The flag that indicates whether text is pair-kerned.

The text range to which the change applies.

If this method succeeds, it returns . Otherwise, it returns an error code.

hh780442 HRESULT IDWriteTextLayout1::SetPairKerning([In] BOOL isPairKerningEnabled,[In] DWRITE_TEXT_RANGE textRange) IDWriteTextLayout1::SetPairKerning

Gets whether or not pair-kerning is enabled at given position.

The current text position.

The flag that indicates whether text is pair-kerned.

The position range of the current format.

If this method succeeds, it returns . Otherwise, it returns an error code.

hh780440 HRESULT IDWriteTextLayout1::GetPairKerning([In] unsigned int currentPosition,[Out] BOOL* isPairKerningEnabled,[Out, Optional] DWRITE_TEXT_RANGE* textRange) IDWriteTextLayout1::GetPairKerning

Sets the spacing between characters.

The spacing before each character, in reading order.

The spacing after each character, in reading order.

The minimum advance of each character, to prevent characters from becoming too thin or zero-width. This must be zero or greater.

Text range to which this change applies.

If this method succeeds, it returns . Otherwise, it returns an error code.

hh780441 HRESULT IDWriteTextLayout1::SetCharacterSpacing([In] float leadingSpacing,[In] float trailingSpacing,[In] float minimumAdvanceWidth,[In] DWRITE_TEXT_RANGE textRange) IDWriteTextLayout1::SetCharacterSpacing

Gets the spacing between characters.

The current text position.

The spacing before each character, in reading order.

The spacing after each character, in reading order.

The minimum advance of each character, to prevent characters from becoming too thin or zero-width. This must be zero or greater.

The position range of the current format.

If this method succeeds, it returns . Otherwise, it returns an error code.

hh780439 HRESULT IDWriteTextLayout1::GetCharacterSpacing([In] unsigned int currentPosition,[Out] float* leadingSpacing,[Out] float* trailingSpacing,[Out] float* minimumAdvanceWidth,[Out, Optional] DWRITE_TEXT_RANGE* textRange) IDWriteTextLayout1::GetCharacterSpacing

Represents a block of text after it has been fully analyzed and formatted.

dn280491 IDWriteTextLayout2 IDWriteTextLayout2
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves overall metrics for the formatted string.

dn280492 GetMetrics GetMetrics HRESULT IDWriteTextLayout2::GetMetrics([Out] DWRITE_TEXT_METRICS1* textMetrics)

Get or sets the preferred orientation of glyphs when using a vertical reading direction.

dn482048 GetVerticalGlyphOrientation / SetVerticalGlyphOrientation GetVerticalGlyphOrientation DWRITE_VERTICAL_GLYPH_ORIENTATION IDWriteTextLayout2::GetVerticalGlyphOrientation()

Get or sets whether or not the last word on the last line is wrapped.

dn482046 GetLastLineWrapping / SetLastLineWrapping GetLastLineWrapping BOOL IDWriteTextLayout2::GetLastLineWrapping()

Get or sets how the glyphs align to the edges the margin.

dn482047 GetOpticalAlignment / SetOpticalAlignment GetOpticalAlignment DWRITE_OPTICAL_ALIGNMENT IDWriteTextLayout2::GetOpticalAlignment()

Get or sets the current font fallback object.

dn482045 GetFontFallback / SetFontFallback GetFontFallback HRESULT IDWriteTextLayout2::GetFontFallback([Out] IDWriteFontFallback** fontFallback)

Retrieves overall metrics for the formatted string.

When this method returns, contains the measured distances of text and associated content after being formatted.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn280492 HRESULT IDWriteTextLayout2::GetMetrics([Out] DWRITE_TEXT_METRICS1* textMetrics) IDWriteTextLayout2::GetMetrics

Set the preferred orientation of glyphs when using a vertical reading direction.

Preferred glyph orientation.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn482052 HRESULT IDWriteTextLayout2::SetVerticalGlyphOrientation([In] DWRITE_VERTICAL_GLYPH_ORIENTATION glyphOrientation) IDWriteTextLayout2::SetVerticalGlyphOrientation

Get the preferred orientation of glyphs when using a vertical reading direction.

No documentation. dn482048 DWRITE_VERTICAL_GLYPH_ORIENTATION IDWriteTextLayout2::GetVerticalGlyphOrientation() IDWriteTextLayout2::GetVerticalGlyphOrientation

Set whether or not the last word on the last line is wrapped.

Line wrapping option.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn482050 HRESULT IDWriteTextLayout2::SetLastLineWrapping([In] BOOL isLastLineWrappingEnabled) IDWriteTextLayout2::SetLastLineWrapping

Get whether or not the last word on the last line is wrapped.

No documentation. dn482046 BOOL IDWriteTextLayout2::GetLastLineWrapping() IDWriteTextLayout2::GetLastLineWrapping

Set how the glyphs align to the edges the margin. Default behavior is to align glyphs using their default glyphs metrics, which include side bearings.

Optical alignment option.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn482051 HRESULT IDWriteTextLayout2::SetOpticalAlignment([In] DWRITE_OPTICAL_ALIGNMENT opticalAlignment) IDWriteTextLayout2::SetOpticalAlignment

Get how the glyphs align to the edges the margin.

No documentation. dn482047 DWRITE_OPTICAL_ALIGNMENT IDWriteTextLayout2::GetOpticalAlignment() IDWriteTextLayout2::GetOpticalAlignment

Apply a custom font fallback onto layout. If none is specified, the layout uses the system fallback list.

Custom font fallback created from or .

If this method succeeds, it returns . Otherwise, it returns an error code.

dn482049 HRESULT IDWriteTextLayout2::SetFontFallback([In] IDWriteFontFallback* fontFallback) IDWriteTextLayout2::SetFontFallback

Get the current font fallback object.

The current font fallback object.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn482045 HRESULT IDWriteTextLayout2::GetFontFallback([Out] IDWriteFontFallback** fontFallback) IDWriteTextLayout2::GetFontFallback

dn900405 IDWriteTextLayout3 IDWriteTextLayout3
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets or sets line spacing information.

dn900407 GetLineSpacing / SetLineSpacing GetLineSpacing HRESULT IDWriteTextLayout3::GetLineSpacing([Out] DWRITE_LINE_SPACING* lineSpacingOptions)

Invalidates the layout, forcing layout to remeasure before calling the metrics or drawing functions. This is useful if the locality of a font changes, and layout should be redrawn, or if the size of a client implemented changes.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn900408 HRESULT IDWriteTextLayout3::InvalidateLayout() IDWriteTextLayout3::InvalidateLayout

Set line spacing.

How to manage space between lines.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn900409 HRESULT IDWriteTextLayout3::SetLineSpacing([In] const DWRITE_LINE_SPACING* lineSpacingOptions) IDWriteTextLayout3::SetLineSpacing

Gets line spacing information.

How to manage space between lines.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn900407 HRESULT IDWriteTextLayout3::GetLineSpacing([Out] DWRITE_LINE_SPACING* lineSpacingOptions) IDWriteTextLayout3::GetLineSpacing

Retrieves properties of each line.

The array to fill with line information.

The maximum size of the lineMetrics array.

The actual size of the lineMetrics array that is needed.

If this method succeeds, it returns . Otherwise, it returns an error code.

If maxLineCount is not large enough E_NOT_SUFFICIENT_BUFFER, which is equivalent to HRESULT_FROM_WIN32(), is returned and actualLineCount is set to the number of lines needed.

dn900406 HRESULT IDWriteTextLayout3::GetLineMetrics([Out, Buffer, Optional] DWRITE_LINE_METRICS1* lineMetrics,[In] unsigned int maxLineCount,[Out] unsigned int* actualLineCount) IDWriteTextLayout3::GetLineMetrics

Represents a set of application-defined callbacks that perform rendering of text, inline objects, and decorations such as underlines.

dn280513 IDWriteTextRenderer1 IDWriteTextRenderer1

The structure specifies the metrics for caret placement in a font.

jj126258 DWRITE_CARET_METRICS DWRITE_CARET_METRICS

Vertical rise of the caret in font design units. Rise / Run yields the caret angle. Rise = 1 for perfectly upright fonts (non-italic).

jj126258 short slopeRise short slopeRise

Horizontal run of the caret in font design units. Rise / Run yields the caret angle. Run = 0 for perfectly upright fonts (non-italic).

jj126258 short slopeRun short slopeRun

Horizontal offset of the caret, in font design units, along the baseline for good appearance. Offset = 0 for perfectly upright fonts (non-italic).

jj126258 short offset short offset

Contains information about a glyph cluster.

dd368054 DWRITE_CLUSTER_METRICS DWRITE_CLUSTER_METRICS

The total advance width of all glyphs in the cluster.

dd368054 float width float width

The number of text positions in the cluster.

dd368054 unsigned short length unsigned short length

Indicates whether a line can be broken right after the cluster.

dd368054 unsigned short canWrapLineAfter unsigned short canWrapLineAfter

Indicates whether the cluster corresponds to a whitespace character.

dd368054 unsigned short isWhitespace unsigned short isWhitespace

Indicates whether the cluster corresponds to a newline character.

dd368054 unsigned short isNewline unsigned short isNewline

Indicates whether the cluster corresponds to a soft hyphen character.

dd368054 unsigned short isSoftHyphen unsigned short isSoftHyphen

Indicates whether the cluster is read from right to left.

dd368054 unsigned short isRightToLeft unsigned short isRightToLeft

Reserved for future use.

dd368054 unsigned short padding unsigned short padding

Contains the information needed by renderers to draw glyph runs with glyph color information. All coordinates are in device independent pixels (DIPs).

dn280407 DWRITE_COLOR_GLYPH_RUN DWRITE_COLOR_GLYPH_RUN

Glyph run to draw for this layer.

dn280407 DWRITE_GLYPH_RUN glyphRun DWRITE_GLYPH_RUN glyphRun

Pointer to the glyph run description for this layer. This may be null. For example, when the original glyph run is split into multiple layers, one layer might have a description and the others have none.

dn280407 DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription DWRITE_GLYPH_RUN_DESCRIPTION glyphRunDescription

X coordinate of the baseline origin for the layer.

dn280407 float baselineOriginX float baselineOriginX

Y coordinate of the baseline origin for the layer.

dn280407 float baselineOriginY float baselineOriginY

Color value of the run; if all members are zero, the run should be drawn using the current brush.

dn280407 D3DCOLORVALUE runColor D3DCOLORVALUE runColor

Zero-based index into the font?s color palette; if this is 0xFFFF, the run should be drawn using the current brush.

dn280407 unsigned short paletteIndex unsigned short paletteIndex

Represents a color glyph run. The method returns an ordered collection of color glyph runs of varying types depending on what the font supports.

mt725306 DWRITE_COLOR_GLYPH_RUN1 DWRITE_COLOR_GLYPH_RUN1

Glyph run to draw for this layer.

dn280407 DWRITE_GLYPH_RUN glyphRun DWRITE_GLYPH_RUN glyphRun

Pointer to the glyph run description for this layer. This may be null. For example, when the original glyph run is split into multiple layers, one layer might have a description and the others have none.

dn280407 DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription DWRITE_GLYPH_RUN_DESCRIPTION glyphRunDescription

X coordinate of the baseline origin for the layer.

dn280407 float baselineOriginX float baselineOriginX

Y coordinate of the baseline origin for the layer.

dn280407 float baselineOriginY float baselineOriginY

Color value of the run; if all members are zero, the run should be drawn using the current brush.

dn280407 D3DCOLORVALUE runColor D3DCOLORVALUE runColor

Zero-based index into the font?s color palette; if this is 0xFFFF, the run should be drawn using the current brush.

dn280407 unsigned short paletteIndex unsigned short paletteIndex

Type of glyph image format for this color run. Exactly one type will be set since TranslateColorGlyphRun has already broken down the run into separate parts.

mt725306 DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat

Measuring mode to use for this glyph run.

mt725306 DWRITE_MEASURING_MODE measuringMode DWRITE_MEASURING_MODE measuringMode
No documentation. DWRITE_FILE_FRAGMENT DWRITE_FILE_FRAGMENT No documentation. unsigned longlong fileOffset unsigned longlong fileOffset No documentation. unsigned longlong fragmentSize unsigned longlong fragmentSize

The structure specifies the metrics that are applicable to all glyphs within the font face.

dd368074 DWRITE_FONT_METRICS DWRITE_FONT_METRICS

The number of font design units per em unit. Font files use their own coordinate system of font design units. A font design unit is the smallest measurable unit in the em square, an imaginary square that is used to size and align glyphs. The concept of em square is used as a reference scale factor when defining font size and device transformation semantics. The size of one em square is also commonly used to compute the paragraph identation value.

dd368074 unsigned short designUnitsPerEm unsigned short designUnitsPerEm

The ascent value of the font face in font design units. Ascent is the distance from the top of font character alignment box to the English baseline.

dd368074 unsigned short ascent unsigned short ascent

The descent value of the font face in font design units. Descent is the distance from the bottom of font character alignment box to the English baseline.

dd368074 unsigned short descent unsigned short descent

The line gap in font design units. Recommended additional white space to add between lines to improve legibility. The recommended line spacing (baseline-to-baseline distance) is the sum of ascent, descent, and lineGap. The line gap is usually positive or zero but can be negative, in which case the recommended line spacing is less than the height of the character alignment box.

dd368074 short lineGap short lineGap

The cap height value of the font face in font design units. Cap height is the distance from the English baseline to the top of a typical English capital. Capital "H" is often used as a reference character for the purpose of calculating the cap height value.

dd368074 unsigned short capHeight unsigned short capHeight

The x-height value of the font face in font design units. x-height is the distance from the English baseline to the top of lowercase letter "x", or a similar lowercase character.

dd368074 unsigned short xHeight unsigned short xHeight

The underline position value of the font face in font design units. Underline position is the position of underline relative to the English baseline. The value is usually made negative in order to place the underline below the baseline.

dd368074 short underlinePosition short underlinePosition

The suggested underline thickness value of the font face in font design units.

dd368074 unsigned short underlineThickness unsigned short underlineThickness

The strikethrough position value of the font face in font design units. Strikethrough position is the position of strikethrough relative to the English baseline. The value is usually made positive in order to place the strikethrough above the baseline.

dd368074 short strikethroughPosition short strikethroughPosition

The suggested strikethrough thickness value of the font face in font design units.

dd368074 unsigned short strikethroughThickness unsigned short strikethroughThickness

The structure specifies the metrics that are applicable to all glyphs within the font face.

inherits from :

struct : public { ... };
jj126259 DWRITE_FONT_METRICS1 DWRITE_FONT_METRICS1

The number of font design units per em unit. Font files use their own coordinate system of font design units. A font design unit is the smallest measurable unit in the em square, an imaginary square that is used to size and align glyphs. The concept of em square is used as a reference scale factor when defining font size and device transformation semantics. The size of one em square is also commonly used to compute the paragraph identation value.

dd368074 unsigned short designUnitsPerEm unsigned short designUnitsPerEm

The ascent value of the font face in font design units. Ascent is the distance from the top of font character alignment box to the English baseline.

dd368074 unsigned short ascent unsigned short ascent

The descent value of the font face in font design units. Descent is the distance from the bottom of font character alignment box to the English baseline.

dd368074 unsigned short descent unsigned short descent

The line gap in font design units. Recommended additional white space to add between lines to improve legibility. The recommended line spacing (baseline-to-baseline distance) is the sum of ascent, descent, and lineGap. The line gap is usually positive or zero but can be negative, in which case the recommended line spacing is less than the height of the character alignment box.

dd368074 short lineGap short lineGap

The cap height value of the font face in font design units. Cap height is the distance from the English baseline to the top of a typical English capital. Capital "H" is often used as a reference character for the purpose of calculating the cap height value.

dd368074 unsigned short capHeight unsigned short capHeight

The x-height value of the font face in font design units. x-height is the distance from the English baseline to the top of lowercase letter "x", or a similar lowercase character.

dd368074 unsigned short xHeight unsigned short xHeight

The underline position value of the font face in font design units. Underline position is the position of underline relative to the English baseline. The value is usually made negative in order to place the underline below the baseline.

dd368074 short underlinePosition short underlinePosition

The suggested underline thickness value of the font face in font design units.

dd368074 unsigned short underlineThickness unsigned short underlineThickness

The strikethrough position value of the font face in font design units. Strikethrough position is the position of strikethrough relative to the English baseline. The value is usually made positive in order to place the strikethrough above the baseline.

dd368074 short strikethroughPosition short strikethroughPosition

The suggested strikethrough thickness value of the font face in font design units.

dd368074 unsigned short strikethroughThickness unsigned short strikethroughThickness

Left edge of accumulated bounding blackbox of all glyphs in the font.

jj126259 short glyphBoxLeft short glyphBoxLeft

Top edge of accumulated bounding blackbox of all glyphs in the font.

jj126259 short glyphBoxTop short glyphBoxTop

Right edge of accumulated bounding blackbox of all glyphs in the font.

jj126259 short glyphBoxRight short glyphBoxRight

Bottom edge of accumulated bounding blackbox of all glyphs in the font.

jj126259 short glyphBoxBottom short glyphBoxBottom

Horizontal position of the subscript relative to the baseline origin. This is typically negative (to the left) in italic and oblique fonts, and zero in regular fonts.

jj126259 short subscriptPositionX short subscriptPositionX

Vertical position of the subscript relative to the baseline. This is typically negative.

jj126259 short subscriptPositionY short subscriptPositionY

Horizontal size of the subscript em box in design units, used to scale the simulated subscript relative to the full em box size. This is the numerator of the scaling ratio where denominator is the design units per em. If this member is zero, the font does not specify a scale factor, and the client uses its own policy.

jj126259 short subscriptSizeX short subscriptSizeX

Vertical size of the subscript em box in design units, used to scale the simulated subscript relative to the full em box size. This is the numerator of the scaling ratio where denominator is the design units per em. If this member is zero, the font does not specify a scale factor, and the client uses its own policy.

jj126259 short subscriptSizeY short subscriptSizeY

Horizontal position of the superscript relative to the baseline origin. This is typically positive (to the right) in italic and oblique fonts, and zero in regular fonts.

jj126259 short superscriptPositionX short superscriptPositionX

Vertical position of the superscript relative to the baseline. This is typically positive.

jj126259 short superscriptPositionY short superscriptPositionY

Horizontal size of the superscript em box in design units, used to scale the simulated superscript relative to the full em box size. This is the numerator of the scaling ratio where denominator is the design units per em. If this member is zero, the font does not specify a scale factor, and the client should use its own policy.

jj126259 short superscriptSizeX short superscriptSizeX

Vertical size of the superscript em box in design units, used to scale the simulated superscript relative to the full em box size. This is the numerator of the scaling ratio where denominator is the design units per em. If this member is zero, the font does not specify a scale factor, and the client should use its own policy.

jj126259 short superscriptSizeY short superscriptSizeY

A Boolean value that indicates that the ascent, descent, and lineGap are based on newer 'typographic' values in the font, rather than legacy values.

jj126259 BOOL hasTypographicMetrics BOOL hasTypographicMetrics

Font property used for filtering font sets and building a font set with explicit properties.

dn933212 DWRITE_FONT_PROPERTY DWRITE_FONT_PROPERTY

Specifies the requested font property, such as .

dn933212 DWRITE_FONT_PROPERTY_ID propertyId DWRITE_FONT_PROPERTY_ID propertyId

Specifies the value, such as "Segoe UI".

dn933212 const wchar_t* propertyValue wchar_t propertyValue

Specifies the locale to use, such as "en-US". Simply leave this empty when used with the font set filtering functions, as they will find a match regardless of language. For passing to AddFontFaceReference, the localeName specifies the language of the property value.

dn933212 const wchar_t* localeName wchar_t localeName

Data for a single glyph from GetGlyphImageData.

mt725307 DWRITE_GLYPH_IMAGE_DATA DWRITE_GLYPH_IMAGE_DATA

Pointer to the glyph data.

mt725307 const void* imageData void imageData

Size of glyph data in bytes.

mt725307 unsigned int imageDataSize unsigned int imageDataSize

Unique identifier for the glyph data. Clients may use this to cache a parsed/decompressed version and tell whether a repeated call to the same font returns the same data.

mt725307 unsigned int uniqueDataId unsigned int uniqueDataId

Pixels per em of the returned data. For non-scalable raster data (PNG/TIFF/JPG), this can be larger or smaller than requested from GetGlyphImageData when there isn't an exact match. For scaling intermediate sizes, use: desired pixels per em * font em size / actual pixels per em.

mt725307 unsigned int pixelsPerEm unsigned int pixelsPerEm

Size of image when the format is pixel data.

mt725307 D2D_SIZE_U pixelSize D2D_SIZE_U pixelSize

Left origin along the horizontal Roman baseline.

mt725307 POINT horizontalLeftOrigin POINT horizontalLeftOrigin

Right origin along the horizontal Roman baseline.

mt725307 POINT horizontalRightOrigin POINT horizontalRightOrigin

Top origin along the vertical central baseline.

mt725307 POINT verticalTopOrigin POINT verticalTopOrigin

Bottom origin along vertical central baseline.

mt725307 POINT verticalBottomOrigin POINT verticalBottomOrigin

Specifies the metrics of an individual glyph. The units depend on how the metrics are obtained.

dd368084 DWRITE_GLYPH_METRICS DWRITE_GLYPH_METRICS

Specifies the X offset from the glyph origin to the left edge of the black box. The glyph origin is the current horizontal writing position. A negative value means the black box extends to the left of the origin (often true for lowercase italic 'f').

dd368084 int leftSideBearing int leftSideBearing

Specifies the X offset from the origin of the current glyph to the origin of the next glyph when writing horizontally.

dd368084 unsigned int advanceWidth unsigned int advanceWidth

Specifies the X offset from the right edge of the black box to the origin of the next glyph when writing horizontally. The value is negative when the right edge of the black box overhangs the layout box.

dd368084 int rightSideBearing int rightSideBearing

Specifies the vertical offset from the vertical origin to the top of the black box. Thus, a positive value adds whitespace whereas a negative value means the glyph overhangs the top of the layout box.

dd368084 int topSideBearing int topSideBearing

Specifies the Y offset from the vertical origin of the current glyph to the vertical origin of the next glyph when writing vertically. Note that the term "origin" by itself denotes the horizontal origin. The vertical origin is different. Its Y coordinate is specified by verticalOriginY value, and its X coordinate is half the advanceWidth to the right of the horizontal origin.

dd368084 unsigned int advanceHeight unsigned int advanceHeight

Specifies the vertical distance from the bottom edge of the black box to the advance height. This is positive when the bottom edge of the black box is within the layout box, or negative when the bottom edge of black box overhangs the layout box.

dd368084 int bottomSideBearing int bottomSideBearing

Specifies the Y coordinate of a glyph's vertical origin, in the font's design coordinate system. The y coordinate of a glyph's vertical origin is the sum of the glyph's top side bearing and the top (that is, yMax) of the glyph's bounding box.

dd368084 int verticalOriginY int verticalOriginY

The optional adjustment to a glyph's position.

An glyph offset changes the position of a glyph without affecting the pen position. Offsets are in logical, pre-transform units.

dd368086 DWRITE_GLYPH_OFFSET DWRITE_GLYPH_OFFSET

The offset in the advance direction of the run. A positive advance offset moves the glyph to the right (in pre-transform coordinates) if the run is left-to-right or to the left if the run is right-to-left.

dd368086 float advanceOffset float advanceOffset

The offset in the ascent direction, that is, the direction ascenders point. A positive ascender offset moves the glyph up (in pre-transform coordinates). A negative ascender offset moves the glyph down.

dd368086 float ascenderOffset float ascenderOffset

Describes the region obtained by a hit test.

dd368092 DWRITE_HIT_TEST_METRICS DWRITE_HIT_TEST_METRICS

The first text position within the hit region.

dd368092 unsigned int textPosition unsigned int textPosition

The number of text positions within the hit region.

dd368092 unsigned int length unsigned int length

The x-coordinate of the upper-left corner of the hit region.

dd368092 float left float left

The y-coordinate of the upper-left corner of the hit region.

dd368092 float top float top

The width of the hit region.

dd368092 float width float width

The height of the hit region.

dd368092 float height float height

The BIDI level of the text positions within the hit region.

dd368092 unsigned int bidiLevel unsigned int bidiLevel

true if the hit region contains text; otherwise, false.

dd368092 BOOL isText BOOL isText

true if the text range is trimmed; otherwise, false.

dd368092 BOOL isTrimmed BOOL isTrimmed

Contains properties describing the geometric measurement of an application-defined inline object.

dd368096 DWRITE_INLINE_OBJECT_METRICS DWRITE_INLINE_OBJECT_METRICS

The width of the inline object.

dd368096 float width float width

The height of the inline object.

dd368096 float height float height

The distance from the top of the object to the point where it is lined up with the adjacent text. If the baseline is at the bottom, then baseline simply equals height.

dd368096 float baseline float baseline

A Boolean flag that indicates whether the object is to be placed upright or alongside the text baseline for vertical text.

dd368096 BOOL supportsSideways BOOL supportsSideways

The structure specifies justification info per glyph.

jj126261 DWRITE_JUSTIFICATION_OPPORTUNITY DWRITE_JUSTIFICATION_OPPORTUNITY

Minimum amount of expansion to apply to the side of the glyph. This might vary from zero to infinity, typically being zero except for kashida.

jj126261 float expansionMinimum float expansionMinimum

Maximum amount of expansion to apply to the side of the glyph. This might vary from zero to infinity, being zero for fixed-size characters and connected scripts, and non-zero for discrete scripts, and non-zero for cursive scripts at expansion points.

jj126261 float expansionMaximum float expansionMaximum

Maximum amount of compression to apply to the side of the glyph. This might vary from zero up to the glyph cluster size.

jj126261 float compressionMaximum float compressionMaximum

Priority of this expansion point. Larger priorities are applied later, while priority zero does nothing.

jj126261 unsigned int expansionPriority unsigned int expansionPriority

Priority of this compression point. Larger priorities are applied later, while priority zero does nothing.

jj126261 unsigned int compressionPriority unsigned int compressionPriority

Allow this expansion point to use up any remaining slack space even after all expansion priorities have been used up.

jj126261 unsigned int allowResidualExpansion unsigned int allowResidualExpansion

Allow this compression point to use up any remaining space even after all compression priorities have been used up.

jj126261 unsigned int allowResidualCompression unsigned int allowResidualCompression

Apply expansion and compression to the leading edge of the glyph. This bit is (0) for connected scripts, fixed-size characters, and diacritics. It is generally within a multi-glyph cluster, unless the script allows expansion of glyphs within a cluster, like Thai.

jj126261 unsigned int applyToLeadingEdge unsigned int applyToLeadingEdge

Apply expansion and compression to the trailing edge of the glyph. This bit is (0) for connected scripts, fixed-size characters, and diacritics. It is generally within a multi-glyph cluster, unless the script allows expansion of glyphs within a cluster, like Thai.

jj126261 unsigned int applyToTrailingEdge unsigned int applyToTrailingEdge

Reserved

jj126261 unsigned int reserved unsigned int reserved

Contains information about a formatted line of text.

dd368099 DWRITE_LINE_METRICS DWRITE_LINE_METRICS

The number of text positions in the text line. This includes any trailing whitespace and newline characters.

dd368099 unsigned int length unsigned int length

The number of whitespace positions at the end of the text line. Newline sequences are considered whitespace.

dd368099 unsigned int trailingWhitespaceLength unsigned int trailingWhitespaceLength

The number of characters in the newline sequence at the end of the text line. If the count is zero, then the text line was either wrapped or it is the end of the text.

dd368099 unsigned int newlineLength unsigned int newlineLength

The height of the text line.

dd368099 float height float height

The distance from the top of the text line to its baseline.

dd368099 float baseline float baseline

The line is trimmed.

dd368099 BOOL isTrimmed BOOL isTrimmed

Contains information about a formatted line of text.

dn933215 DWRITE_LINE_METRICS1 DWRITE_LINE_METRICS1

The number of text positions in the text line. This includes any trailing whitespace and newline characters.

dd368099 unsigned int length unsigned int length

The number of whitespace positions at the end of the text line. Newline sequences are considered whitespace.

dd368099 unsigned int trailingWhitespaceLength unsigned int trailingWhitespaceLength

The number of characters in the newline sequence at the end of the text line. If the count is zero, then the text line was either wrapped or it is the end of the text.

dd368099 unsigned int newlineLength unsigned int newlineLength

The height of the text line.

dd368099 float height float height

The distance from the top of the text line to its baseline.

dd368099 float baseline float baseline

The line is trimmed.

dd368099 BOOL isTrimmed BOOL isTrimmed

White space before the content of the line. This is included in the line height and baseline distances. If the line is formatted horizontally either with a uniform line spacing or with proportional line spacing, this value represents the extra space above the content.

dn933215 float leadingBefore float leadingBefore

White space after the content of the line. This is included in the height of the line. If the line is formatted horizontally either with a uniform line spacing or with proportional line spacing, this value represents the extra space below the content.

dn933215 float leadingAfter float leadingAfter

dn933216 DWRITE_LINE_SPACING DWRITE_LINE_SPACING

Method used to determine line spacing.

dn933216 DWRITE_LINE_SPACING_METHOD method DWRITE_LINE_SPACING_METHOD method

Spacing between lines. The interpretation of this parameter depends upon the line spacing method, as follows:

  • Line spacing: ignored
  • uniform line spacing: explicit distance in DIPs between lines
  • proportional line spacing: a scaling factor to be applied to the computed line height; for each line, the height of the line is computed as for default line spacing, and the scaling factor is applied to that value.
dn933216 float height float height

Distance from top of line to baseline. The interpretation of this parameter depends upon the line spacing method, as follows:

  • default line spacing: ignored
  • uniform line spacing: explicit distance in DIPs from the top of the line to the baseline
  • proportional line spacing: a scaling factor applied to the computed baseline; for each line, the baseline distance is computed as for default line spacing, and the scaling factor is applied to that value.
dn933216 float baseline float baseline

Proportion of the entire leading distributed before the line. The allowed value is between 0 and 1.0. The remaining leading is distributed after the line. It is ignored for the default and uniform line spacing methods. The leading that is available to distribute before or after the line depends on the values of the height and baseline parameters.

dn933216 float leadingBefore float leadingBefore

Specify whether ::lineGap value should be part of the line metrics.

dn933216 DWRITE_FONT_LINE_GAP_USAGE fontLineGapUsage DWRITE_FONT_LINE_GAP_USAGE fontLineGapUsage

Indicates how much any visible DIPs (device independent pixels) overshoot each side of the layout or inline objects.

Positive overhangs indicate that the visible area extends outside the layout box or inline object, while negative values mean there is whitespace inside. The returned values are unaffected by rendering transforms or pixel snapping. Additionally, they may not exactly match the final target's pixel bounds after applying grid fitting and hinting.

dd368109 DWRITE_OVERHANG_METRICS DWRITE_OVERHANG_METRICS

The distance from the left-most visible DIP to its left-alignment edge.

dd368109 float left float left

The distance from the top-most visible DIP to its top alignment edge.

dd368109 float top float top

The distance from the right-most visible DIP to its right-alignment edge.

dd368109 float right float right

The distance from the bottom-most visible DIP to its lower-alignment edge.

dd368109 float bottom float bottom

The union describes typeface classification values that you use with to select and match the font.

Note??The familyKind member (index 0) is the only stable entry in the 10-byte array because all the entries that follow can change dynamically depending on the context of the first member.? hh995027 DWRITE_PANOSE DWRITE_PANOSE
No documentation. hh995027 unsigned char values[10] unsigned char values No documentation. hh995027 unsigned char familyKind unsigned char familyKind No documentation. hh995027 DWRITE_PANOSE_INNER_0 text DWRITE_PANOSE_INNER_0 text No documentation. hh995027 DWRITE_PANOSE_INNER_1 script DWRITE_PANOSE_INNER_1 script No documentation. hh995027 DWRITE_PANOSE_INNER_2 decorative DWRITE_PANOSE_INNER_2 decorative No documentation. hh995027 DWRITE_PANOSE_INNER_3 symbol DWRITE_PANOSE_INNER_3 symbol No documentation. DWRITE_PANOSE_INNER_2 DWRITE_PANOSE_INNER_2 No documentation. unsigned char familyKind unsigned char familyKind No documentation. unsigned char decorativeClass unsigned char decorativeClass No documentation. unsigned char weight unsigned char weight No documentation. unsigned char aspect unsigned char aspect No documentation. unsigned char contrast unsigned char contrast No documentation. unsigned char serifVariant unsigned char serifVariant No documentation. unsigned char fill unsigned char fill No documentation. unsigned char lining unsigned char lining No documentation. unsigned char decorativeTopology unsigned char decorativeTopology No documentation. unsigned char characterRange unsigned char characterRange No documentation. DWRITE_PANOSE_INNER_1 DWRITE_PANOSE_INNER_1 No documentation. unsigned char familyKind unsigned char familyKind No documentation. unsigned char toolKind unsigned char toolKind No documentation. unsigned char weight unsigned char weight No documentation. unsigned char spacing unsigned char spacing No documentation. unsigned char aspectRatio unsigned char aspectRatio No documentation. unsigned char contrast unsigned char contrast No documentation. unsigned char scriptTopology unsigned char scriptTopology No documentation. unsigned char scriptForm unsigned char scriptForm No documentation. unsigned char finials unsigned char finials No documentation. unsigned char xAscent unsigned char xAscent No documentation. DWRITE_PANOSE_INNER_3 DWRITE_PANOSE_INNER_3 No documentation. unsigned char familyKind unsigned char familyKind No documentation. unsigned char symbolKind unsigned char symbolKind No documentation. unsigned char weight unsigned char weight No documentation. unsigned char spacing unsigned char spacing No documentation. unsigned char aspectRatioAndContrast unsigned char aspectRatioAndContrast No documentation. unsigned char aspectRatio94 unsigned char aspectRatio94 No documentation. unsigned char aspectRatio119 unsigned char aspectRatio119 No documentation. unsigned char aspectRatio157 unsigned char aspectRatio157 No documentation. unsigned char aspectRatio163 unsigned char aspectRatio163 No documentation. unsigned char aspectRatio211 unsigned char aspectRatio211 No documentation. DWRITE_PANOSE_INNER_0 DWRITE_PANOSE_INNER_0 No documentation. unsigned char familyKind unsigned char familyKind No documentation. unsigned char serifStyle unsigned char serifStyle No documentation. unsigned char weight unsigned char weight No documentation. unsigned char proportion unsigned char proportion No documentation. unsigned char contrast unsigned char contrast No documentation. unsigned char strokeVariation unsigned char strokeVariation No documentation. unsigned char armStyle unsigned char armStyle No documentation. unsigned char letterform unsigned char letterform No documentation. unsigned char midline unsigned char midline No documentation. unsigned char xHeight unsigned char xHeight

Stores the association of text and its writing system script, as well as some display attributes.

dd368120 DWRITE_SCRIPT_ANALYSIS DWRITE_SCRIPT_ANALYSIS

The zero-based index representation of writing system script.

dd368120 unsigned short script unsigned short script

A value that indicates additional shaping requirement of text.

dd368120 DWRITE_SCRIPT_SHAPES shapes DWRITE_SCRIPT_SHAPES shapes

The structure specifies script properties for caret navigation and justification.

jj126264 DWRITE_SCRIPT_PROPERTIES DWRITE_SCRIPT_PROPERTIES

The standardized four character code for the given script.

Note??These only include the general Unicode scripts, not any additional ISO 15924 scripts for bibliographic distinction. ?
jj126264 unsigned int isoScriptCode unsigned int isoScriptCode

The standardized numeric code, ranging 0-999.

jj126264 unsigned int isoScriptNumber unsigned int isoScriptNumber

Number of characters to estimate look-ahead for complex scripts. Latin and all Kana are generally 1. Indic scripts are up to 15, and most others are 8.

Note??Combining marks and variation selectors can produce clusters that are longer than these look-aheads, so this estimate is considered typical language use. Diacritics must be tested explicitly separately. ?
jj126264 unsigned int clusterLookahead unsigned int clusterLookahead

Appropriate character to elongate the given script for justification. For example:

  • Arabic - U+0640 Tatweel
  • Ogham - U+1680 Ogham Space Mark
jj126264 unsigned int justificationCharacter unsigned int justificationCharacter

Restrict the caret to whole clusters, like Thai and Devanagari. Scripts such as Arabic by default allow navigation between clusters. Others like Thai always navigate across whole clusters.

jj126264 unsigned int restrictCaretToClusters unsigned int restrictCaretToClusters

The language uses dividers between words, such as spaces between Latin or the Ethiopic wordspace. Examples include Latin, Greek, Devanagari, and Ethiopic. Chinese, Korean, and Thai are excluded.

jj126264 unsigned int usesWordDividers unsigned int usesWordDividers

The characters are discrete units from each other. This includes both block scripts and clustered scripts. Examples include Latin, Greek, Cyrillic, Hebrew, Chinese, and Thai.

jj126264 unsigned int isDiscreteWriting unsigned int isDiscreteWriting

The language is a block script, expanding between characters. Examples include Chinese, Japanese, Korean, and Bopomofo.

jj126264 unsigned int isBlockWriting unsigned int isBlockWriting

The language is justified within glyph clusters, not just between glyph clusters, such as the character sequence of Thai Lu and Sara Am (U+E026, U+E033), which form a single cluster but still expand between them. Examples include Thai, Lao, and Khmer.

jj126264 unsigned int isDistributedWithinCluster unsigned int isDistributedWithinCluster

The script's clusters are connected to each other (such as the baseline-linked Devanagari), and no separation is added between characters.

Note??Cursively linked scripts like Arabic are also connected (but not all connected scripts are cursive). ?

Examples include Devanagari, Arabic, Syriac, Bengala, Gurmukhi, and Ogham. Latin, Chinese, and Thaana are excluded.

jj126264 unsigned int isConnectedWriting unsigned int isConnectedWriting

The script is naturally cursive (Arabic and Syriac), meaning it uses other justification methods like kashida extension rather than inter-character spacing.

Note?? Although other scripts like Latin and Japanese might actually support handwritten cursive forms, they are not considered cursive scripts. ?

Examples include Arabic, Syriac, and Mongolian. Thaana, Devanagari, Latin, and Chinese are excluded.

jj126264 unsigned int isCursiveWriting unsigned int isCursiveWriting

Reserved

jj126264 unsigned int reserved unsigned int reserved

Shaping output properties for an output glyph.

dd368125 DWRITE_SHAPING_TEXT_PROPERTIES DWRITE_SHAPING_TEXT_PROPERTIES

Indicates that the glyph is shaped alone.

dd368125 unsigned short isShapedAlone unsigned short isShapedAlone

Reserved for future use.

dd368125 unsigned short reserved unsigned short reserved

Contains information regarding the size and placement of strikethroughs. All coordinates are in device independent pixels (DIPs).

dd368126 DWRITE_STRIKETHROUGH DWRITE_STRIKETHROUGH

A value that indicates the width of the strikethrough, measured parallel to the baseline.

dd368126 float width float width

A value that indicates the thickness of the strikethrough, measured perpendicular to the baseline.

dd368126 float thickness float thickness

A value that indicates the offset of the strikethrough from the baseline. A positive offset represents a position below the baseline and a negative offset is above. Typically, the offset will be negative.

dd368126 float offset float offset

Reading direction of the text associated with the strikethrough. This value is used to interpret whether the width value runs horizontally or vertically.

dd368126 DWRITE_READING_DIRECTION readingDirection DWRITE_READING_DIRECTION readingDirection

Flow direction of the text associated with the strikethrough. This value is used to interpret whether the thickness value advances top to bottom, left to right, or right to left.

dd368126 DWRITE_FLOW_DIRECTION flowDirection DWRITE_FLOW_DIRECTION flowDirection

An array of characters containing the locale of the text that is the strikethrough is being drawn over.

dd368126 const wchar_t* localeName wchar_t localeName

The measuring mode can be useful to the renderer to determine how underlines are rendered, such as rounding the thickness to a whole pixel in GDI-compatible modes.

dd368126 DWRITE_MEASURING_MODE measuringMode DWRITE_MEASURING_MODE measuringMode

Contains the metrics associated with text after layout. All coordinates are in device independent pixels (DIPs).

dd368135 DWRITE_TEXT_METRICS DWRITE_TEXT_METRICS

A value that indicates the left-most point of formatted text relative to the layout box, while excluding any glyph overhang.

dd368135 float left float left

A value that indicates the top-most point of formatted text relative to the layout box, while excluding any glyph overhang.

dd368135 float top float top

A value that indicates the width of the formatted text, while ignoring trailing whitespace at the end of each line.

dd368135 float width float width

The width of the formatted text, taking into account the trailing whitespace at the end of each line.

dd368135 float widthIncludingTrailingWhitespace float widthIncludingTrailingWhitespace

The height of the formatted text. The height of an empty string is set to the same value as that of the default font.

dd368135 float height float height

The initial width given to the layout. It can be either larger or smaller than the text content width, depending on whether the text was wrapped.

dd368135 float layoutWidth float layoutWidth

Initial height given to the layout. Depending on the length of the text, it may be larger or smaller than the text content height.

dd368135 float layoutHeight float layoutHeight

The maximum reordering count of any line of text, used to calculate the most number of hit-testing boxes needed. If the layout has no bidirectional text, or no text at all, the minimum level is 1.

dd368135 unsigned int maxBidiReorderingDepth unsigned int maxBidiReorderingDepth

Total number of lines.

dd368135 unsigned int lineCount unsigned int lineCount

Contains the metrics associated with text after layout. All coordinates are in device independent pixels (DIPs).

dd368135 DWRITE_TEXT_METRICS1 DWRITE_TEXT_METRICS1

A value that indicates the left-most point of formatted text relative to the layout box, while excluding any glyph overhang.

dd368135 float left float left

A value that indicates the top-most point of formatted text relative to the layout box, while excluding any glyph overhang.

dd368135 float top float top

A value that indicates the width of the formatted text, while ignoring trailing whitespace at the end of each line.

dd368135 float width float width

The width of the formatted text, taking into account the trailing whitespace at the end of each line.

dd368135 float widthIncludingTrailingWhitespace float widthIncludingTrailingWhitespace

The height of the formatted text. The height of an empty string is set to the same value as that of the default font.

dd368135 float height float height

The initial width given to the layout. It can be either larger or smaller than the text content width, depending on whether the text was wrapped.

dd368135 float layoutWidth float layoutWidth

Initial height given to the layout. Depending on the length of the text, it may be larger or smaller than the text content height.

dd368135 float layoutHeight float layoutHeight

The maximum reordering count of any line of text, used to calculate the most number of hit-testing boxes needed. If the layout has no bidirectional text, or no text at all, the minimum level is 1.

dd368135 unsigned int maxBidiReorderingDepth unsigned int maxBidiReorderingDepth

Total number of lines.

dd368135 unsigned int lineCount unsigned int lineCount

A value that indicates the left-most point of formatted text relative to the layout box, while excluding any glyph overhang.

dd368135 float heightIncludingTrailingWhitespace float heightIncludingTrailingWhitespace

Specifies the trimming option for text overflowing the layout box.

dd368139 DWRITE_TRIMMING DWRITE_TRIMMING

A value that specifies the text granularity used to trim text overflowing the layout box.

dd368139 DWRITE_TRIMMING_GRANULARITY granularity DWRITE_TRIMMING_GRANULARITY granularity

A character code used as the delimiter that signals the beginning of the portion of text to be preserved. Text starting from the Nth occurence of the delimiter (where N equals delimiterCount) counting backwards from the end of the text block will be preserved. For example, given the text is a path like c:\A\B\C\D\file.txt and delimiter equal to '\' and delimiterCount equal to 1, the file.txt portion of the text would be preserved. Specifying a delimiterCount of 2 would preserve D\file.txt.

dd368139 unsigned int delimiter unsigned int delimiter

The delimiter count, counting from the end of the text, to preserve text from.

dd368139 unsigned int delimiterCount unsigned int delimiterCount

Contains a set of typographic features to be applied during text shaping.

dd368143 DWRITE_TYPOGRAPHIC_FEATURES DWRITE_TYPOGRAPHIC_FEATURES

A reference to a structure that specifies properties used to identify and execute typographic features in the font.

dd368143 DWRITE_FONT_FEATURE* features DWRITE_FONT_FEATURE features

A value that indicates the number of features being applied to a font face.

dd368143 unsigned int featureCount unsigned int featureCount

Contains information about the width, thickness, offset, run height, reading direction, and flow direction of an underline.

All coordinates are in device independent pixels (DIPs).

dd368145 DWRITE_UNDERLINE DWRITE_UNDERLINE

A value that indicates the width of the underline, measured parallel to the baseline.

dd368145 float width float width

A value that indicates the thickness of the underline, measured perpendicular to the baseline.

dd368145 float thickness float thickness

A value that indicates the offset of the underline from the baseline. A positive offset represents a position below the baseline (away from the text) and a negative offset is above (toward the text).

dd368145 float offset float offset

A value that indicates the height of the tallest run where the underline is applied.

dd368145 float runHeight float runHeight

A value that indicates the reading direction of the text associated with the underline. This value is used to interpret whether the width value runs horizontally or vertically.

dd368145 DWRITE_READING_DIRECTION readingDirection DWRITE_READING_DIRECTION readingDirection

A value that indicates the flow direction of the text associated with the underline. This value is used to interpret whether the thickness value advances top to bottom, left to right, or right to left.

dd368145 DWRITE_FLOW_DIRECTION flowDirection DWRITE_FLOW_DIRECTION flowDirection

An array of characters which contains the locale of the text that the underline is being drawn under. For example, in vertical text, the underline belongs on the left for Chinese but on the right for Japanese.

dd368145 const wchar_t* localeName wchar_t localeName

The measuring mode can be useful to the renderer to determine how underlines are rendered, such as rounding the thickness to a whole pixel in GDI-compatible modes.

dd368145 DWRITE_MEASURING_MODE measuringMode DWRITE_MEASURING_MODE measuringMode

The structure specifies the range of Unicode code points.

jj126265 DWRITE_UNICODE_RANGE DWRITE_UNICODE_RANGE

The first code point in the Unicode range.

jj126265 unsigned int first unsigned int first

The last code point in the Unicode range.

jj126265 unsigned int last unsigned int last

Specifies the identifiers of the metadata items in an 8BIM IPTC digest metadata block.

ee719802 WIC8BIMIptcDigestProperties WIC8BIMIptcDigestProperties

[VT_LPSTR] A name that identifies the 8BIM block.

ee719802 WIC8BIMIptcDigestPString WIC8BIMIptcDigestPString

[VT_BLOB] The embedded IPTC digest value.

ee719802 WIC8BIMIptcDigestIptcDigest WIC8BIMIptcDigestIptcDigest

Specifies the identifiers of the metadata items in an 8BIM IPTC block.

ee719803 WIC8BIMIptcProperties WIC8BIMIptcProperties

[VT_LPSTR] A name that identifies the 8BIM block.

ee719803 WIC8BIMIptcPString WIC8BIMIptcPString

[VT_UNKNOWN] The IPTC block embedded in this 8BIM IPTC block.

ee719803 WIC8BIMIptcEmbeddedIPTC WIC8BIMIptcEmbeddedIPTC

Specifies the identifiers of the metadata items in an 8BIMResolutionInfo block.

ee719804 WIC8BIMResolutionInfoProperties WIC8BIMResolutionInfoProperties

[VT_LPSTR] A name that identifies the 8BIM block.

ee719804 WIC8BIMResolutionInfoPString WIC8BIMResolutionInfoPString

[VT_UI4] The horizontal resolution of the image.

ee719804 WIC8BIMResolutionInfoHResolution WIC8BIMResolutionInfoHResolution

[VT_UI2] The units that the horizontal resolution is specified in; a 1 indicates pixels per inch and a 2 indicates pixels per centimeter.

ee719804 WIC8BIMResolutionInfoHResolutionUnit WIC8BIMResolutionInfoHResolutionUnit

[VT_UI2] The units that the image width is specified in; a 1 indicates inches, a 2 indicates centimeters, a 3 indicates points, a 4 specifies picas, and a 5 specifies columns.

ee719804 WIC8BIMResolutionInfoWidthUnit WIC8BIMResolutionInfoWidthUnit

[VT_UI4] The vertical resolution of the image.

ee719804 WIC8BIMResolutionInfoVResolution WIC8BIMResolutionInfoVResolution

[VT_UI2] The units that the vertical resolution is specified in; a 1 indicates pixels per inch and a 2 indicates pixels per centimeter.

ee719804 WIC8BIMResolutionInfoVResolutionUnit WIC8BIMResolutionInfoVResolutionUnit

[VT_UI2] The units that the image height is specified in; a 1 indicates inches, a 2 indicates centimeters, a 3 indicates points, a 4 specifies picas, and a 5 specifies columns.

ee719804 WIC8BIMResolutionInfoHeightUnit WIC8BIMResolutionInfoHeightUnit

Specifies the desired alpha channel usage.

ee719805 WICBitmapAlphaChannelOption WICBitmapAlphaChannelOption

Use alpha channel.

ee719805 WICBitmapUseAlpha WICBitmapUseAlpha

Use a pre-multiplied alpha channel.

ee719805 WICBitmapUsePremultipliedAlpha WICBitmapUsePremultipliedAlpha

Ignore alpha channel.

ee719805 WICBitmapIgnoreAlpha WICBitmapIgnoreAlpha

Specifies the desired cache usage.

The CreateBitmap of the interface does not support when the pixelFormat is a native pixel format provided by Windows Imaging Component (WIC).

ee719806 WICBitmapCreateCacheOption WICBitmapCreateCacheOption

Do not cache the bitmap.

ee719806 WICBitmapNoCache WICBitmapNoCache

Cache the bitmap when needed.

ee719806 WICBitmapCacheOnDemand WICBitmapCacheOnDemand

Cache the bitmap at initialization.

ee719806 WICBitmapCacheOnLoad WICBitmapCacheOnLoad

Specifies the capabilities of the decoder.

ee719807 WICBitmapDecoderCapabilities WICBitmapDecoderCapabilities

Decoder recognizes the image was encoded with an encoder produced by the same vendor.

ee719807 WICBitmapDecoderCapabilitySameEncoder WICBitmapDecoderCapabilitySameEncoder

Decoder can decode all the images within an image container.

ee719807 WICBitmapDecoderCapabilityCanDecodeAllImages WICBitmapDecoderCapabilityCanDecodeAllImages

Decoder can decode some of the images within an image container.

ee719807 WICBitmapDecoderCapabilityCanDecodeSomeImages WICBitmapDecoderCapabilityCanDecodeSomeImages

Decoder can enumerate the metadata blocks within a container format.

ee719807 WICBitmapDecoderCapabilityCanEnumerateMetadata WICBitmapDecoderCapabilityCanEnumerateMetadata

Decoder can find and decode a thumbnail.

ee719807 WICBitmapDecoderCapabilityCanDecodeThumbnail WICBitmapDecoderCapabilityCanDecodeThumbnail
None. None None

Specifies the type of dither algorithm to apply when converting between image formats.

ee719808 WICBitmapDitherType WICBitmapDitherType

A solid color algorithm without dither.

ee719808 WICBitmapDitherTypeNone WICBitmapDitherTypeNone

A solid color algorithm without dither.

ee719808 WICBitmapDitherTypeSolid WICBitmapDitherTypeSolid

A 4x4 ordered dither algorithm.

ee719808 WICBitmapDitherTypeOrdered4x4 WICBitmapDitherTypeOrdered4x4

An 8x8 ordered dither algorithm.

ee719808 WICBitmapDitherTypeOrdered8x8 WICBitmapDitherTypeOrdered8x8

A 16x16 ordered dither algorithm.

ee719808 WICBitmapDitherTypeOrdered16x16 WICBitmapDitherTypeOrdered16x16

A 4x4 spiral dither algorithm.

ee719808 WICBitmapDitherTypeSpiral4x4 WICBitmapDitherTypeSpiral4x4

An 8x8 spiral dither algorithm.

ee719808 WICBitmapDitherTypeSpiral8x8 WICBitmapDitherTypeSpiral8x8

A 4x4 dual spiral dither algorithm.

ee719808 WICBitmapDitherTypeDualSpiral4x4 WICBitmapDitherTypeDualSpiral4x4

An 8x8 dual spiral dither algorithm.

ee719808 WICBitmapDitherTypeDualSpiral8x8 WICBitmapDitherTypeDualSpiral8x8

An error diffusion algorithm.

ee719808 WICBitmapDitherTypeErrorDiffusion WICBitmapDitherTypeErrorDiffusion

Specifies the cache options available for an encoder.

ee719809 WICBitmapEncoderCacheOption WICBitmapEncoderCacheOption

The encoder is cached in memory. This option is not supported.

ee719809 WICBitmapEncoderCacheInMemory WICBitmapEncoderCacheInMemory

The encoder is cached to a temporary file. This option is not supported.

ee719809 WICBitmapEncoderCacheTempFile WICBitmapEncoderCacheTempFile

The encoder is not cached.

ee719809 WICBitmapEncoderNoCache WICBitmapEncoderNoCache

Specifies the sampling or filtering mode to use when scaling an image.

ee719810 WICBitmapInterpolationMode WICBitmapInterpolationMode

A nearest neighbor interpolation algorithm. Also known as nearest pixel or point interpolation.

The output pixel is assigned the value of the pixel that the point falls within. No other pixels are considered.

ee719810 WICBitmapInterpolationModeNearestNeighbor WICBitmapInterpolationModeNearestNeighbor

A bilinear interpolation algorithm.

The output pixel values are computed as a weighted average of the nearest four pixels in a 2x2 grid.

ee719810 WICBitmapInterpolationModeLinear WICBitmapInterpolationModeLinear

A bicubic interpolation algorithm.

Destination pixel values are computed as a weighted average of the nearest sixteen pixels in a 4x4 grid.

ee719810 WICBitmapInterpolationModeCubic WICBitmapInterpolationModeCubic

A Fant resampling algorithm.

Destination pixel values are computed as a weighted average of the all the pixels that map to the new pixel.

ee719810 WICBitmapInterpolationModeFant WICBitmapInterpolationModeFant

A high quality bicubic interpolation algorithm. Destination pixel values are computed using a much denser sampling kernel than regular cubic. The kernel is resized in response to the scale factor, making it suitable for downscaling by factors greater than 2.

Note??This value is supported beginning with Windows?10. ?
ee719810 WICBitmapInterpolationModeHighQualityCubic WICBitmapInterpolationModeHighQualityCubic

Specifies access to an .

ee719811 WICBitmapLockFlags WICBitmapLockFlags
No documentation. ee719811 WICBitmapLockRead WICBitmapLockRead No documentation. ee719811 WICBitmapLockWrite WICBitmapLockWrite

Specifies the type of palette used for an indexed image format.

ee719812 WICBitmapPaletteType WICBitmapPaletteType

An arbitrary custom palette provided by caller.

ee719812 WICBitmapPaletteTypeCustom WICBitmapPaletteTypeCustom

An optimal palette generated using a median-cut algorithm. Derived from the colors in an image.

ee719812 WICBitmapPaletteTypeMedianCut WICBitmapPaletteTypeMedianCut

A black and white palette.

ee719812 WICBitmapPaletteTypeFixedBW WICBitmapPaletteTypeFixedBW

A palette that has its 8-color on-off primaries and the 16 system colors added. With duplicates removed, 16 colors are available.

ee719812 WICBitmapPaletteTypeFixedHalftone8 WICBitmapPaletteTypeFixedHalftone8

A palette that has 3 intensity levels of each primary: 27-color on-off primaries and the 16 system colors added. With duplicates removed, 35 colors are available.

ee719812 WICBitmapPaletteTypeFixedHalftone27 WICBitmapPaletteTypeFixedHalftone27

A palette that has 4 intensity levels of each primary: 64-color on-off primaries and the 16 system colors added. With duplicates removed, 72 colors are available.

ee719812 WICBitmapPaletteTypeFixedHalftone64 WICBitmapPaletteTypeFixedHalftone64

A palette that has 5 intensity levels of each primary: 125-color on-off primaries and the 16 system colors added. With duplicates removed, 133 colors are available.

ee719812 WICBitmapPaletteTypeFixedHalftone125 WICBitmapPaletteTypeFixedHalftone125

A palette that has 6 intensity levels of each primary: 216-color on-off primaries and the 16 system colors added. With duplicates removed, 224 colors are available. This is the same as WICBitmapPaletteFixedHalftoneWeb.

ee719812 WICBitmapPaletteTypeFixedHalftone216 WICBitmapPaletteTypeFixedHalftone216

A palette that has 6 intensity levels of each primary: 216-color on-off primaries and the 16 system colors added. With duplicates removed, 224 colors are available. This is the same as .

ee719812 WICBitmapPaletteTypeFixedWebPalette WICBitmapPaletteTypeFixedWebPalette

A palette that has its 252-color on-off primaries and the 16 system colors added. With duplicates removed, 256 colors are available.

ee719812 WICBitmapPaletteTypeFixedHalftone252 WICBitmapPaletteTypeFixedHalftone252

A palette that has its 256-color on-off primaries and the 16 system colors added. With duplicates removed, 256 colors are available.

ee719812 WICBitmapPaletteTypeFixedHalftone256 WICBitmapPaletteTypeFixedHalftone256

A palette that has 4 shades of gray.

ee719812 WICBitmapPaletteTypeFixedGray4 WICBitmapPaletteTypeFixedGray4

A palette that has 16 shades of gray.

ee719812 WICBitmapPaletteTypeFixedGray16 WICBitmapPaletteTypeFixedGray16

A palette that has 256 shades of gray.

ee719812 WICBitmapPaletteTypeFixedGray256 WICBitmapPaletteTypeFixedGray256

Specifies the flip and rotation transforms.

ee719814 WICBitmapTransformOptions WICBitmapTransformOptions

A rotation of 0 degrees.

ee719814 WICBitmapTransformRotate0 WICBitmapTransformRotate0

A clockwise rotation of 90 degrees.

ee719814 WICBitmapTransformRotate90 WICBitmapTransformRotate90

A clockwise rotation of 180 degrees.

ee719814 WICBitmapTransformRotate180 WICBitmapTransformRotate180

A clockwise rotation of 270 degrees.

ee719814 WICBitmapTransformRotate270 WICBitmapTransformRotate270

A horizontal flip. Pixels are flipped around the vertical y-axis.

ee719814 WICBitmapTransformFlipHorizontal WICBitmapTransformFlipHorizontal

A vertical flip. Pixels are flipped around the horizontal x-axis.

ee719814 WICBitmapTransformFlipVertical WICBitmapTransformFlipVertical

Specifies the color context types.

ee719815 WICColorContextType WICColorContextType

An uninitialized color context.

ee719815 WICColorContextUninitialized WICColorContextUninitialized

A color context that is a full ICC color profile.

ee719815 WICColorContextProfile WICColorContextProfile

A color context that is one of a number of set color spaces (sRGB, AdobeRGB) that are defined in the EXIF specification.

ee719815 WICColorContextExifColorSpace WICColorContextExifColorSpace

Specifies component enumeration options.

ee719816 WICComponentEnumerateOptions WICComponentEnumerateOptions

Enumerate any components that are not disabled. Because this value is 0x0, it is always included with the other options.

ee719816 WICComponentEnumerateDefault WICComponentEnumerateDefault

Force a read of the registry before enumerating components.

ee719816 WICComponentEnumerateRefresh WICComponentEnumerateRefresh

Include disabled components in the enumeration. The set of disabled components is disjoint with the set of default enumerated components

ee719816 WICComponentEnumerateDisabled WICComponentEnumerateDisabled

Include unsigned components in the enumeration. This option has no effect.

ee719816 WICComponentEnumerateUnsigned WICComponentEnumerateUnsigned

At the end of component enumeration, filter out any components that are not Windows provided.

ee719816 WICComponentEnumerateBuiltInOnly WICComponentEnumerateBuiltInOnly

Specifies the component signing status.

ee719817 WICComponentSigning WICComponentSigning

A signed component.

ee719817 WICComponentSigned WICComponentSigned

An unsigned component

ee719817 WICComponentUnsigned WICComponentUnsigned

A component is safe.

Components that do not have a binary component to sign, such as a pixel format, should return this value.

ee719817 WICComponentSafe WICComponentSafe

A component has been disabled.

ee719817 WICComponentDisabled WICComponentDisabled

Specifies the type of Windows Imaging Component (WIC) component.

ee719818 WICComponentType WICComponentType

A WIC decoder.

ee719818 WICDecoder WICDecoder

A WIC encoder.

ee719818 WICEncoder WICEncoder

A WIC pixel converter.

ee719818 WICPixelFormatConverter WICPixelFormatConverter

A WIC metadata reader.

ee719818 WICMetadataReader WICMetadataReader

A WIC metadata writer.

ee719818 WICMetadataWriter WICMetadataWriter

A WIC pixel format.

ee719818 WICPixelFormat WICPixelFormat

All WIC components.

ee719818 WICAllComponents WICAllComponents

Specifies the the meaning of pixel color component values contained in the DDS image.

dn302101 WICDdsAlphaMode WICDdsAlphaMode

Alpha behavior is unspecified and must be determined by the reader.

dn302101 WICDdsAlphaModeUnknown WICDdsAlphaModeUnknown

The alpha data is straight.

dn302101 WICDdsAlphaModeStraight WICDdsAlphaModeStraight

The alpha data is premultiplied.

dn302101 WICDdsAlphaModePremultiplied WICDdsAlphaModePremultiplied

The alpha data is opaque (UNORM value of 1). This can be used by a compliant reader as a performance optimization. For example, blending operations can be converted to copies.

dn302101 WICDdsAlphaModeOpaque WICDdsAlphaModeOpaque

The alpha channel contains custom data that is not alpha.

dn302101 WICDdsAlphaModeCustom WICDdsAlphaModeCustom

Specifies the dimension type of the data contained in DDS image.

Both WICDdsTexture2d and correspond to . When using , they are distinguished by the flag in the structure .

dn302102 WICDdsDimension WICDdsDimension

DDS image contains a 1-dimensional texture .

dn302102 WICDdsTexture1D WICDdsTexture1D

DDS image contains a 2-dimensional texture .

dn302102 WICDdsTexture2D WICDdsTexture2D

DDS image contains a 3-dimensional texture .

dn302102 WICDdsTexture3D WICDdsTexture3D

The DDS image contains a cube texture represented as an array of 6 faces.

dn302102 WICDdsTextureCube WICDdsTextureCube

Specifies decode options.

ee719824 WICDecodeOptions WICDecodeOptions

Cache metadata when needed.

ee719824 WICDecodeMetadataCacheOnDemand WICDecodeMetadataCacheOnDemand

Cache metadata when decoder is loaded.

ee719824 WICDecodeMetadataCacheOnLoad WICDecodeMetadataCacheOnLoad

Specifies the application extension metadata properties for a Graphics Interchange Format (GIF) image.

ee719826 WICGifApplicationExtensionProperties WICGifApplicationExtensionProperties

[VT_UI1 | VT_VECTOR] Indicates a string that identifies the application.

ee719826 WICGifApplicationExtensionApplication WICGifApplicationExtensionApplication

[VT_UI1 | VT_VECTOR] Indicates data that is exposed by the application.

ee719826 WICGifApplicationExtensionData WICGifApplicationExtensionData

Specifies the comment extension metadata properties for a Graphics Interchange Format (GIF) image.

ee719827 WICGifCommentExtensionProperties WICGifCommentExtensionProperties

[VT_LPSTR] Indicates the comment text.

ee719827 WICGifCommentExtensionText WICGifCommentExtensionText

Specifies the graphic control extension metadata properties that define the transitions between each frame animation for Graphics Interchange Format (GIF) images.

ee719828 WICGifGraphicControlExtensionProperties WICGifGraphicControlExtensionProperties

[VT_UI1] Indicates the disposal requirements. 0 - no disposal, 1 - do not dispose, 2 - restore to background color, 3 - restore to previous.

ee719828 WICGifGraphicControlExtensionDisposal WICGifGraphicControlExtensionDisposal

[VT_BOOL] Indicates the user input flag. TRUE if user input should advance to the next frame; otherwise, .

ee719828 WICGifGraphicControlExtensionUserInputFlag WICGifGraphicControlExtensionUserInputFlag

[VT_BOOL] Indicates the transparency flag. TRUE if a transparent color in is in the color table for this frame; otherwise, .

ee719828 WICGifGraphicControlExtensionTransparencyFlag WICGifGraphicControlExtensionTransparencyFlag

[VT_UI2] Indicates how long to display the next frame before advancing to the next frame, in units of 1/100th of a second.

ee719828 WICGifGraphicControlExtensionDelay WICGifGraphicControlExtensionDelay

[VT_UI1] Indicates which color in the palette should be treated as transparent.

ee719828 WICGifGraphicControlExtensionTransparentColorIndex WICGifGraphicControlExtensionTransparentColorIndex

Specifies the image descriptor metadata properties for Graphics Interchange Format (GIF) frames.

ee719829 WICGifImageDescriptorProperties WICGifImageDescriptorProperties

[VT_UI2] Indicates the X offset at which to locate this frame within the logical screen.

ee719829 WICGifImageDescriptorLeft WICGifImageDescriptorLeft

[VT_UI2] Indicates the Y offset at which to locate this frame within the logical screen.

ee719829 WICGifImageDescriptorTop WICGifImageDescriptorTop

[VT_UI2] Indicates width of this frame, in pixels.

ee719829 WICGifImageDescriptorWidth WICGifImageDescriptorWidth

[VT_UI2] Indicates height of this frame, in pixels.

ee719829 WICGifImageDescriptorHeight WICGifImageDescriptorHeight

[VT_BOOL] Indicates the local color table flag. TRUE if global color table is present; otherwise, .

ee719829 WICGifImageDescriptorLocalColorTableFlag WICGifImageDescriptorLocalColorTableFlag

[VT_BOOL] Indicates the interlace flag. TRUE if image is interlaced; otherwise, .

ee719829 WICGifImageDescriptorInterlaceFlag WICGifImageDescriptorInterlaceFlag

[VT_BOOL] Indicates the sorted color table flag. TRUE if the color table is sorted from most frequently to least frequently used color; otherwise, .

ee719829 WICGifImageDescriptorSortFlag WICGifImageDescriptorSortFlag

[VT_UI1] Indicates the value used to calculate the number of bytes contained in the global color table.

To calculate the actual size of the color table, raise 2 to the value of the field + 1.

ee719829 WICGifImageDescriptorLocalColorTableSize WICGifImageDescriptorLocalColorTableSize

Specifies the logical screen descriptor properties for Graphics Interchange Format (GIF) metadata.

ee719830 WICGifLogicalScreenDescriptorProperties WICGifLogicalScreenDescriptorProperties

[VT_UI1 | VT_VECTOR] Indicates the signature property.

ee719830 WICGifLogicalScreenSignature WICGifLogicalScreenSignature

[VT_UI2] Indicates the width in pixels.

ee719830 WICGifLogicalScreenDescriptorWidth WICGifLogicalScreenDescriptorWidth

[VT_UI2] Indicates the height in pixels.

ee719830 WICGifLogicalScreenDescriptorHeight WICGifLogicalScreenDescriptorHeight

[VT_BOOL] Indicates the global color table flag. TRUE if a global color table is present; otherwise, .

ee719830 WICGifLogicalScreenDescriptorGlobalColorTableFlag WICGifLogicalScreenDescriptorGlobalColorTableFlag

[VT_UI1] Indicates the color resolution in bits per pixel.

ee719830 WICGifLogicalScreenDescriptorColorResolution WICGifLogicalScreenDescriptorColorResolution

[VT_BOOL] Indicates the sorted color table flag. TRUE if the table is sorted; otherwise, .

ee719830 WICGifLogicalScreenDescriptorSortFlag WICGifLogicalScreenDescriptorSortFlag

[VT_UI1] Indicates the value used to calculate the number of bytes contained in the global color table.

To calculate the actual size of the color table, raise 2 to the value of the field + 1.

ee719830 WICGifLogicalScreenDescriptorGlobalColorTableSize WICGifLogicalScreenDescriptorGlobalColorTableSize

[VT_UI1] Indicates the index within the color table to use for the background (pixels not defined in the image).

ee719830 WICGifLogicalScreenDescriptorBackgroundColorIndex WICGifLogicalScreenDescriptorBackgroundColorIndex

[VT_UI1] Indicates the factor used to compute an approximation of the aspect ratio.

ee719830 WICGifLogicalScreenDescriptorPixelAspectRatio WICGifLogicalScreenDescriptorPixelAspectRatio

Specifies the JPEG chrominance table property.

ee719831 WICJpegChrominanceProperties WICJpegChrominanceProperties

[VT_UI2|VT_VECTOR] Indicates the metadata property is a chrominance table.

ee719831 WICJpegChrominanceTable WICJpegChrominanceTable

Specifies the JPEG comment properties.

ee719832 WICJpegCommentProperties WICJpegCommentProperties

Indicates the metadata property is comment text.

ee719832 WICJpegCommentText WICJpegCommentText

Specifies the options for indexing a JPEG image.

dn903880 WICJpegIndexingOptions WICJpegIndexingOptions

Index generation is deferred until is called on the image.

dn903880 WICJpegIndexingOptionsGenerateOnDemand WICJpegIndexingOptionsGenerateOnDemand

Index generation is performed when the when the image is initially loaded.

dn903880 WICJpegIndexingOptionsGenerateOnLoad WICJpegIndexingOptionsGenerateOnLoad

Specifies the JPEG luminance table property.

ee719833 WICJpegLuminanceProperties WICJpegLuminanceProperties

[VT_UI2|VT_VECTOR] Indicates the metadata property is a luminance table.

ee719833 WICJpegLuminanceTable WICJpegLuminanceTable

Specifies the memory layout of pixel data in a JPEG image scan.

dn903892 WICJpegScanType WICJpegScanType

The pixel data is stored in an interleaved memory layout.

dn903892 WICJpegScanTypeInterleaved WICJpegScanTypeInterleaved

The pixel data is stored in a planar memory layout.

dn903892 WICJpegScanTypePlanarComponents WICJpegScanTypePlanarComponents

The pixel data is stored in a progressive layout.

dn903892 WICJpegScanTypeProgressive WICJpegScanTypeProgressive

Specifies conversion matrix from Y'Cb'Cr' to R'G'B'.

dn903893 WICJpegTransferMatrix WICJpegTransferMatrix

Specifies the identity transfer matrix.

dn903893 WICJpegTransferMatrixIdentity WICJpegTransferMatrixIdentity

Specifies the BT601 transfer matrix.

dn903893 WICJpegTransferMatrixBT601 WICJpegTransferMatrixBT601

Specifies the JPEG YCrCB subsampling options.

The native JPEG encoder uses .

ee719834 WICJpegYCrCbSubsamplingOption WICJpegYCrCbSubsamplingOption

The default subsampling option.

ee719834 WICJpegYCrCbSubsamplingDefault WICJpegYCrCbSubsamplingDefault

Subsampling option that uses both horizontal and vertical decimation.

ee719834 WICJpegYCrCbSubsampling420 WICJpegYCrCbSubsampling420

Subsampling option that uses horizontal decimation .

ee719834 WICJpegYCrCbSubsampling422 WICJpegYCrCbSubsampling422

Subsampling option that uses no decimation.

ee719834 WICJpegYCrCbSubsampling444 WICJpegYCrCbSubsampling444

Subsampling option that uses 2x vertical downsampling only. This option is only available in Windows?8.1 and later.

ee719834 WICJpegYCrCbSubsampling440 WICJpegYCrCbSubsampling440

Specifies named white balances for raw images.

ee719842 WICNamedWhitePoint WICNamedWhitePoint

The default white balance.

ee719842 WICWhitePointDefault WICWhitePointDefault

A daylight white balance.

ee719842 WICWhitePointDaylight WICWhitePointDaylight

A cloudy white balance.

ee719842 WICWhitePointCloudy WICWhitePointCloudy

A shade white balance.

ee719842 WICWhitePointShade WICWhitePointShade

A tungsten white balance.

ee719842 WICWhitePointTungsten WICWhitePointTungsten

A fluorescent white balance.

ee719842 WICWhitePointFluorescent WICWhitePointFluorescent

Daylight white balance.

ee719842 WICWhitePointFlash WICWhitePointFlash

A flash white balance.

ee719842 WICWhitePointUnderwater WICWhitePointUnderwater

A custom white balance. This is typically used when using a picture (grey-card) as white balance.

ee719842 WICWhitePointCustom WICWhitePointCustom

An automatic balance.

ee719842 WICWhitePointAutoWhiteBalance WICWhitePointAutoWhiteBalance

An "as shot" white balance.

ee719842 WICWhitePointAsShot WICWhitePointAsShot
No documentation. ee719844 WICPixelFormatNumericRepresentation WICPixelFormatNumericRepresentation
ee719844 WICPixelFormatNumericRepresentationUnspecified WICPixelFormatNumericRepresentationUnspecified
ee719844 WICPixelFormatNumericRepresentationIndexed WICPixelFormatNumericRepresentationIndexed
ee719844 WICPixelFormatNumericRepresentationUnsignedInteger WICPixelFormatNumericRepresentationUnsignedInteger
ee719844 WICPixelFormatNumericRepresentationSignedInteger WICPixelFormatNumericRepresentationSignedInteger
ee719844 WICPixelFormatNumericRepresentationFixed WICPixelFormatNumericRepresentationFixed
ee719844 WICPixelFormatNumericRepresentationFloat WICPixelFormatNumericRepresentationFloat

Specifies additional options to an implementation.

dn302105 WICPlanarOptions WICPlanarOptions
No documentation. dn302105 WICPlanarOptionsDefault WICPlanarOptionsDefault No documentation. dn302105 WICPlanarOptionsPreserveSubsampling WICPlanarOptionsPreserveSubsampling

Specifies the Portable Network Graphics (PNG) background (bKGD) chunk metadata properties.

ee719845 WICPngBkgdProperties WICPngBkgdProperties

Indicates the background color. There are three possible types, depending on the image's pixel format.

VT_UI1

Specifies the index of the background color in an image with an indexed pixel format.

VT_UI2

Specifies the background color in a grayscale image.

VT_VECTOR|VT_UI2

Specifies the background color in an RGB image as three USHORT values: {0xRRRR, 0xGGGG, 0xBBBB}.

ee719845 WICPngBkgdBackgroundColor WICPngBkgdBackgroundColor

Specifies the Portable Network Graphics (PNG) cHRM chunk metadata properties for CIE XYZ chromaticity.

ee719846 WICPngChrmProperties WICPngChrmProperties

[VT_UI4] Indicates the whitepoint x value ratio.

ee719846 WICPngChrmWhitePointX WICPngChrmWhitePointX

[VT_UI4] Indicates the whitepoint y value ratio.

ee719846 WICPngChrmWhitePointY WICPngChrmWhitePointY

[VT_UI4] Indicates the red x value ratio.

ee719846 WICPngChrmRedX WICPngChrmRedX

[VT_UI4] Indicates the red y value ratio.

ee719846 WICPngChrmRedY WICPngChrmRedY

[VT_UI4] Indicates the green x value ratio.

ee719846 WICPngChrmGreenX WICPngChrmGreenX

[VT_UI4] Indicates the green y value ratio.

ee719846 WICPngChrmGreenY WICPngChrmGreenY

[VT_UI4] Indicates the blue x value ratio.

ee719846 WICPngChrmBlueX WICPngChrmBlueX

[VT_UI4] Indicates the blue y value ratio.

ee719846 WICPngChrmBlueY WICPngChrmBlueY

Specifies the Portable Network Graphics (PNG) filters available for compression optimization.

ee719847 WICPngFilterOption WICPngFilterOption

Indicates an unspecified PNG filter. This enables WIC to algorithmically choose the best filtering option for the image.

ee719847 WICPngFilterUnspecified WICPngFilterUnspecified

Indicates no PNG filter.

ee719847 WICPngFilterNone WICPngFilterNone

Indicates a PNG sub filter.

ee719847 WICPngFilterSub WICPngFilterSub

Indicates a PNG up filter.

ee719847 WICPngFilterUp WICPngFilterUp

Indicates a PNG average filter.

ee719847 WICPngFilterAverage WICPngFilterAverage

Indicates a PNG paeth filter.

ee719847 WICPngFilterPaeth WICPngFilterPaeth

Indicates a PNG adaptive filter. This enables WIC to choose the best filtering mode on a per-scanline basis.

ee719847 WICPngFilterAdaptive WICPngFilterAdaptive

Specifies the Portable Network Graphics (PNG) gAMA chunk metadata properties.

ee719848 WICPngGamaProperties WICPngGamaProperties

[VT_UI4] Indicates the gamma value.

ee719848 WICPngGamaGamma WICPngGamaGamma

Specifies the Portable Network Graphics (PNG) hIST chunk metadata properties.

ee719849 WICPngHistProperties WICPngHistProperties

[VT_VECTOR | VT_UI2] Indicates the approximate usage frequency of each color in the color palette.

ee719849 WICPngHistFrequencies WICPngHistFrequencies

Specifies the Portable Network Graphics (PNG) iCCP chunk metadata properties.

ee719850 WICPngIccpProperties WICPngIccpProperties

[VT_LPSTR] Indicates the International Color Consortium (ICC) profile name.

ee719850 WICPngIccpProfileName WICPngIccpProfileName

[VT_VECTOR | VT_UI1] Indicates the embedded ICC profile.

ee719850 WICPngIccpProfileData WICPngIccpProfileData

Specifies the Portable Network Graphics (PNG) iTXT chunk metadata properties.

ee719851 WICPngItxtProperties WICPngItxtProperties

[VT_LPSTR] Indicates the keywords in the iTXT metadata chunk.

ee719851 WICPngItxtKeyword WICPngItxtKeyword

[VT_UI1] Indicates whether the text in the iTXT chunk is compressed. 1 if the text is compressed; otherwise, 0.

ee719851 WICPngItxtCompressionFlag WICPngItxtCompressionFlag

[VT_LPSTR] Indicates the human language used by the translated keyword and the text.

ee719851 WICPngItxtLanguageTag WICPngItxtLanguageTag

[VT_LPWSTR] Indicates a translation of the keyword into the language indicated by the language tag.

ee719851 WICPngItxtTranslatedKeyword WICPngItxtTranslatedKeyword

[VT_LPWSTR] Indicates additional text in the iTXT metadata chunk.

ee719851 WICPngItxtText WICPngItxtText

Specifies the Portable Network Graphics (PNG) sRGB chunk metadata properties.

ee719852 WICPngSrgbProperties WICPngSrgbProperties

[VT_UI1] Indicates the rendering intent for an sRGB color space image. The rendering intents have the following meaning.

ValueMeaning
0Perceptual
1Relative colorimetric
2Saturation
3Absolute colorimetric

?

ee719852 WICPngSrgbRenderingIntent WICPngSrgbRenderingIntent

Specifies the Portable Network Graphics (PNG) tIME chunk metadata properties.

ee719853 WICPngTimeProperties WICPngTimeProperties

[VT_UI2] Indicates the year of the last modification.

ee719853 WICPngTimeYear WICPngTimeYear

[VT_UI1] Indicates the month of the last modification.

ee719853 WICPngTimeMonth WICPngTimeMonth

[VT_UI1] Indicates day of the last modification.

ee719853 WICPngTimeDay WICPngTimeDay

[VT_UI1] Indicates the hour of the last modification.

ee719853 WICPngTimeHour WICPngTimeHour

[VT_UI1] Indicates the minute of the last modification.

ee719853 WICPngTimeMinute WICPngTimeMinute

[VT_UI1] Indicates the second of the last modification.

ee719853 WICPngTimeSecond WICPngTimeSecond

Specifies when the progress notification callback should be called.

ee719854 WICProgressNotification WICProgressNotification

The callback should be called when codec operations begin.

ee719854 WICProgressNotificationBegin WICProgressNotificationBegin

The callback should be called when codec operations end.

ee719854 WICProgressNotificationEnd WICProgressNotificationEnd

The callback should be called frequently to report status.

ee719854 WICProgressNotificationFrequent WICProgressNotificationFrequent

The callback should be called on all available progress notifications.

ee719854 WICProgressNotificationAll WICProgressNotificationAll

Specifies the progress operations to receive notifications for.

ee719855 WICProgressOperation WICProgressOperation

Receive copy pixel operation.

ee719855 WICProgressOperationCopyPixels WICProgressOperationCopyPixels

Receive write pixel operation.

ee719855 WICProgressOperationWritePixels WICProgressOperationWritePixels

Receive all progress operations available.

ee719855 WICProgressOperationAll WICProgressOperationAll

Specifies the capability support of a raw image.

ee719856 WICRawCapabilities WICRawCapabilities

The capability is not supported.

ee719856 WICRawCapabilityNotSupported WICRawCapabilityNotSupported

The capability supports only get operations.

ee719856 WICRawCapabilityGetSupported WICRawCapabilityGetSupported

The capability supports get and set operations.

ee719856 WICRawCapabilityFullySupported WICRawCapabilityFullySupported

Specifies the parameter set used by a raw codec.

ee719858 WICRawParameterSet WICRawParameterSet

An as shot parameter set.

ee719858 WICAsShotParameterSet WICAsShotParameterSet

A user adjusted parameter set.

ee719858 WICUserAdjustedParameterSet WICUserAdjustedParameterSet

A codec adjusted parameter set.

ee719858 WICAutoAdjustedParameterSet WICAutoAdjustedParameterSet

Specifies the render intent of the next CopyPixels call.

ee719859 WICRawRenderMode WICRawRenderMode
No documentation. ee719859 WICRawRenderModeDraft WICRawRenderModeDraft No documentation. ee719859 WICRawRenderModeNormal WICRawRenderModeNormal No documentation. ee719859 WICRawRenderModeBestQuality WICRawRenderModeBestQuality

Specifies the rotation capabilities of the codec.

ee719860 WICRawRotationCapabilities WICRawRotationCapabilities

Rotation is not supported.

ee719860 WICRawRotationCapabilityNotSupported WICRawRotationCapabilityNotSupported

Set operations for rotation is not supported.

ee719860 WICRawRotationCapabilityGetSupported WICRawRotationCapabilityGetSupported

90 degree rotations are supported.

ee719860 WICRawRotationCapabilityNinetyDegreesSupported WICRawRotationCapabilityNinetyDegreesSupported

All rotation angles are supported.

ee719860 WICRawRotationCapabilityFullySupported WICRawRotationCapabilityFullySupported

Specifies the access level of a Windows Graphics Device Interface (GDI) section.

ee719864 WICSectionAccessLevel WICSectionAccessLevel

Indicates a read only access level.

ee719864 WICSectionAccessLevelRead WICSectionAccessLevelRead

Indicates a read/write access level.

ee719864 WICSectionAccessLevelReadWrite WICSectionAccessLevelReadWrite

Specifies the Tagged Image File Format (TIFF) compression options.

ee719867 WICTiffCompressionOption WICTiffCompressionOption

Indicates a suitable compression algorithm based on the image and pixel format.

ee719867 WICTiffCompressionDontCare WICTiffCompressionDontCare

Indicates no compression.

ee719867 WICTiffCompressionNone WICTiffCompressionNone

Indicates a CCITT3 compression algorithm. This algorithm is only valid for 1bpp pixel formats.

ee719867 WICTiffCompressionCCITT3 WICTiffCompressionCCITT3

Indicates a CCITT4 compression algorithm. This algorithm is only valid for 1bpp pixel formats.

ee719867 WICTiffCompressionCCITT4 WICTiffCompressionCCITT4

Indicates a LZW compression algorithm.

ee719867 WICTiffCompressionLZW WICTiffCompressionLZW

Indicates a RLE compression algorithm. This algorithm is only valid for 1bpp pixel formats.

ee719867 WICTiffCompressionRLE WICTiffCompressionRLE

Indicates a ZIP compression algorithm.

ee719867 WICTiffCompressionZIP WICTiffCompressionZIP

Indicates an LZWH differencing algorithm.

ee719867 WICTiffCompressionLZWHDifferencing WICTiffCompressionLZWHDifferencing
Functions Constant Png. CLSID_WICPngDecoder Constant Bmp. CLSID_WICBmpDecoder Constant Ico. CLSID_WICIcoDecoder Constant Jpeg. CLSID_WICJpegDecoder Constant Gif. CLSID_WICGifDecoder Constant Tiff. CLSID_WICTiffDecoder Constant Wmp. CLSID_WICWmpDecoder Constant Dds. CLSID_WICDdsDecoder Constant Adng. CLSID_WICAdngDecoder Functions Constant Bmp. CLSID_WICBmpEncoder Constant Png. CLSID_WICPngEncoder Constant Jpeg. CLSID_WICJpegEncoder Constant Gif. CLSID_WICGifEncoder Constant Tiff. CLSID_WICTiffEncoder Constant Wmp. CLSID_WICWmpEncoder Constant Dds. CLSID_WICDdsEncoder Constant JpegQualcommPhone. CLSID_WICJpegQualcommPhoneEncoder Functions Constant Bmp. GUID_ContainerFormatBmp Constant Png. GUID_ContainerFormatPng Constant Ico. GUID_ContainerFormatIco Constant Jpeg. GUID_ContainerFormatJpeg Constant Tiff. GUID_ContainerFormatTiff Constant Gif. GUID_ContainerFormatGif Constant Wmp. GUID_ContainerFormatWmp Constant Dds. GUID_ContainerFormatDds Constant Adng. GUID_ContainerFormatAdng Functions Constant FormatDontCare. GUID_WICPixelFormatDontCare Constant Format1bppIndexed. GUID_WICPixelFormat1bppIndexed Constant Format2bppIndexed. GUID_WICPixelFormat2bppIndexed Constant Format4bppIndexed. GUID_WICPixelFormat4bppIndexed Constant Format8bppIndexed. GUID_WICPixelFormat8bppIndexed Constant FormatBlackWhite. GUID_WICPixelFormatBlackWhite Constant Format2bppGray. GUID_WICPixelFormat2bppGray Constant Format4bppGray. GUID_WICPixelFormat4bppGray Constant Format8bppGray. GUID_WICPixelFormat8bppGray Constant Format8bppAlpha. GUID_WICPixelFormat8bppAlpha Constant Format16bppBGR555. GUID_WICPixelFormat16bppBGR555 Constant Format16bppBGR565. GUID_WICPixelFormat16bppBGR565 Constant Format16bppBGRA5551. GUID_WICPixelFormat16bppBGRA5551 Constant Format16bppGray. GUID_WICPixelFormat16bppGray Constant Format24bppBGR. GUID_WICPixelFormat24bppBGR Constant Format24bppRGB. GUID_WICPixelFormat24bppRGB Constant Format32bppBGR. GUID_WICPixelFormat32bppBGR Constant Format32bppBGRA. GUID_WICPixelFormat32bppBGRA Constant Format32bppPBGRA. GUID_WICPixelFormat32bppPBGRA Constant Format32bppGrayFloat. GUID_WICPixelFormat32bppGrayFloat Constant Format32bppRGB. GUID_WICPixelFormat32bppRGB Constant Format32bppRGBA. GUID_WICPixelFormat32bppRGBA Constant Format32bppPRGBA. GUID_WICPixelFormat32bppPRGBA Constant Format48bppRGB. GUID_WICPixelFormat48bppRGB Constant Format48bppBGR. GUID_WICPixelFormat48bppBGR Constant Format64bppRGB. GUID_WICPixelFormat64bppRGB Constant Format64bppRGBA. GUID_WICPixelFormat64bppRGBA Constant Format64bppBGRA. GUID_WICPixelFormat64bppBGRA Constant Format64bppPRGBA. GUID_WICPixelFormat64bppPRGBA Constant Format64bppPBGRA. GUID_WICPixelFormat64bppPBGRA Constant Format16bppGrayFixedPoint. GUID_WICPixelFormat16bppGrayFixedPoint Constant Format32bppBGR101010. GUID_WICPixelFormat32bppBGR101010 Constant Format48bppRGBFixedPoint. GUID_WICPixelFormat48bppRGBFixedPoint Constant Format48bppBGRFixedPoint. GUID_WICPixelFormat48bppBGRFixedPoint Constant Format96bppRGBFixedPoint. GUID_WICPixelFormat96bppRGBFixedPoint Constant Format96bppRGBFloat. GUID_WICPixelFormat96bppRGBFloat Constant Format128bppRGBAFloat. GUID_WICPixelFormat128bppRGBAFloat Constant Format128bppPRGBAFloat. GUID_WICPixelFormat128bppPRGBAFloat Constant Format128bppRGBFloat. GUID_WICPixelFormat128bppRGBFloat Constant Format32bppCMYK. GUID_WICPixelFormat32bppCMYK Constant Format64bppRGBAFixedPoint. GUID_WICPixelFormat64bppRGBAFixedPoint Constant Format64bppBGRAFixedPoint. GUID_WICPixelFormat64bppBGRAFixedPoint Constant Format64bppRGBFixedPoint. GUID_WICPixelFormat64bppRGBFixedPoint Constant Format128bppRGBAFixedPoint. GUID_WICPixelFormat128bppRGBAFixedPoint Constant Format128bppRGBFixedPoint. GUID_WICPixelFormat128bppRGBFixedPoint Constant Format64bppRGBAHalf. GUID_WICPixelFormat64bppRGBAHalf Constant Format64bppPRGBAHalf. GUID_WICPixelFormat64bppPRGBAHalf Constant Format64bppRGBHalf. GUID_WICPixelFormat64bppRGBHalf Constant Format48bppRGBHalf. GUID_WICPixelFormat48bppRGBHalf Constant Format32bppRGBE. GUID_WICPixelFormat32bppRGBE Constant Format16bppGrayHalf. GUID_WICPixelFormat16bppGrayHalf Constant Format32bppGrayFixedPoint. GUID_WICPixelFormat32bppGrayFixedPoint Constant Format32bppRGBA1010102. GUID_WICPixelFormat32bppRGBA1010102 Constant Format32bppRGBA1010102XR. GUID_WICPixelFormat32bppRGBA1010102XR Constant Format64bppCMYK. GUID_WICPixelFormat64bppCMYK Constant Format24bpp3Channels. GUID_WICPixelFormat24bpp3Channels Constant Format32bpp4Channels. GUID_WICPixelFormat32bpp4Channels Constant Format40bpp5Channels. GUID_WICPixelFormat40bpp5Channels Constant Format48bpp6Channels. GUID_WICPixelFormat48bpp6Channels Constant Format56bpp7Channels. GUID_WICPixelFormat56bpp7Channels Constant Format64bpp8Channels. GUID_WICPixelFormat64bpp8Channels Constant Format48bpp3Channels. GUID_WICPixelFormat48bpp3Channels Constant Format64bpp4Channels. GUID_WICPixelFormat64bpp4Channels Constant Format80bpp5Channels. GUID_WICPixelFormat80bpp5Channels Constant Format96bpp6Channels. GUID_WICPixelFormat96bpp6Channels Constant Format112bpp7Channels. GUID_WICPixelFormat112bpp7Channels Constant Format128bpp8Channels. GUID_WICPixelFormat128bpp8Channels Constant Format40bppCMYKAlpha. GUID_WICPixelFormat40bppCMYKAlpha Constant Format80bppCMYKAlpha. GUID_WICPixelFormat80bppCMYKAlpha Constant Format32bpp3ChannelsAlpha. GUID_WICPixelFormat32bpp3ChannelsAlpha Constant Format40bpp4ChannelsAlpha. GUID_WICPixelFormat40bpp4ChannelsAlpha Constant Format48bpp5ChannelsAlpha. GUID_WICPixelFormat48bpp5ChannelsAlpha Constant Format56bpp6ChannelsAlpha. GUID_WICPixelFormat56bpp6ChannelsAlpha Constant Format64bpp7ChannelsAlpha. GUID_WICPixelFormat64bpp7ChannelsAlpha Constant Format72bpp8ChannelsAlpha. GUID_WICPixelFormat72bpp8ChannelsAlpha Constant Format64bpp3ChannelsAlpha. GUID_WICPixelFormat64bpp3ChannelsAlpha Constant Format80bpp4ChannelsAlpha. GUID_WICPixelFormat80bpp4ChannelsAlpha Constant Format96bpp5ChannelsAlpha. GUID_WICPixelFormat96bpp5ChannelsAlpha Constant Format112bpp6ChannelsAlpha. GUID_WICPixelFormat112bpp6ChannelsAlpha Constant Format128bpp7ChannelsAlpha. GUID_WICPixelFormat128bpp7ChannelsAlpha Constant Format144bpp8ChannelsAlpha. GUID_WICPixelFormat144bpp8ChannelsAlpha Constant Format8bppY. GUID_WICPixelFormat8bppY Constant Format8bppCb. GUID_WICPixelFormat8bppCb Constant Format8bppCr. GUID_WICPixelFormat8bppCr Constant Format16bppCbCr. GUID_WICPixelFormat16bppCbCr Constant Format16bppYQuantizedDctCoefficients. GUID_WICPixelFormat16bppYQuantizedDctCoefficients Constant Format16bppCbQuantizedDctCoefficients. GUID_WICPixelFormat16bppCbQuantizedDctCoefficients Constant Format16bppCrQuantizedDctCoefficients. GUID_WICPixelFormat16bppCrQuantizedDctCoefficients Gets the number of bits per pixel for a particular pixel format. The pixel format guid. The number of bits per pixel. If the pixel format guid is invalid, returns 0 Gets the stride in bytes from a pixel format and a width.. The pixel format guid. The width. The number of bytes per row. Functions Constant WrongState. WINCODEC_ERR_WRONGSTATE Constant Valueoutofrange. WINCODEC_ERR_VALUEOUTOFRANGE Constant Unknownimageformat. WINCODEC_ERR_UNKNOWNIMAGEFORMAT Constant UnsupportedVersion. WINCODEC_ERR_UNSUPPORTEDVERSION Constant NotInitializeD. WINCODEC_ERR_NOTINITIALIZED Constant Alreadylocked. WINCODEC_ERR_ALREADYLOCKED Constant Propertynotfound. WINCODEC_ERR_PROPERTYNOTFOUND Constant Propertynotsupported. WINCODEC_ERR_PROPERTYNOTSUPPORTED Constant Propertysize. WINCODEC_ERR_PROPERTYSIZE Constant Codecpresent. WINCODEC_ERR_CODECPRESENT Constant Codecnothumbnail. WINCODEC_ERR_CODECNOTHUMBNAIL Constant Paletteunavailable. WINCODEC_ERR_PALETTEUNAVAILABLE Constant Codectoomanyscanlines. WINCODEC_ERR_CODECTOOMANYSCANLINES Constant Internalerror. WINCODEC_ERR_INTERNALERROR Constant SourceRectangleDoesnotmatchdimensions. WINCODEC_ERR_SOURCERECTDOESNOTMATCHDIMENSIONS Constant Componentnotfound. WINCODEC_ERR_COMPONENTNOTFOUND Constant Imagesizeoutofrange. WINCODEC_ERR_IMAGESIZEOUTOFRANGE Constant TooMuchmetadata. WINCODEC_ERR_TOOMUCHMETADATA Constant Badimage. WINCODEC_ERR_BADIMAGE Constant Badheader. WINCODEC_ERR_BADHEADER Constant FrameMissing. WINCODEC_ERR_FRAMEMISSING Constant Badmetadataheader. WINCODEC_ERR_BADMETADATAHEADER Constant Badstreamdata. WINCODEC_ERR_BADSTREAMDATA Constant StreamWrite. WINCODEC_ERR_STREAMWRITE Constant StreamRead. WINCODEC_ERR_STREAMREAD Constant StreamNotAvailable. WINCODEC_ERR_STREAMNOTAVAILABLE Constant UnsupportedPixelFormat. WINCODEC_ERR_UNSUPPORTEDPIXELFORMAT Constant UnsupportedOperation. WINCODEC_ERR_UNSUPPORTEDOPERATION Constant InvalidRegistration. WINCODEC_ERR_INVALIDREGISTRATION Constant Componentinitializefailure. WINCODEC_ERR_COMPONENTINITIALIZEFAILURE Constant Insufficientbuffer. WINCODEC_ERR_INSUFFICIENTBUFFER Constant Duplicatemetadatapresent. WINCODEC_ERR_DUPLICATEMETADATAPRESENT Constant Propertyunexpectedtype. WINCODEC_ERR_PROPERTYUNEXPECTEDTYPE Constant UnexpectedSize. WINCODEC_ERR_UNEXPECTEDSIZE Constant InvalidQueryRequest. WINCODEC_ERR_INVALIDQUERYREQUEST Constant UnexpectedMetadataType. WINCODEC_ERR_UNEXPECTEDMETADATATYPE Constant Requestonlyvalidatmetadataroot. WINCODEC_ERR_REQUESTONLYVALIDATMETADATAROOT Constant InvalidQueryCharacter. WINCODEC_ERR_INVALIDQUERYCHARACTER Constant Win32error. WINCODEC_ERR_WIN32ERROR Constant InvalidProgressivelevel. WINCODEC_ERR_INVALIDPROGRESSIVELEVEL Constant InvalidJpegscanindex. WINCODEC_ERR_INVALIDJPEGSCANINDEX Constant Base. WINCODEC_ERR_BASE Constant GenericError. WINCODEC_ERR_GENERIC_ERROR Constant InvalidParameter. WINCODEC_ERR_INVALIDPARAMETER Constant OufOfMemory. WINCODEC_ERR_OUTOFMEMORY Constant NotImplemented. WINCODEC_ERR_NOTIMPLEMENTED Constant Aborted. WINCODEC_ERR_ABORTED Constant AccessDenied. WINCODEC_ERR_ACCESSDENIED Constant Valueoverflow. WINCODEC_ERR_VALUEOVERFLOW

Defines methods that add the concept of writeability and static in-memory representations of bitmaps to .

inherits from and therefore also inherits the CopyPixels method. When pixels need to be moved to a new memory location, CopyPixels is often the most efficient.

Because of to the internal memory representation implied by the , in-place modification and processing using the Lock is more efficient than CopyPixels, usually reducing to a simple reference access directly into the memory owned by the bitmap rather than a as a copy. This is contrasted to procedural bitmaps which implement only CopyPixels because there is no internal memory representation and one would need to be created on demand to satisfy a call to Lock.

ee719675 IWICBitmap IWICBitmap
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Provides access for palette modifications.

ee690189 SetPalette SetPalette HRESULT IWICBitmap::SetPalette([In, Optional] IWICPalette* pIPalette)

Provides access to a rectangular area of the bitmap.

The rectangle to be accessed.

The access mode you wish to obtain for the lock. This is a bitwise combination of for read, write, or read and write access.

ValueMeaning

The read access lock.

The write access lock.

?

A reference that receives the locked memory location.

Locks are exclusive for writing but can be shared for reading. You cannot call CopyPixels while the is locked for writing. Doing so will return an error, since locks are exclusive.

ee690187 HRESULT IWICBitmap::Lock([In] const void* prcLock,[In] WICBitmapLockFlags flags,[Out] IWICBitmapLock** ppILock) IWICBitmap::Lock

Provides access for palette modifications.

The palette to use for conversion.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690189 HRESULT IWICBitmap::SetPalette([In, Optional] IWICPalette* pIPalette) IWICBitmap::SetPalette

Changes the physical resolution of the image.

The horizontal resolution.

The vertical resolution.

If this method succeeds, it returns . Otherwise, it returns an error code.

This method has no effect on the actual pixels or samples stored in the bitmap. Instead the interpretation of the sampling rate is modified. This means that a 96 DPI image which is 96 pixels wide is one inch. If the physical resolution is modified to 48 DPI, then the bitmap is considered to be 2 inches wide but has the same number of pixels. If the resolution is less than REAL_EPSILON (1.192092896e-07F) the error code is returned.

ee690191 HRESULT IWICBitmap::SetResolution([In] double dpiX,[In] double dpiY) IWICBitmap::SetResolution
Initializes a new instance of the class. The factory. The width. The height. The pixel format. for a list of valid formats. The option. ee690282 HRESULT IWICImagingFactory::CreateBitmap([In] unsigned int uiWidth,[In] unsigned int uiHeight,[In] const GUID& pixelFormat,[In] WICBitmapCreateCacheOption option,[Out, Fast] IWICBitmap** ppIBitmap) IWICImagingFactory::CreateBitmap Initializes a new instance of the class from a memory location using . The factory. The width. The height. The pixel format. The data rectangle. Size of the buffer in . If == 0, calculate the size automatically based on the height and row pitch. ee690291 HRESULT IWICImagingFactory::CreateBitmapFromMemory([In] unsigned int uiWidth,[In] unsigned int uiHeight,[In] const GUID& pixelFormat,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer,[Out, Fast] IWICBitmap** ppIBitmap) IWICImagingFactory::CreateBitmapFromMemory Initializes a new instance of the class from a The factory. The bitmap source ref. The option. ee690293 HRESULT IWICImagingFactory::CreateBitmapFromSource([In, Optional] IWICBitmapSource* pIBitmapSource,[In] WICBitmapCreateCacheOption option,[Out, Fast] IWICBitmap** ppIBitmap) IWICImagingFactory::CreateBitmapFromSource Initializes a new instance of the class from a . The factory. The bitmap source. The rectangle. ee690294 HRESULT IWICImagingFactory::CreateBitmapFromSourceRect([In, Optional] IWICBitmapSource* pIBitmapSource,[In] unsigned int x,[In] unsigned int y,[In] unsigned int width,[In] unsigned int height,[Out, Fast] IWICBitmap** ppIBitmap) IWICImagingFactory::CreateBitmapFromSourceRect Initializes a new instance of the class from an array of pixel data. The factory. The width. The height. The pixel format. The pixel data. Stride of a row of pixels (number of bytes per row). By default the stride is == 0, and calculated by taking the sizeof(T) * width. ee690291 HRESULT IWICImagingFactory::CreateBitmapFromMemory([In] unsigned int uiWidth,[In] unsigned int uiHeight,[In] const GUID& pixelFormat,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer,[Out, Fast] IWICBitmap** ppIBitmap) IWICImagingFactory::CreateBitmapFromMemory

Provides access to a rectangular area of the bitmap.

The access mode you wish to obtain for the lock. This is a bitwise combination of for read, write, or read and write access.

ValueMeaning

The read access lock.

The write access lock.

?

A reference that receives the locked memory location.

Locks are exclusive for writing but can be shared for reading. You cannot call CopyPixels while the is locked for writing. Doing so will return an error, since locks are exclusive.

ee690187 HRESULT IWICBitmap::Lock([In, Optional] const WICRect* prcLock,[In] WICBitmapLockFlags flags,[Out] IWICBitmapLock** ppILock) IWICBitmap::Lock

Provides access to a rectangular area of the bitmap.

The rectangle to be accessed.

The access mode you wish to obtain for the lock. This is a bitwise combination of for read, write, or read and write access.

ValueMeaning

The read access lock.

The write access lock.

?

A reference that receives the locked memory location.

Locks are exclusive for writing but can be shared for reading. You cannot call CopyPixels while the is locked for writing. Doing so will return an error, since locks are exclusive.

ee690187 HRESULT IWICBitmap::Lock([In, Optional] const WICRect* prcLock,[In] WICBitmapLockFlags flags,[Out] IWICBitmapLock** ppILock) IWICBitmap::Lock

Exposes methods that produce a clipped version of the input bitmap for a specified rectangular region of interest.

ee719676 IWICBitmapClipper IWICBitmapClipper
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Initializes the bitmap clipper with the provided parameters.

he input bitmap source.

The rectangle of the bitmap source to clip.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee719677 HRESULT IWICBitmapClipper::Initialize([In, Optional] IWICBitmapSource* pISource,[In] const void* prc) IWICBitmapClipper::Initialize
Initializes a new instance of the class. The factory.

Initializes the bitmap clipper with the provided parameters.

he input bitmap source.

The rectangle of the bitmap source to clip.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee719677 HRESULT IWICBitmapClipper::Initialize([In, Optional] IWICBitmapSource* pISource,[In] const WICRect* prc) IWICBitmapClipper::Initialize

Exposes methods that provide information about a particular codec.

ee719679 IWICBitmapCodecInfo IWICBitmapCodecInfo
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Proxy function for the GetContainerFormat method.

ee719689 GetContainerFormat GetContainerFormat HRESULT IWICBitmapCodecInfo::GetContainerFormat([Out] GUID* pguidContainerFormat)

Proxy function for the DoesSupportAnimation method.

ee719681 DoesSupportAnimation DoesSupportAnimation HRESULT IWICBitmapCodecInfo::DoesSupportAnimation([Out] BOOL* pfSupportAnimation)

Retrieves a value indicating whether the codec supports chromakeys.

ee719682 DoesSupportChromakey DoesSupportChromakey HRESULT IWICBitmapCodecInfo::DoesSupportChromakey([Out] BOOL* pfSupportChromakey)

Retrieves a value indicating whether the codec supports lossless formats.

ee719683 DoesSupportLossless DoesSupportLossless HRESULT IWICBitmapCodecInfo::DoesSupportLossless([Out] BOOL* pfSupportLossless)

Retrieves a value indicating whether the codec supports multi frame images.

ee719685 DoesSupportMultiframe DoesSupportMultiframe HRESULT IWICBitmapCodecInfo::DoesSupportMultiframe([Out] BOOL* pfSupportMultiframe)

Proxy function for the GetContainerFormat method.

No documentation.

If this function succeeds, it returns . Otherwise, it returns an error code.

ee719689 HRESULT IWICBitmapCodecInfo::GetContainerFormat([Out] GUID* pguidContainerFormat) IWICBitmapCodecInfo::GetContainerFormat

Retrieves the pixel formats the codec supports.

The size of the pguidPixelFormats array. Use 0 on first call to determine the needed array size.

Receives the supported pixel formats. Use null on first call to determine needed array size.

The array size needed to retrieve all supported pixel formats.

If this method succeeds, it returns . Otherwise, it returns an error code.

The usage pattern for this method is a two call process. The first call retrieves the array size needed to retrieve all the supported pixel formats by calling it with cFormats set to 0 and pguidPixelFormats set to null. This call sets pcActual to the array size needed. Once the needed array size is determined, a second GetPixelFormats call with pguidPixelFormats set to an array of the appropriate size will retrieve the pixel formats.

ee690082 HRESULT IWICBitmapCodecInfo::GetPixelFormats([In] unsigned int cFormats,[In, Buffer] GUID* pguidPixelFormats,[Out] unsigned int* pcActual) IWICBitmapCodecInfo::GetPixelFormats

Retrieves the color manangement version number the codec supports.

The size of the version buffer. Use 0 on first call to determine needed buffer size.

Receives the color management version number. Use null on first call to determine needed buffer size.

The actual buffer size needed to retrieve the full color management version number.

If this method succeeds, it returns . Otherwise, it returns an error code.

The usage pattern for this method is a two call process. The first call retrieves the buffer size needed to retrieve the full color management version number by calling it with cchColorManagementVersion set to 0 and wzColorManagementVersion set to null. This call sets pcchActual to the buffer size needed. Once the needed buffer size is determined, a second GetColorManagementVersion call with cchColorManagementVersion set to the buffer size and wzColorManagementVersion set to a buffer of the appropriate size will retrieve the pixel formats.

ee719687 HRESULT IWICBitmapCodecInfo::GetColorManagementVersion([In] unsigned int cchColorManagementVersion,[In] void* wzColorManagementVersion,[Out] unsigned int* pcchActual) IWICBitmapCodecInfo::GetColorManagementVersion

Retrieves the name of the device manufacture associated with the codec.

The size of the device manufacture's name. Use 0 on first call to determine needed buffer size.

Receives the device manufacture's name. Use null on first call to determine needed buffer size.

The actual buffer size needed to retrieve the device manufacture's name.

If this method succeeds, it returns . Otherwise, it returns an error code.

The usage pattern for this method is a two call process. The first call retrieves the buffer size needed to retrieve the full color management version number by calling it with cchDeviceManufacturer set to 0 and wzDeviceManufacturer set to null. This call sets pcchActual to the buffer size needed. Once the needed buffer size is determined, a second GetDeviceManufacturer call with cchDeviceManufacturer set to the buffer size and wzDeviceManufacturer set to a buffer of the appropriate size will retrieve the pixel formats.

ee719690 HRESULT IWICBitmapCodecInfo::GetDeviceManufacturer([In] unsigned int cchDeviceManufacturer,[In] void* wzDeviceManufacturer,[Out] unsigned int* pcchActual) IWICBitmapCodecInfo::GetDeviceManufacturer

Retrieves a comma delimited list of device models associated with the codec.

The size of the device models buffer. Use 0 on first call to determine needed buffer size.

Receives a comma delimited list of device model names associated with the codec. Use null on first call to determine needed buffer size.

The actual buffer size needed to retrieve all of the device model names.

If this method succeeds, it returns . Otherwise, it returns an error code.

The usage pattern for this method is a two call process. The first call retrieves the buffer size needed to retrieve the full color management version number by calling it with cchDeviceModels set to 0 and wzDeviceModels set to null. This call sets pcchActual to the buffer size needed. Once the needed buffer size is determined, a second GetDeviceModels call with cchDeviceModels set to the buffer size and wzDeviceModels set to a buffer of the appropriate size will retrieve the pixel formats.

ee719692 HRESULT IWICBitmapCodecInfo::GetDeviceModels([In] unsigned int cchDeviceModels,[In] void* wzDeviceModels,[Out] unsigned int* pcchActual) IWICBitmapCodecInfo::GetDeviceModels

Proxy function for the GetMimeTypes method.

No documentation. No documentation. No documentation.

If this function succeeds, it returns . Otherwise, it returns an error code.

ee719697 HRESULT IWICBitmapCodecInfo::GetMimeTypes([In] unsigned int cchMimeTypes,[In] void* wzMimeTypes,[Out] unsigned int* pcchActual) IWICBitmapCodecInfo::GetMimeTypes

Retrieves a comma delimited list of the file name extensions associated with the codec.

The size of the file name extension buffer. Use 0 on first call to determine needed buffer size.

Receives a comma delimited list of file name extensions associated with the codec. Use null on first call to determine needed buffer size.

The actual buffer size needed to retrieve all file name extensions associated with the codec.

If this method succeeds, it returns . Otherwise, it returns an error code.

The default extension for an image encoder is the first item in the list of returned extensions.

The usage pattern for this method is a two call process. The first call retrieves the buffer size needed to retrieve the full color management version number by calling it with cchFileExtensions set to 0 and wzFileExtensions set to null. This call sets pcchActual to the buffer size needed. Once the needed buffer size is determined, a second GetFileExtensions call with cchFileExtensions set to the buffer size and wzFileExtensions set to a buffer of the appropriate size will retrieve the pixel formats.

ee719694 HRESULT IWICBitmapCodecInfo::GetFileExtensions([In] unsigned int cchFileExtensions,[In] void* wzFileExtensions,[Out] unsigned int* pcchActual) IWICBitmapCodecInfo::GetFileExtensions

Proxy function for the DoesSupportAnimation method.

No documentation.

If this function succeeds, it returns . Otherwise, it returns an error code.

ee719681 HRESULT IWICBitmapCodecInfo::DoesSupportAnimation([Out] BOOL* pfSupportAnimation) IWICBitmapCodecInfo::DoesSupportAnimation

Retrieves a value indicating whether the codec supports chromakeys.

Receives TRUE if the codec supports chromakeys; otherwise, .

If this method succeeds, it returns . Otherwise, it returns an error code.

ee719682 HRESULT IWICBitmapCodecInfo::DoesSupportChromakey([Out] BOOL* pfSupportChromakey) IWICBitmapCodecInfo::DoesSupportChromakey

Retrieves a value indicating whether the codec supports lossless formats.

Receives TRUE if the codec supports lossless formats; otherwise, .

If this method succeeds, it returns . Otherwise, it returns an error code.

ee719683 HRESULT IWICBitmapCodecInfo::DoesSupportLossless([Out] BOOL* pfSupportLossless) IWICBitmapCodecInfo::DoesSupportLossless

Retrieves a value indicating whether the codec supports multi frame images.

Receives TRUE if the codec supports multi frame images; otherwise, .

If this method succeeds, it returns . Otherwise, it returns an error code.

ee719685 HRESULT IWICBitmapCodecInfo::DoesSupportMultiframe([Out] BOOL* pfSupportMultiframe) IWICBitmapCodecInfo::DoesSupportMultiframe

Retrieves a value indicating whether the given mime type matches the mime type of the codec.

The mime type to compare.

Receives TRUE if the mime types match; otherwise, .

Note??The Windows provided codecs do not implement this method and return E_NOTIMPL.? ee690083 HRESULT IWICBitmapCodecInfo::MatchesMimeType([In] const wchar_t* wzMimeType,[Out] BOOL* pfMatches) IWICBitmapCodecInfo::MatchesMimeType
Gets the pixel formats the codec supports. Gets the color management version number the codec supports. Gets the name of the device manufacture associated with the codec. Gets a comma delimited list of device models associated with the codec. Gets a comma delimited sequence of mime types associated with the codec. Gets a comma delimited list of the file name extensions associated with the codec. No documentation. ee719890 IWICBitmapCodecProgressNotification IWICBitmapCodecProgressNotification Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Registers a progress notification callback function.

A function reference to the application defined progress notification callback function. See ProgressNotificationCallback for the callback signature.

A reference to component data for the callback method.

The and flags to use for progress notification.

If this method succeeds, it returns . Otherwise, it returns an error code.

Applications can only register a single callback. Subsequent registration calls will replace the previously registered callback. To unregister a callback, pass in null or register a new callback function.

Progress is reported in an increasing order between 0.0 and 1.0. If dwProgressFlags includes , the callback is guaranteed to be called with progress 0.0. If dwProgressFlags includes , the callback is guaranteed to be called with progress 1.0.

increases the frequency in which the callback is called. If an operation is expected to take more than 30 seconds, should be added to dwProgressFlags.

ee690085 HRESULT IWICBitmapCodecProgressNotification::RegisterProgressNotification([In, Optional] __function__stdcall* pfnProgressNotification,[In, Optional] void* pvData,[In] unsigned int dwProgressFlags) IWICBitmapCodecProgressNotification::RegisterProgressNotification

Exposes methods that represent a decoder.

The interface provides access to the decoder's properties such as global thumbnails (if supported), frames, and palette.

There are a number of concrete implemenations of this interface representing each of the standard decoders provided by the platform including bitmap (BMP), Portable Network Graphics (PNG), icon (ICO), Joint Photographic Experts Group (JPEG), Graphics Interchange Format (GIF), Tagged Image File Format (TIFF), and Microsoft?Windows Digital Photo (WDP). The following table includes the class identifier (CLSID) for each native decoder.

CLSID NameCLSID
0x6b462062, 0x7cbf, 0x400d, 0x9f, 0xdb, 0x81, 0x3d, 0xd1, 0xf, 0x27, 0x78
0x389ea17b, 0x5078, 0x4cde, 0xb6, 0xef, 0x25, 0xc1, 0x51, 0x75, 0xc7, 0x51
0xc61bfcdf, 0x2e0f, 0x4aad, 0xa8, 0xd7, 0xe0, 0x6b, 0xaf, 0xeb, 0xcd, 0xfe
0x9456a480, 0xe88b, 0x43ea, 0x9e, 0x73, 0xb, 0x2d, 0x9b, 0x71, 0xb1, 0xca
0x381dda3c, 0x9ce9, 0x4834, 0xa2, 0x3e, 0x1f, 0x98, 0xf8, 0xfc, 0x52, 0xbe
0xb54e85d9, 0xfe23, 0x499f, 0x8b, 0x88, 0x6a, 0xce, 0xa7, 0x13, 0x75, 0x2b
0xa26cec36, 0x234c, 0x4950, 0xae, 0x16, 0xe3, 0x4a, 0xac, 0xe7, 0x1d, 0x0d

?

This interface may be sub-classed to provide support for third party codecs as part of the extensibility model. See the AITCodec Sample CODEC.

Codecs written as TIFF container formats that are not register will decode as a TIFF image. Client applications should check for a zero frame count to determine if the codec is valid.

ee690086 IWICBitmapDecoder IWICBitmapDecoder
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves the image's container format.

ee690095 GetContainerFormat GetContainerFormat HRESULT IWICBitmapDecoder::GetContainerFormat([Out] GUID* pguidContainerFormat)

Retrieves an for the image.

ee690096 GetDecoderInfo GetDecoderInfo HRESULT IWICBitmapDecoder::GetDecoderInfo([Out] IWICBitmapDecoderInfo** ppIDecoderInfo)

Proxy function for the GetMetadataQueryReader method.

ee690103 GetMetadataQueryReader GetMetadataQueryReader HRESULT IWICBitmapDecoder::GetMetadataQueryReader([Out] IWICMetadataQueryReader** ppIMetadataQueryReader)

Retrieves a preview image, if supported.

Not all formats support previews. Only the native Microsoft?Windows Digital Photo (WDP) codec support previews.

ee690104 GetPreview GetPreview HRESULT IWICBitmapDecoder::GetPreview([Out] IWICBitmapSource** ppIBitmapSource)

Proxy function for the GetThumbnail method.

ee690107 GetThumbnail GetThumbnail HRESULT IWICBitmapDecoder::GetThumbnail([Out] IWICBitmapSource** ppIThumbnail)

Retrieves the total number of frames in the image.

ee690099 GetFrameCount GetFrameCount HRESULT IWICBitmapDecoder::GetFrameCount([Out] unsigned int* pCount)

Retrieves the capabilities of the decoder based on the specified stream.

The stream to retrieve the decoder capabilities from.

The of the decoder.

Custom decoder implementations should save the current position of the specified , read whatever information is necessary in order to determine which capabilities it can provide for the supplied stream, and restore the stream position.

ee690109 HRESULT IWICBitmapDecoder::QueryCapability([In, Optional] IStream* pIStream,[Out] WICBitmapDecoderCapabilities* pdwCapability) IWICBitmapDecoder::QueryCapability

Initializes the decoder with the provided stream.

The stream to use for initialization.

The stream contains the encoded pixels which are decoded each time the CopyPixels method on the interface (see GetFrame) is invoked.

The to use for initialization.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690108 HRESULT IWICBitmapDecoder::Initialize([In, Optional] IStream* pIStream,[In] WICDecodeOptions cacheOptions) IWICBitmapDecoder::Initialize

Retrieves the image's container format.

A reference that receives the image's container format .

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690095 HRESULT IWICBitmapDecoder::GetContainerFormat([Out] GUID* pguidContainerFormat) IWICBitmapDecoder::GetContainerFormat

Retrieves an for the image.

No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690096 HRESULT IWICBitmapDecoder::GetDecoderInfo([Out] IWICBitmapDecoderInfo** ppIDecoderInfo) IWICBitmapDecoder::GetDecoderInfo

Proxy function for the CopyPalette method.

No documentation.

If this function succeeds, it returns . Otherwise, it returns an error code.

ee690092 HRESULT IWICBitmapDecoder::CopyPalette([In, Optional] IWICPalette* pIPalette) IWICBitmapDecoder::CopyPalette

Proxy function for the GetMetadataQueryReader method.

No documentation.

If this function succeeds, it returns . Otherwise, it returns an error code.

ee690103 HRESULT IWICBitmapDecoder::GetMetadataQueryReader([Out] IWICMetadataQueryReader** ppIMetadataQueryReader) IWICBitmapDecoder::GetMetadataQueryReader

Retrieves a preview image, if supported.

Receives a reference to the preview bitmap if supported.

If this method succeeds, it returns . Otherwise, it returns an error code.

Not all formats support previews. Only the native Microsoft?Windows Digital Photo (WDP) codec support previews.

ee690104 HRESULT IWICBitmapDecoder::GetPreview([Out] IWICBitmapSource** ppIBitmapSource) IWICBitmapDecoder::GetPreview

Proxy function for the GetColorContexts method.

No documentation. No documentation. No documentation.

If this function succeeds, it returns . Otherwise, it returns an error code.

ee690094 HRESULT IWICBitmapDecoder::GetColorContexts([In] unsigned int cCount,[InOut, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] unsigned int* pcActualCount) IWICBitmapDecoder::GetColorContexts

Proxy function for the GetColorContexts method.

No documentation. No documentation. No documentation.

If this function succeeds, it returns . Otherwise, it returns an error code.

ee690094 HRESULT IWICBitmapDecoder::GetColorContexts([In] unsigned int cCount,[InOut, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] unsigned int* pcActualCount) IWICBitmapDecoder::GetColorContexts

Proxy function for the GetColorContexts method.

No documentation. No documentation. No documentation.

If this function succeeds, it returns . Otherwise, it returns an error code.

ee690094 HRESULT IWICBitmapDecoder::GetColorContexts([In] unsigned int cCount,[InOut, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] unsigned int* pcActualCount) IWICBitmapDecoder::GetColorContexts

Proxy function for the GetThumbnail method.

No documentation.

If this function succeeds, it returns . Otherwise, it returns an error code.

ee690107 HRESULT IWICBitmapDecoder::GetThumbnail([Out] IWICBitmapSource** ppIThumbnail) IWICBitmapDecoder::GetThumbnail

Retrieves the total number of frames in the image.

A reference that receives the total number of frames in the image.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690099 HRESULT IWICBitmapDecoder::GetFrameCount([Out] unsigned int* pCount) IWICBitmapDecoder::GetFrameCount

Retrieves the specified frame of the image.

The particular frame to retrieve.

A reference that receives a reference to the .

ee690098 HRESULT IWICBitmapDecoder::GetFrame([In] unsigned int index,[Out] IWICBitmapFrameDecode** ppIBitmapFrame) IWICBitmapDecoder::GetFrame
Initializes a new instance of the class from a . The bitmap decoder info. HRESULT IWICBitmapDecoderInfo::CreateInstance([Out, Fast] IWICBitmapDecoder** ppIBitmapDecoder) Initializes a new instance of the class from a guid. for a list of default supported decoder. The factory. The container format GUID. HRESULT IWICImagingFactory::CreateDecoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out, Fast] IWICBitmapDecoder** ppIDecoder) Initializes a new instance of the class. The factory. The container format GUID. The GUID vendor ref. HRESULT IWICImagingFactory::CreateDecoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out, Fast] IWICBitmapDecoder** ppIDecoder) Initializes a new instance of the class from a . The factory. The stream ref. The metadata options. HRESULT IWICImagingFactory::CreateDecoderFromStream([In, Optional] IStream* pIStream,[In, Optional] const GUID* pguidVendor,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) Initializes a new instance of the class from a . The factory. The stream ref. The metadata options. HRESULT IWICImagingFactory::CreateDecoderFromStream([In, Optional] IStream* pIStream,[In, Optional] const GUID* pguidVendor,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) Initializes a new instance of the class from a . The factory. The stream ref. The GUID vendor ref. The metadata options. HRESULT IWICImagingFactory::CreateDecoderFromStream([In, Optional] IStream* pIStream,[In, Optional] const GUID* pguidVendor,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) Initializes a new instance of the class from a . The factory. The stream ref. The GUID vendor ref. The metadata options. HRESULT IWICImagingFactory::CreateDecoderFromStream([In, Optional] IStream* pIStream,[In, Optional] const GUID* pguidVendor,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) Initializes a new instance of the class from a file in read mode. The factory. The filename. The metadata options. HRESULT IWICImagingFactory::CreateDecoderFromFilename([In] const wchar_t* wzFilename,[In, Optional] const GUID* pguidVendor,[In] unsigned int dwDesiredAccess,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) Initializes a new instance of the class from a file. The factory. The filename. The desired access. The metadata options. HRESULT IWICImagingFactory::CreateDecoderFromFilename([In] const wchar_t* wzFilename,[In, Optional] const GUID* pguidVendor,[In] unsigned int dwDesiredAccess,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) Initializes a new instance of the class from a file. The factory. The filename. The GUID vendor ref. The desired access. The metadata options. HRESULT IWICImagingFactory::CreateDecoderFromFilename([In] const wchar_t* wzFilename,[In, Optional] const GUID* pguidVendor,[In] unsigned int dwDesiredAccess,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) Initializes a new instance of the class from a file stream. The factory. The filename. The metadata options. HRESULT IWICImagingFactory::CreateDecoderFromFileHandle([In] unsigned int hFile,[In, Optional] const GUID* pguidVendor,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) Initializes a new instance of the class from a file stream. The factory. The filename. The GUID vendor ref. The metadata options. HRESULT IWICImagingFactory::CreateDecoderFromFileHandle([In] unsigned int hFile,[In, Optional] const GUID* pguidVendor,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) Queries the capabilities of the decoder based on the specified stream. The stream to retrieve the decoder capabilities from.. Capabilities of the decoder HRESULT IWICBitmapDecoder::QueryCapability([In, Optional] IStream* pIStream,[Out] WICBitmapDecoderCapabilities* pdwCapability) Initializes the decoder with the provided stream. The stream to use for initialization. The cache options. If the method succeeds, it returns . Otherwise, it throws an exception. HRESULT IWICBitmapDecoder::Initialize([In, Optional] IStream* pIStream,[In] WICDecodeOptions cacheOptions) Get the of the image (if any) The factory for creating new color contexts The color context array, or null When the image format does not support color contexts, is returned. HRESULT IWICBitmapDecoder::GetColorContexts([In] unsigned int cCount,[Out, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] unsigned int* pcActualCount) Get the of the image (if any) null if the decoder does not support color contexts; otherwise an array of zero or more ColorContext objects HRESULT IWICBitmapDecoder::GetColorContexts([In] unsigned int cCount,[Out, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out]

Exposes methods that provide information about a decoder.

ee690087 IWICBitmapDecoderInfo IWICBitmapDecoderInfo
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves the file pattern signatures supported by the decoder.

The array size of the pPatterns array.

Receives a list of objects supported by the decoder.

Receives the number of patterns the decoder supports.

Receives the actual buffer size needed to retrieve all pattern signatures supported by the decoder.

If this method succeeds, it returns . Otherwise, it returns an error code.

To retrieve all pattern signatures, this method should first be called with pPatterns set to null to retrieve the actual buffer size needed through pcbPatternsActual. Once the needed buffer size is known, allocate a buffer of the needed size and call GetPatterns again with the allocated buffer.

ee690089 HRESULT IWICBitmapDecoderInfo::GetPatterns([In] unsigned int cbSizePatterns,[Out, Buffer, Optional] WICBitmapPattern* pPatterns,[Out] unsigned int* pcPatterns,[Out] unsigned int* pcbPatternsActual) IWICBitmapDecoderInfo::GetPatterns

Retrieves a value that indicates whether the codec recognizes the pattern within a specified stream.

The stream to pattern match within.

A reference that receives TRUE if the patterns match; otherwise, .

ee690090 HRESULT IWICBitmapDecoderInfo::MatchesPattern([In, Optional] IStream* pIStream,[Out] BOOL* pfMatches) IWICBitmapDecoderInfo::MatchesPattern

Creates a new instance.

No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690088 HRESULT IWICBitmapDecoderInfo::CreateInstance([Out, Fast] IWICBitmapDecoder** ppIBitmapDecoder) IWICBitmapDecoderInfo::CreateInstance
Gets the file pattern signatures supported by the decoder. HRESULT IWICBitmapDecoderInfo::GetPatterns([In] unsigned int cbSizePatterns,[Out, Buffer, Optional] WICBitmapPattern* pPatterns,[Out] unsigned int* pcPatterns,[Out] unsigned int* pcbPatternsActual) Retrieves a value that indicates whether the codec recognizes the pattern within a specified stream. The stream to pattern match within. true if the patterns match; otherwise, false. HRESULT IWICBitmapDecoderInfo::MatchesPattern([In, Optional] IStream* pIStream,[Out] BOOL* pfMatches)

Defines methods for setting an encoder's properties such as thumbnails, frames, and palettes.

There are a number of concrete implemenations of this interface representing each of the standard encoders provided by the platform including bitmap (BMP), Portable Network Graphics (PNG), Joint Photographic Experts Group (JPEG), Graphics Interchange Format (GIF), Tagged Image File Format (TIFF), and Microsoft?Windows Digital Photo (WDP). The following table includes the class identifier (CLSID) for each native encoder.

CLSID NameCLSID
0x69be8bb4, 0xd66d, 0x47c8, 0x86, 0x5a, 0xed, 0x15, 0x89, 0x43, 0x37, 0x82
0x27949969, 0x876a, 0x41d7, 0x94, 0x47, 0x56, 0x8f, 0x6a, 0x35, 0xa4, 0xdc
0x1a34f5c1, 0x4a5a, 0x46dc, 0xb6, 0x44, 0x1f, 0x45, 0x67, 0xe7, 0xa6, 0x76
0x114f5598, 0xb22, 0x40a0, 0x86, 0xa1, 0xc8, 0x3e, 0xa4, 0x95, 0xad, 0xbd
0x0131be10, 0x2001, 0x4c5f, 0xa9, 0xb0, 0xcc, 0x88, 0xfa, 0xb6, 0x4c, 0xe8
0xac4ce3cb, 0xe1c1, 0x44cd, 0x82, 0x15, 0x5a, 0x16, 0x65, 0x50, 0x9e, 0xc2

?

Additionally this interface may be sub-classed to provide support for third party codecs as part of the extensibility model. See the AITCodec Sample CODEC.

ee690110 IWICBitmapEncoder IWICBitmapEncoder
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves the encoder's container format.

ee690118 GetContainerFormat GetContainerFormat HRESULT IWICBitmapEncoder::GetContainerFormat([Out] GUID* pguidContainerFormat)

Retrieves an for the encoder.

ee690119 GetEncoderInfo GetEncoderInfo HRESULT IWICBitmapEncoder::GetEncoderInfo([Out] IWICBitmapEncoderInfo** ppIEncoderInfo)

Proxy function for the SetPalette method.

ee690127 SetPalette SetPalette HRESULT IWICBitmapEncoder::SetPalette([In, Optional] IWICPalette* pIPalette)

Sets the global thumbnail for the image.

ee690129 SetThumbnail SetThumbnail HRESULT IWICBitmapEncoder::SetThumbnail([In, Optional] IWICBitmapSource* pIThumbnail)

Sets the global preview for the image.

ee690128 SetPreview SetPreview HRESULT IWICBitmapEncoder::SetPreview([In, Optional] IWICBitmapSource* pIPreview)

Proxy function for the GetMetadataQueryWriter method.

ee690122 GetMetadataQueryWriter GetMetadataQueryWriter HRESULT IWICBitmapEncoder::GetMetadataQueryWriter([Out] IWICMetadataQueryWriter** ppIMetadataQueryWriter)

Initializes the encoder with an which tells the encoder where to encode the bits.

No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690123 HRESULT IWICBitmapEncoder::Initialize([In, Optional] IStream* pIStream,[In] WICBitmapEncoderCacheOption cacheOption) IWICBitmapEncoder::Initialize

Retrieves the encoder's container format.

A reference that receives the encoder's container format .

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690118 HRESULT IWICBitmapEncoder::GetContainerFormat([Out] GUID* pguidContainerFormat) IWICBitmapEncoder::GetContainerFormat

Retrieves an for the encoder.

No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690119 HRESULT IWICBitmapEncoder::GetEncoderInfo([Out] IWICBitmapEncoderInfo** ppIEncoderInfo) IWICBitmapEncoder::GetEncoderInfo

Sets the objects for the encoder.

No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690125 HRESULT IWICBitmapEncoder::SetColorContexts([In] unsigned int cCount,[In, Buffer] IWICColorContext** ppIColorContext) IWICBitmapEncoder::SetColorContexts

Sets the objects for the encoder.

No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690125 HRESULT IWICBitmapEncoder::SetColorContexts([In] unsigned int cCount,[In, Buffer] IWICColorContext** ppIColorContext) IWICBitmapEncoder::SetColorContexts

Sets the objects for the encoder.

No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690125 HRESULT IWICBitmapEncoder::SetColorContexts([In] unsigned int cCount,[In, Buffer] IWICColorContext** ppIColorContext) IWICBitmapEncoder::SetColorContexts

Proxy function for the SetPalette method.

No documentation.

If this function succeeds, it returns . Otherwise, it returns an error code.

ee690127 HRESULT IWICBitmapEncoder::SetPalette([In, Optional] IWICPalette* pIPalette) IWICBitmapEncoder::SetPalette

Sets the global thumbnail for the image.

The to set as the global thumbnail.

Returns if successful, or an error value otherwise.

Returns if the feature is not supported by the encoder.

ee690129 HRESULT IWICBitmapEncoder::SetThumbnail([In, Optional] IWICBitmapSource* pIThumbnail) IWICBitmapEncoder::SetThumbnail

Sets the global preview for the image.

The to use as the global preview.

Returns if successful, or an error value otherwise.

Returns if the feature is not supported by the encoder.

ee690128 HRESULT IWICBitmapEncoder::SetPreview([In, Optional] IWICBitmapSource* pIPreview) IWICBitmapEncoder::SetPreview

Creates a new instance.

No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

The parameter ppIEncoderOptions can be used to receive an that can then be used to specify encoder options. This is done by passing a reference to a null reference in ppIEncoderOptions. The returned is initialized with all encoder options that are available for the given format, at their default values. To specify non-default encoding behavior, set the needed encoder options on the and pass it to .

Note??Do not pass in a reference to an initialized . The reference will be overwritten, and the original will not be freed.?

Otherwise, you can pass null in ppIEncoderOptions if you do not intend to specify encoder options.

See Encoding Overview for an example of how to set encoder options.

For formats that support encoding multiple frames (for example, TIFF, JPEG-XR), you can work on only one frame at a time. This means that you must call before you call CreateNewFrame again.

ee690116 HRESULT IWICBitmapEncoder::CreateNewFrame([Out, Fast] IWICBitmapFrameEncode** ppIFrameEncode,[Out, Fast] IPropertyBag2** ppIEncoderOptions) IWICBitmapEncoder::CreateNewFrame

Commits all changes for the image and closes the stream.

If this method succeeds, it returns . Otherwise, it returns an error code.

To finalize an image, both the frame Commit and the encoder Commit must be called. However, only call the encoder Commit method after all frames have been committed.

After the encoder has been committed, it can't be re-initialized or reused with another stream. A new encoder interface must be created, for example, with .

For the encoder Commit to succeed, you must at a minimum call and either or .

specifies all parameters needed to encode the image data. requires that you also call , , and (if the pixel format is indexed).

ee690114 HRESULT IWICBitmapEncoder::Commit() IWICBitmapEncoder::Commit

Proxy function for the GetMetadataQueryWriter method.

No documentation.

If this function succeeds, it returns . Otherwise, it returns an error code.

ee690122 HRESULT IWICBitmapEncoder::GetMetadataQueryWriter([Out] IWICMetadataQueryWriter** ppIMetadataQueryWriter) IWICBitmapEncoder::GetMetadataQueryWriter
Initializes a new instance of the class. The factory. The container format GUID. List from HRESULT IWICImagingFactory::CreateEncoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out] IWICBitmapEncoder** ppIEncoder) Initializes a new instance of the class. The factory. The container format GUID. List from The GUID vendor ref. HRESULT IWICImagingFactory::CreateEncoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out] IWICBitmapEncoder** ppIEncoder) Initializes a new instance of the class. The factory. The container format GUID. List from A stream to use as the output of this bitmap encoder. HRESULT IWICImagingFactory::CreateEncoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out] IWICBitmapEncoder** ppIEncoder) Initializes a new instance of the class. The factory. The container format GUID. List from A stream to use as the output of this bitmap encoder. HRESULT IWICImagingFactory::CreateEncoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out] IWICBitmapEncoder** ppIEncoder) Initializes a new instance of the class. The factory. The container format GUID. List from The GUID vendor ref. A stream to use as the output of this bitmap encoder. HRESULT IWICImagingFactory::CreateEncoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out] IWICBitmapEncoder** ppIEncoder) Initializes a new instance of the class. The factory. The container format GUID. List from The GUID vendor ref. A stream to use as the output of this bitmap encoder. HRESULT IWICImagingFactory::CreateEncoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out] IWICBitmapEncoder** ppIEncoder) Initializes the encoder with the provided stream. The stream to use for initialization. If the method succeeds, it returns . Otherwise, it throws an exception. HRESULT IWICBitmapEncoder::Initialize([In, Optional] IStream* pIStream,[In] WICBitmapEncoderCacheOption cacheOption) Initializes the encoder with the provided stream. The stream to use for initialization. If the method succeeds, it returns . Otherwise, it throws an exception. HRESULT IWICBitmapEncoder::Initialize([In, Optional] IStream* pIStream,[In] WICBitmapEncoderCacheOption cacheOption) Sets the objects for the encoder. The color contexts to set for the encoder. If the method succeeds, it returns . Otherwise, it throws an exception. HRESULT IWICBitmapEncoder::SetColorContexts([In] unsigned int cCount,[In, Buffer] IWICColorContext** ppIColorContext)

Exposes methods that provide information about an encoder.

ee690112 IWICBitmapEncoderInfo IWICBitmapEncoderInfo
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Creates a new instance.

No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690113 HRESULT IWICBitmapEncoderInfo::CreateInstance([Out] IWICBitmapEncoder** ppIBitmapEncoder) IWICBitmapEncoderInfo::CreateInstance

Exposes methods that produce a flipped (horizontal or vertical) and/or rotated (by 90 degree increments) bitmap source. Rotations are done before the flip.

IWICBitmapFipRotator requests data on a per-pixel basis, while WIC codecs provide data on a per-scanline basis. This causes the fliprotator object to exhibit n? behavior if there is no buffering. This occures because each pixel in the transformed image requires an entire scanline to be decoded in the file. It is recommended that you buffer the image using , or flip/rotate the image using Direct2D.

ee690131 IWICBitmapFlipRotator IWICBitmapFlipRotator
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Initializes the bitmap flip rotator with the provided parameters.

The input bitmap source.

The to flip or rotate the image.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690132 HRESULT IWICBitmapFlipRotator::Initialize([In, Optional] IWICBitmapSource* pISource,[In] WICBitmapTransformOptions options) IWICBitmapFlipRotator::Initialize
Initializes a new instance of the class. The factory.

Defines methods for decoding individual image frames of an encoded file.

ee690134 IWICBitmapFrameDecode IWICBitmapFrameDecode
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves a metadata query reader for the frame.

For image formats with one frame (JPG, PNG, JPEG-XR), the frame-level query reader of the first frame is used to access all image metadata, and the decoder-level query reader isn?t used. For formats with more than one frame (GIF, TIFF), the frame-level query reader for a given frame is used to access metadata specific to that frame, and in the case of GIF a decoder-level metadata reader will be present. If the decoder doesn?t support metadata (BMP, ICO), this will return .

ee690137 GetMetadataQueryReader GetMetadataQueryReader HRESULT IWICBitmapFrameDecode::GetMetadataQueryReader([Out] IWICMetadataQueryReader** ppIMetadataQueryReader)

Retrieves a small preview of the frame, if supported by the codec.

Not all formats support thumbnails. Joint Photographic Experts Group (JPEG), Tagged Image File Format (TIFF), and Microsoft?Windows Digital Photo (WDP) support thumbnails.

ee690139 GetThumbnail GetThumbnail HRESULT IWICBitmapFrameDecode::GetThumbnail([Out] IWICBitmapSource** ppIThumbnail)

Retrieves a metadata query reader for the frame.

When this method returns, contains a reference to the frame's metadata query reader.

If this method succeeds, it returns . Otherwise, it returns an error code.

For image formats with one frame (JPG, PNG, JPEG-XR), the frame-level query reader of the first frame is used to access all image metadata, and the decoder-level query reader isn?t used. For formats with more than one frame (GIF, TIFF), the frame-level query reader for a given frame is used to access metadata specific to that frame, and in the case of GIF a decoder-level metadata reader will be present. If the decoder doesn?t support metadata (BMP, ICO), this will return .

ee690137 HRESULT IWICBitmapFrameDecode::GetMetadataQueryReader([Out] IWICMetadataQueryReader** ppIMetadataQueryReader) IWICBitmapFrameDecode::GetMetadataQueryReader

Retrieves the associated with the image frame.

No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

If null is passed for ppIColorContexts, and 0 is passed for cCount, this method will return the total number of color contexts in the image in pcActualCount.

The ppIColorContexts array must be filled with valid data: each * in the array must have been created using .

ee690135 HRESULT IWICBitmapFrameDecode::GetColorContexts([In] unsigned int cCount,[InOut, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] unsigned int* pcActualCount) IWICBitmapFrameDecode::GetColorContexts

Retrieves the associated with the image frame.

No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

If null is passed for ppIColorContexts, and 0 is passed for cCount, this method will return the total number of color contexts in the image in pcActualCount.

The ppIColorContexts array must be filled with valid data: each * in the array must have been created using .

ee690135 HRESULT IWICBitmapFrameDecode::GetColorContexts([In] unsigned int cCount,[InOut, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] unsigned int* pcActualCount) IWICBitmapFrameDecode::GetColorContexts

Retrieves the associated with the image frame.

No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

If null is passed for ppIColorContexts, and 0 is passed for cCount, this method will return the total number of color contexts in the image in pcActualCount.

The ppIColorContexts array must be filled with valid data: each * in the array must have been created using .

ee690135 HRESULT IWICBitmapFrameDecode::GetColorContexts([In] unsigned int cCount,[InOut, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] unsigned int* pcActualCount) IWICBitmapFrameDecode::GetColorContexts

Retrieves a small preview of the frame, if supported by the codec.

A reference that receives a reference to the of the thumbnail.

If this method succeeds, it returns . Otherwise, it returns an error code.

Not all formats support thumbnails. Joint Photographic Experts Group (JPEG), Tagged Image File Format (TIFF), and Microsoft?Windows Digital Photo (WDP) support thumbnails.

ee690139 HRESULT IWICBitmapFrameDecode::GetThumbnail([Out] IWICBitmapSource** ppIThumbnail) IWICBitmapFrameDecode::GetThumbnail
Get the of the image (if any) The factory for creating new color contexts The color context array, or null When the image format does not support color contexts, is returned. HRESULT IWICBitmapDecoder::GetColorContexts([In] unsigned int cCount,[Out, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out] unsigned int* pcActualCount) Get the of the image (if any) null if the decoder does not support color contexts; otherwise an array of zero or more ColorContext objects HRESULT IWICBitmapDecoder::GetColorContexts([In] unsigned int cCount,[Out, Buffer, Optional] IWICColorContext** ppIColorContexts,[Out]

Represents an encoder's individual image frames.

ee690141 IWICBitmapFrameEncode IWICBitmapFrameEncode
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Sets the for indexed pixel formats.

This method doesn't fail if called on a frame whose pixel format is set to a non-indexed pixel format. If the target pixel format is a non-indexed format, the palette will be ignored.

If you already called to set a global palette, this method overrides that palette for the current frame.

The palette must be specified before your first call to WritePixels/WriteSource. Doing so will cause WriteSource to use the specified palette when converting the source image to the encoder pixel format. If no palette is specified, a palette will be generated on the first call to WriteSource.

ee690150 SetPalette SetPalette HRESULT IWICBitmapFrameEncode::SetPalette([In, Optional] IWICPalette* pIPalette)

Proxy function for the SetThumbnail method.

ee690157 SetThumbnail SetThumbnail HRESULT IWICBitmapFrameEncode::SetThumbnail([In, Optional] IWICBitmapSource* pIThumbnail)

Gets the metadata query writer for the encoder frame.

If you are setting metadata on the frame, you must do this before you use or to write any image pixels to the frame

ee690144 GetMetadataQueryWriter GetMetadataQueryWriter HRESULT IWICBitmapFrameEncode::GetMetadataQueryWriter([Out] IWICMetadataQueryWriter** ppIMetadataQueryWriter)

Initializes the frame encoder using the given properties.

The set of properties to use for initialization.

If this method succeeds, it returns . Otherwise, it returns an error code.

If you don't want any encoding options, pass null for pIEncoderOptions. Otherwise, pass the that was provided by with updated values.

For a complete list of encoding options supported by the Windows-provided codecs, see Native WIC Codecs.

ee690146 HRESULT IWICBitmapFrameEncode::Initialize([In, Optional] IPropertyBag2* pIEncoderOptions) IWICBitmapFrameEncode::Initialize

Sets the output image dimensions for the frame.

The width of the output image.

The height of the output image.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690154 HRESULT IWICBitmapFrameEncode::SetSize([In] unsigned int uiWidth,[In] unsigned int uiHeight) IWICBitmapFrameEncode::SetSize

Sets the physical resolution of the output image.

The horizontal resolution value.

The vertical resolution value.

If this method succeeds, it returns . Otherwise, it returns an error code.

Windows Imaging Component (WIC) doesn't perform any special processing as a result of DPI resolution values. For example, data returned from isn't scaled by the DPI. The app must handle DPI resolution.

ee690152 HRESULT IWICBitmapFrameEncode::SetResolution([In] double dpiX,[In] double dpiY) IWICBitmapFrameEncode::SetResolution

Requests that the encoder use the specified pixel format.

On input, the requested pixel format . On output, the closest pixel format supported by the encoder; this may be different than the requested format. For a list of pixel format GUIDs, see Native Pixel Formats.

Possible return values include the following.

Return codeDescription

Success.

The method was not called.

?

The encoder might not support the requested pixel format. If not, SetPixelFormat returns the closest match in the memory block that pPixelFormat points to. If the returned pixel format doesn't match the requested format, you must use an object to convert the pixel data.

ee690151 HRESULT IWICBitmapFrameEncode::SetPixelFormat([InOut] GUID* pPixelFormat) IWICBitmapFrameEncode::SetPixelFormat

Proxy function for the SetColorContexts method.

No documentation. No documentation.

If this function succeeds, it returns . Otherwise, it returns an error code.

ee690149 HRESULT IWICBitmapFrameEncode::SetColorContexts([In] unsigned int cCount,[In, Buffer] IWICColorContext** ppIColorContext) IWICBitmapFrameEncode::SetColorContexts

Proxy function for the SetColorContexts method.

No documentation. No documentation.

If this function succeeds, it returns . Otherwise, it returns an error code.

ee690149 HRESULT IWICBitmapFrameEncode::SetColorContexts([In] unsigned int cCount,[In, Buffer] IWICColorContext** ppIColorContext) IWICBitmapFrameEncode::SetColorContexts

Proxy function for the SetColorContexts method.

No documentation. No documentation.

If this function succeeds, it returns . Otherwise, it returns an error code.

ee690149 HRESULT IWICBitmapFrameEncode::SetColorContexts([In] unsigned int cCount,[In, Buffer] IWICColorContext** ppIColorContext) IWICBitmapFrameEncode::SetColorContexts

Sets the for indexed pixel formats.

No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

This method doesn't fail if called on a frame whose pixel format is set to a non-indexed pixel format. If the target pixel format is a non-indexed format, the palette will be ignored.

If you already called to set a global palette, this method overrides that palette for the current frame.

The palette must be specified before your first call to WritePixels/WriteSource. Doing so will cause WriteSource to use the specified palette when converting the source image to the encoder pixel format. If no palette is specified, a palette will be generated on the first call to WriteSource.

ee690150 HRESULT IWICBitmapFrameEncode::SetPalette([In, Optional] IWICPalette* pIPalette) IWICBitmapFrameEncode::SetPalette

Proxy function for the SetThumbnail method.

No documentation.

If this function succeeds, it returns . Otherwise, it returns an error code.

ee690157 HRESULT IWICBitmapFrameEncode::SetThumbnail([In, Optional] IWICBitmapSource* pIThumbnail) IWICBitmapFrameEncode::SetThumbnail

Copies scan-line data from a caller-supplied buffer to the object.

No documentation. No documentation. No documentation. No documentation.

Possible return values include the following.

Return codeDescription

Success.

The value of lineCount is larger than the number of scan lines in the image.

?

Successive WritePixels calls are assumed to be sequential scan-line access in the output image.

ee690158 HRESULT IWICBitmapFrameEncode::WritePixels([In] unsigned int lineCount,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In, Buffer] void* pbPixels) IWICBitmapFrameEncode::WritePixels

Encodes a bitmap source.

The bitmap source to encode.

The size rectangle of the bitmap source.

If this method succeeds, it returns . Otherwise, it returns an error code.

If SetSize is not called prior to calling WriteSource, the size given in prc is used if not null. Otherwise, the size of the given in pIBitmapSource is used.

If SetPixelFormat is not called prior to calling WriteSource, the pixel format of the given in pIBitmapSource is used.

If SetResolution is not called prior to calling WriteSource, the pixel format of pIBitmapSource is used.

If SetPalette is not called prior to calling WriteSource, the target pixel format is indexed, and the pixel format of pIBitmapSource matches the encoder frame's pixel format, then the pIBitmapSource pixel format is used.

When encoding a GIF image, if the global palette is set and the frame level palette is not set directly by the user or by a custom independent software vendor (ISV) GIF codec, WriteSource will use the global palette to encode the frame even when pIBitmapSource has a frame level palette.

Starting with Windows?Vista, repeated WriteSource calls can be made as long as the total accumulated source rect height is the same as set through SetSize.

Starting with Windows?8.1, the source rect must be at least the dimensions set through SetSize. If the source rect width exceeds the SetSize width, extra pixels on the right side are ignored. If the source rect height exceeds the remaining unfilled height, extra scan lines on the bottom are ignored.

ee690159 HRESULT IWICBitmapFrameEncode::WriteSource([In, Optional] IWICBitmapSource* pIBitmapSource,[In] void* prc) IWICBitmapFrameEncode::WriteSource

Commits the frame to the image.

If this method succeeds, it returns . Otherwise, it returns an error code.

After the frame Commit has been called, you can't use or reinitialize the object and any objects created from it.

To finalize the image, both the frame Commit and the encoder Commit must be called. However, only call the encoder Commit method after all frames have been committed.

ee690142 HRESULT IWICBitmapFrameEncode::Commit() IWICBitmapFrameEncode::Commit

Gets the metadata query writer for the encoder frame.

When this method returns, contains a reference to metadata query writer for the encoder frame.

If this method succeeds, it returns . Otherwise, it returns an error code.

If you are setting metadata on the frame, you must do this before you use or to write any image pixels to the frame

ee690144 HRESULT IWICBitmapFrameEncode::GetMetadataQueryWriter([Out] IWICMetadataQueryWriter** ppIMetadataQueryWriter) IWICBitmapFrameEncode::GetMetadataQueryWriter
Initializes a new instance of the class. The encoder. HRESULT IWICBitmapEncoder::CreateNewFrame([Out] IWICBitmapFrameEncode** ppIFrameEncode,[Out] IPropertyBag2** ppIEncoderOptions) Gets the properties to setup before . Initializes this instance. HRESULT IWICBitmapFrameEncode::Initialize([In, Optional] IPropertyBag2* pIEncoderOptions) Sets the objects for this frame encoder. The color contexts to set for the encoder. If the method succeeds, it returns . Otherwise, it throws an exception. HRESULT IWICBitmapFrameEncode::SetColorContexts([In] unsigned int cCount,[In, Buffer] IWICColorContext** ppIColorContext)

Encodes the frame scanlines.

The number of lines to encode.

A data buffer containing the pixels to copy from. Total size in bytes of pixels to write. If == 0, size is calculated with lineCount * rowStride.

Successive WritePixels calls are assumed to be sequential scanline access in the output image.

ee690158 HRESULT IWICBitmapFrameEncode::WritePixels([In] unsigned int lineCount,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In, Buffer] void* pbPixels) IWICBitmapFrameEncode::WritePixels

Encodes the frame scanlines.

The number of lines to encode.

A data buffer containing the pixels to copy from. The stride of one row. Total size in bytes of pixels to write. If == 0, size is calculated with lineCount * rowStride.

Successive WritePixels calls are assumed to be sequential scanline access in the output image.

ee690158 HRESULT IWICBitmapFrameEncode::WritePixels([In] unsigned int lineCount,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In, Buffer] void* pbPixels) IWICBitmapFrameEncode::WritePixels

Encodes the frame scanlines.

The number of lines to encode.

The stride of the image pixels.

A reference to the pixel buffer.

Successive WritePixels calls are assumed to be sequential scanline access in the output image.

ee690158 HRESULT IWICBitmapFrameEncode::WritePixels([In] unsigned int lineCount,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In, Buffer] void* pbPixels) IWICBitmapFrameEncode::WritePixels

Encodes a bitmap source.

The bitmap source to encode.

If SetSize is not called prior to calling WriteSource, the size given in prc is used if not null. Otherwise, the size of the given in pIBitmapSource is used.

If SetPixelFormat is not called prior to calling WriteSource, the pixel format of the given in pIBitmapSource is used.

If SetResolution is not called prior to calling WriteSource, the pixel format of pIBitmapSource is used.

If SetPalette is not called prior to calling WriteSource, the target pixel format is indexed, and the pixel format of pIBitmapSource matches the encoder frame's pixel format, then the pIBitmapSource pixel format is used.

When encoding a GIF image, if the global palette is set and the frame level palette is not set directly by the user or by a custom independent software vendor (ISV) GIF codec, WriteSource will use the global palette to encode the frame even when pIBitmapSource has a frame level palette.

Windows Vista:The source rect width must match the width set through SetSize. Repeated WriteSource calls can be made as long as the total accumulated source rect height is the same as set through SetSize.

ee690159 HRESULT IWICBitmapFrameEncode::WriteSource([In, Optional] IWICBitmapSource* pIBitmapSource,[In, Optional] WICRect* prc) IWICBitmapFrameEncode::WriteSource

Encodes a bitmap source.

The bitmap source to encode.

The size rectangle of the bitmap source.

If SetSize is not called prior to calling WriteSource, the size given in prc is used if not null. Otherwise, the size of the given in pIBitmapSource is used.

If SetPixelFormat is not called prior to calling WriteSource, the pixel format of the given in pIBitmapSource is used.

If SetResolution is not called prior to calling WriteSource, the pixel format of pIBitmapSource is used.

If SetPalette is not called prior to calling WriteSource, the target pixel format is indexed, and the pixel format of pIBitmapSource matches the encoder frame's pixel format, then the pIBitmapSource pixel format is used.

When encoding a GIF image, if the global palette is set and the frame level palette is not set directly by the user or by a custom independent software vendor (ISV) GIF codec, WriteSource will use the global palette to encode the frame even when pIBitmapSource has a frame level palette.

Windows Vista:The source rect width must match the width set through SetSize. Repeated WriteSource calls can be made as long as the total accumulated source rect height is the same as set through SetSize.

ee690159 HRESULT IWICBitmapFrameEncode::WriteSource([In, Optional] IWICBitmapSource* pIBitmapSource,[In, Optional] WICRect* prc) IWICBitmapFrameEncode::WriteSource

Exposes methods that support the Lock method.

The bitmap lock is simply an abstraction for a rectangular memory window into the bitmap. For the simplest case, a system memory bitmap, this is simply a reference to the top left corner of the rectangle and a stride value.

To release the exclusive lock set by Lock method and the associated object, call IUnknown::Release on the object.

ee690161 IWICBitmapLock IWICBitmapLock
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Provides access to the stride value for the memory.

Note the stride value is specific to the , not the bitmap. For example, two consecutive locks on the same rectangle of a bitmap may return different references and stride values, depending on internal implementation.

ee690166 GetStride GetStride HRESULT IWICBitmapLock::GetStride([Out] unsigned int* pcbStride)

Gets the pixel format of for the locked area of pixels. This can be used to compute the number of bytes-per-pixel in the locked area.

ee690164 GetPixelFormat GetPixelFormat HRESULT IWICBitmapLock::GetPixelFormat([Out] GUID* pPixelFormat)

Retrieves the width and height, in pixels, of the locked rectangle.

A reference that receives the width of the locked rectangle.

A reference that receives the height of the locked rectangle.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690165 HRESULT IWICBitmapLock::GetSize([Out] unsigned int* puiWidth,[Out] unsigned int* puiHeight) IWICBitmapLock::GetSize

Provides access to the stride value for the memory.

If this method succeeds, it returns . Otherwise, it returns an error code.

Note the stride value is specific to the , not the bitmap. For example, two consecutive locks on the same rectangle of a bitmap may return different references and stride values, depending on internal implementation.

ee690166 HRESULT IWICBitmapLock::GetStride([Out] unsigned int* pcbStride) IWICBitmapLock::GetStride

Gets the reference to the top left pixel in the locked rectangle.

A reference that receives the size of the buffer.

A reference that receives a reference to the top left pixel in the locked rectangle.

The reference provided by this method should not be used outside of the lifetime of the lock itself.

GetDataPointer is not available in multi-threaded apartment applications.

ee690162 HRESULT IWICBitmapLock::GetDataPointer([Out] unsigned int* pcbBufferSize,[Out] void** ppbData) IWICBitmapLock::GetDataPointer

Gets the pixel format of for the locked area of pixels. This can be used to compute the number of bytes-per-pixel in the locked area.

A reference that receives the pixel format of the locked area.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690164 HRESULT IWICBitmapLock::GetPixelFormat([Out] GUID* pPixelFormat) IWICBitmapLock::GetPixelFormat
Gets the size. HRESULT IWICBitmapLock::GetSize([Out] unsigned int* puiWidth,[Out] unsigned int* puiHeight) Gets a pointer to the data.

Represents a resized version of the input bitmap using a resampling or filtering algorithm.

Images can be scaled to larger sizes; however, even with sophisticated scaling algorithms, there is only so much information in the image and artifacts tend to worsen the more you scale up.

The scaler will reapply the resampling algorithm every time CopyPixels is called. If the scaled image is to be animated, the scaled image should be created once and cached in a new bitmap, after which the may be released. In this way the scaling algorithm - which may be computationally expensive relative to drawing - is performed only once and the result displayed many times.

The scaler is optimized to use the minimum amount of memory required to scale the image correctly. The scaler may be used to produce parts of the image incrementally (banding) by calling CopyPixels with different rectangles representing the output bands of the image. Resampling typically requires overlapping rectangles from the source image and thus may need to request the same pixels from the source bitmap multiple times. Requesting scanlines out-of-order from some image decoders can have a significant performance penalty. Because of this reason, the scaler is optimized to handle consecutive horizontal bands of scanlines (rectangle width equal to the bitmap width). In this case the accumulator from the previous vertically adjacent rectangle is re-used to avoid duplicate scanline requests from the source. This implies that banded output from the scaler may have better performance if the bands are requested sequentially. Of course if the scaler is simply used to produce a single rectangle output, this concern is eliminated because the scaler will internally request scanlines in the correct order.

ee690168 IWICBitmapScaler IWICBitmapScaler
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Initializes the bitmap scaler with the provided parameters.

The input bitmap source.

The destination width.

The desination height.

The to use when scaling.

If this method succeeds, it returns . Otherwise, it returns an error code.

can't be initialized multiple times. For example, when scaling every frame in a multi-frame image, a new must be created and initialized for each frame.

ee690169 HRESULT IWICBitmapScaler::Initialize([In, Optional] IWICBitmapSource* pISource,[In] unsigned int uiWidth,[In] unsigned int uiHeight,[In] WICBitmapInterpolationMode mode) IWICBitmapScaler::Initialize
Initializes a new instance of the class. The factory.

Exposes methods that refers to a source from which pixels are retrieved, but cannot be written back to.

This interface provides a common way of accessing and linking together bitmaps, decoders, format converters, and scalers. Components that implement this interface can be connected together in a graph to pull imaging data through.

This interface defines only the notion of readability or being able to produce pixels. Modifying or writing to a bitmap is considered to be a specialization specific to bitmaps which have storage and is defined in the descendant interface .

ee690171 IWICBitmapSource IWICBitmapSource
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves the pixel format of the bitmap source..

The pixel format returned by this method is not necessarily the pixel format the image is stored as. The codec may perform a format conversion from the storage pixel format to an output pixel format.

ee690181 GetPixelFormat GetPixelFormat HRESULT IWICBitmapSource::GetPixelFormat([Out] GUID* pPixelFormat)

Retrieves the pixel width and height of the bitmap.

A reference that receives the pixel width of the bitmap.

A reference that receives the pixel height of the bitmap

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690185 HRESULT IWICBitmapSource::GetSize([Out] unsigned int* puiWidth,[Out] unsigned int* puiHeight) IWICBitmapSource::GetSize

Retrieves the pixel format of the bitmap source..

Receives the pixel format the bitmap is stored in. For a list of available pixel formats, see the Native Pixel Formats topic.

If this method succeeds, it returns . Otherwise, it returns an error code.

The pixel format returned by this method is not necessarily the pixel format the image is stored as. The codec may perform a format conversion from the storage pixel format to an output pixel format.

ee690181 HRESULT IWICBitmapSource::GetPixelFormat([Out] GUID* pPixelFormat) IWICBitmapSource::GetPixelFormat

Retrieves the sampling rate between pixels and physical world measurements.

A reference that receives the x-axis dpi resolution.

A reference that receives the y-axis dpi resolution.

If this method succeeds, it returns . Otherwise, it returns an error code.

Some formats, such as GIF and ICO, do not have full DPI support. For GIF, this method calculates the DPI values from the aspect ratio, using a base DPI of (96.0, 96.0). The ICO format does not support DPI at all, and the method always returns (96.0,96.0) for ICO images.

Additionally, WIC itself does not transform images based on the DPI values in an image. It is up to the caller to transform an image based on the resolution returned.

ee690183 HRESULT IWICBitmapSource::GetResolution([Out] double* pDpiX,[Out] double* pDpiY) IWICBitmapSource::GetResolution

Retrieves the color table for indexed pixel formats.

An . A palette can be created using the CreatePalette method.

Returns one of the following values.

Return codeDescription

The palette was unavailable.

The palette was successfully copied.

?

If the is an , the function may return the image's global palette if a frame-level palette is not available. The global palette may also be retrieved using the CopyPalette method.

ee690177 HRESULT IWICBitmapSource::CopyPalette([In, Optional] IWICPalette* pIPalette) IWICBitmapSource::CopyPalette

Instructs the object to produce pixels.

The rectangle to copy. A null value specifies the entire bitmap.

The stride of the bitmap

The size of the buffer.

A reference to the buffer.

If this method succeeds, it returns . Otherwise, it returns an error code.

CopyPixels is one of the two main image processing routines (the other being Lock) triggering the actual processing. It instructs the object to produce pixels according to its algorithm - this may involve decoding a portion of a JPEG stored on disk, copying a block of memory, or even analytically computing a complex gradient. The algorithm is completely dependent on the object implementing the interface.

The caller can restrict the operation to a rectangle of interest (ROI) using the prc parameter. The ROI sub-rectangle must be fully contained in the bounds of the bitmap. Specifying a null ROI implies that the whole bitmap should be returned.

The caller controls the memory management and must provide an output buffer (pbBuffer) for the results of the copy along with the buffer's bounds (cbBufferSize). The cbStride parameter defines the count of bytes between two vertically adjacent pixels in the output buffer. The caller must ensure that there is sufficient buffer to complete the call based on the width, height and pixel format of the bitmap and the sub-rectangle provided to the copy method.

If the caller needs to perform numerous copies of an expensive such as a JPEG, it is recommended to create an in-memory first.

ee690179 HRESULT IWICBitmapSource::CopyPixels([In] const void* prc,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) IWICBitmapSource::CopyPixels

Retrieves the pixel width and height of the bitmap.

HRESULT IWICBitmapSource::GetSize([Out] unsigned int* puiWidth,[Out] unsigned int* puiHeight) ee690185 HRESULT IWICBitmapSource::GetSize([Out] unsigned int* puiWidth,[Out] unsigned int* puiHeight) IWICBitmapSource::GetSize

Instructs the object to produce pixels.

The rectangle to copy. A null value specifies the entire bitmap.

The stride of the bitmap

A reference to the buffer.

CopyPixels is one of the two main image processing routines (the other being Lock) triggering the actual processing. It instructs the object to produce pixels according to its algorithm - this may involve decoding a portion of a JPEG stored on disk, copying a block of memory, or even analytically computing a complex gradient. The algorithm is completely dependent on the object implementing the interface.

The caller can restrict the operation to a rectangle of interest (ROI) using the prc parameter. The ROI sub-rectangle must be fully contained in the bounds of the bitmap. Specifying a null ROI implies that the whole bitmap should be returned.

The caller controls the memory management and must provide an output buffer (pbBuffer) for the results of the copy along with the buffer's bounds (cbBufferSize). The cbStride parameter defines the count of bytes between two vertically adjacent pixels in the output buffer. The caller must ensure that there is sufficient buffer to complete the call based on the width, height and pixel format of the bitmap and the sub-rectangle provided to the copy method.

If the caller needs to perform numerous copies of an expensive such as a JPEG, it is recommended to create an in-memory first.

Codec Developer Remarks

The callee must only write to the first (prc->Width*bitsperpixel+7)/8 bytes of each line of the output buffer (in this case, a line is a consecutive string of cbStride bytes).

ee690179 HRESULT IWICBitmapSource::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) IWICBitmapSource::CopyPixels

Instructs the object to produce pixels.

The stride of the bitmap

A reference to the buffer.

CopyPixels is one of the two main image processing routines (the other being Lock) triggering the actual processing. It instructs the object to produce pixels according to its algorithm - this may involve decoding a portion of a JPEG stored on disk, copying a block of memory, or even analytically computing a complex gradient. The algorithm is completely dependent on the object implementing the interface.

The caller can restrict the operation to a rectangle of interest (ROI) using the prc parameter. The ROI sub-rectangle must be fully contained in the bounds of the bitmap. Specifying a null ROI implies that the whole bitmap should be returned.

The caller controls the memory management and must provide an output buffer (pbBuffer) for the results of the copy along with the buffer's bounds (cbBufferSize). The cbStride parameter defines the count of bytes between two vertically adjacent pixels in the output buffer. The caller must ensure that there is sufficient buffer to complete the call based on the width, height and pixel format of the bitmap and the sub-rectangle provided to the copy method.

If the caller needs to perform numerous copies of an expensive such as a JPEG, it is recommended to create an in-memory first.

Codec Developer Remarks

The callee must only write to the first (prc->Width*bitsperpixel+7)/8 bytes of each line of the output buffer (in this case, a line is a consecutive string of cbStride bytes).

ee690179 HRESULT IWICBitmapSource::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) IWICBitmapSource::CopyPixels

Instructs the object to produce pixels.

The stride of the bitmap

A reference to the buffer.

Size of the buffer in bytes.

CopyPixels is one of the two main image processing routines (the other being Lock) triggering the actual processing. It instructs the object to produce pixels according to its algorithm - this may involve decoding a portion of a JPEG stored on disk, copying a block of memory, or even analytically computing a complex gradient. The algorithm is completely dependent on the object implementing the interface.

The caller can restrict the operation to a rectangle of interest (ROI) using the prc parameter. The ROI sub-rectangle must be fully contained in the bounds of the bitmap. Specifying a null ROI implies that the whole bitmap should be returned.

The caller controls the memory management and must provide an output buffer (pbBuffer) for the results of the copy along with the buffer's bounds (cbBufferSize). The cbStride parameter defines the count of bytes between two vertically adjacent pixels in the output buffer. The caller must ensure that there is sufficient buffer to complete the call based on the width, height and pixel format of the bitmap and the sub-rectangle provided to the copy method.

If the caller needs to perform numerous copies of an expensive such as a JPEG, it is recommended to create an in-memory first.

Codec Developer Remarks

The callee must only write to the first (prc->Width*bitsperpixel+7)/8 bytes of each line of the output buffer (in this case, a line is a consecutive string of cbStride bytes).

ee690179 HRESULT IWICBitmapSource::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) IWICBitmapSource::CopyPixels

Instructs the object to produce pixels.

Type of a pixel. This parameter must exactly match a pixel like using for a 32bit RGBA color or for a 64bits for a RGBA 4 floats color.

The rectangle to copy. A null value specifies the entire bitmap.

The destination array. The size of the array must be sizeof(pixel) * rectangle.Width * rectangle.Height

If this method succeeds, it returns . Otherwise, it returns an error code.

output.Length must be equal to Width * Height ee690179 HRESULT IWICBitmapSource::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) IWICBitmapSource::CopyPixels

CopyPixels is one of the two main image processing routines (the other being Lock) triggering the actual processing. It instructs the object to produce pixels according to its algorithm - this may involve decoding a portion of a JPEG stored on disk, copying a block of memory, or even analytically computing a complex gradient. The algorithm is completely dependent on the object implementing the interface.

The caller can restrict the operation to a rectangle of interest (ROI) using the prc parameter. The ROI sub-rectangle must be fully contained in the bounds of the bitmap. Specifying a null ROI implies that the whole bitmap should be returned.

The caller controls the memory management and must provide an output buffer (pbBuffer) for the results of the copy along with the buffer's bounds (cbBufferSize). The cbStride parameter defines the count of bytes between two vertically adjacent pixels in the output buffer. The caller must ensure that there is sufficient buffer to complete the call based on the width, height and pixel format of the bitmap and the sub-rectangle provided to the copy method.

If the caller needs to perform numerous copies of an expensive such as a JPEG, it is recommended to create an in-memory first.

Codec Developer Remarks

The callee must only write to the first (prc->Width*bitsperpixel+7)/8 bytes of each line of the output buffer (in this case, a line is a consecutive string of cbStride bytes).

Instructs the object to produce pixels.

Type of a pixel. This parameter must exactly match a pixel like using for a 32bit RGBA color or for a 64bits for a RGBA 4 floats color. The destination array. The size of the array must be sizeof(pixel) * Width * Height

If this method succeeds, it returns . Otherwise, it returns an error code.

CopyPixels is one of the two main image processing routines (the other being Lock) triggering the actual processing. It instructs the object to produce pixels according to its algorithm - this may involve decoding a portion of a JPEG stored on disk, copying a block of memory, or even analytically computing a complex gradient. The algorithm is completely dependent on the object implementing the interface.

The caller can restrict the operation to a rectangle of interest (ROI) using the prc parameter. The ROI sub-rectangle must be fully contained in the bounds of the bitmap. Specifying a null ROI implies that the whole bitmap should be returned.

The caller controls the memory management and must provide an output buffer (pbBuffer) for the results of the copy along with the buffer's bounds (cbBufferSize). The cbStride parameter defines the count of bytes between two vertically adjacent pixels in the output buffer. The caller must ensure that there is sufficient buffer to complete the call based on the width, height and pixel format of the bitmap and the sub-rectangle provided to the copy method.

If the caller needs to perform numerous copies of an expensive such as a JPEG, it is recommended to create an in-memory first.

Codec Developer Remarks

The callee must only write to the first (prc->Width*bitsperpixel+7)/8 bytes of each line of the output buffer (in this case, a line is a consecutive string of cbStride bytes).

ee690179 HRESULT IWICBitmapSource::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) IWICBitmapSource::CopyPixels

Instructs the object to produce pixels.

The destination array. The size of the array must be sizeof(pixel) * Width * Height The stride (number of bytes per row).

If this method succeeds, it returns . Otherwise, it returns an error code.

output.Length must be equal to Width * Height ee690179 HRESULT IWICBitmapSource::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) IWICBitmapSource::CopyPixels

CopyPixels is one of the two main image processing routines (the other being Lock) triggering the actual processing. It instructs the object to produce pixels according to its algorithm - this may involve decoding a portion of a JPEG stored on disk, copying a block of memory, or even analytically computing a complex gradient. The algorithm is completely dependent on the object implementing the interface.

The caller can restrict the operation to a rectangle of interest (ROI) using the prc parameter. The ROI sub-rectangle must be fully contained in the bounds of the bitmap. Specifying a null ROI implies that the whole bitmap should be returned.

The caller controls the memory management and must provide an output buffer (pbBuffer) for the results of the copy along with the buffer's bounds (cbBufferSize). The cbStride parameter defines the count of bytes between two vertically adjacent pixels in the output buffer. The caller must ensure that there is sufficient buffer to complete the call based on the width, height and pixel format of the bitmap and the sub-rectangle provided to the copy method.

If the caller needs to perform numerous copies of an expensive such as a JPEG, it is recommended to create an in-memory first.

Codec Developer Remarks

The callee must only write to the first (prc->Width*bitsperpixel+7)/8 bytes of each line of the output buffer (in this case, a line is a consecutive string of cbStride bytes).

Instructs the object to produce pixels.

The destination array. The size of the array must be sizeof(pixel) * Width * Height The stride (number of bytes per row).

If this method succeeds, it returns . Otherwise, it returns an error code.

output.Length must be equal to Width * Height ee690179 HRESULT IWICBitmapSource::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) IWICBitmapSource::CopyPixels

CopyPixels is one of the two main image processing routines (the other being Lock) triggering the actual processing. It instructs the object to produce pixels according to its algorithm - this may involve decoding a portion of a JPEG stored on disk, copying a block of memory, or even analytically computing a complex gradient. The algorithm is completely dependent on the object implementing the interface.

The caller can restrict the operation to a rectangle of interest (ROI) using the prc parameter. The ROI sub-rectangle must be fully contained in the bounds of the bitmap. Specifying a null ROI implies that the whole bitmap should be returned.

The caller controls the memory management and must provide an output buffer (pbBuffer) for the results of the copy along with the buffer's bounds (cbBufferSize). The cbStride parameter defines the count of bytes between two vertically adjacent pixels in the output buffer. The caller must ensure that there is sufficient buffer to complete the call based on the width, height and pixel format of the bitmap and the sub-rectangle provided to the copy method.

If the caller needs to perform numerous copies of an expensive such as a JPEG, it is recommended to create an in-memory first.

Codec Developer Remarks

The callee must only write to the first (prc->Width*bitsperpixel+7)/8 bytes of each line of the output buffer (in this case, a line is a consecutive string of cbStride bytes).

No documentation. ee719897 IWICBitmapSourceTransform IWICBitmapSourceTransform Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Copies pixel data using the supplied input parameters.

The rectangle of pixels to copy.

The width to scale the source bitmap. This parameter must equal the value obtainable through .

The height to scale the source bitmap. This parameter must equal the value obtainable through .

The of desired pixel format in which the pixels should be returned.

This must be a format obtained through an GetClosestPixelFormat call.

The desired rotation or flip to perform prior to the pixel copy.

The transform must be an operation supported by an DoesSupportTransform call.

If a dstTransform is specified, nStride is the transformed stride and is based on the pguidDstFormat pixel format, not the original source's pixel format.

The stride of the destination buffer.

The size of the destination buffer.

The output buffer.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690173 HRESULT IWICBitmapSourceTransform::CopyPixels([In] const void* prc,[In] unsigned int uiWidth,[In] unsigned int uiHeight,[In, Optional] GUID* pguidDstFormat,[In] WICBitmapTransformOptions dstTransform,[In] unsigned int nStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) IWICBitmapSourceTransform::CopyPixels

Returns the closest dimensions the implementation can natively scale to given the desired dimensions.

The desired width. A reference that receives the closest supported width.

The desired height. A reference that receives the closest supported height.

If this method succeeds, it returns . Otherwise, it returns an error code.

The Windows provided codecs provide the following support for native scaling:

  • BMP, ICO, GIF, TIFF: No implementation of .
  • PNG: No scaling support.
  • JPEG: Native down-scaling by a factor of 8, 4, or 2.
  • JPEG-XR: Native scaling of the original image by powers of 2.
ee690176 HRESULT IWICBitmapSourceTransform::GetClosestSize([InOut] unsigned int* puiWidth,[InOut] unsigned int* puiHeight) IWICBitmapSourceTransform::GetClosestSize

Retrieves the closest pixel format to which the implementation of can natively copy pixels, given a desired format.

No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

The Windows provided codecs provide the following support:

  • BMP, ICO, GIF, TIFF: No implementation of .
  • JPEG, PNG, JPEG-XR: Trivial support (always returns the same value as IWICBitmapFrameDecode::GetPixelFormat).
ee690175 HRESULT IWICBitmapSourceTransform::GetClosestPixelFormat([InOut] GUID* pguidDstFormat) IWICBitmapSourceTransform::GetClosestPixelFormat

Determines whether a specific transform option is supported natively by the implementation of the interface.

No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

The Windows provided codecs provide the following level of support:

  • BMP, ICO, GIF, TIFF: No implementation of .
  • JPEG, PNG: Trivial support ( only).
  • JPEG-XR: Support for all transformation/rotations.
ee690174 HRESULT IWICBitmapSourceTransform::DoesSupportTransform([In] WICBitmapTransformOptions dstTransform,[Out] BOOL* pfIsSupported) IWICBitmapSourceTransform::DoesSupportTransform
Copies pixel data using the supplied input parameters. The width. The height. The stride. The output. HRESULT IWICBitmapSourceTransform::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int uiWidth,[In] unsigned int uiHeight,[In, Optional] GUID* pguidDstFormat,[In] WICBitmapTransformOptions dstTransform,[In] unsigned int nStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) Copies pixel data using the supplied input parameters. The width. The height. The DST transform. The stride. The output. HRESULT IWICBitmapSourceTransform::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int uiWidth,[In] unsigned int uiHeight,[In, Optional] GUID* pguidDstFormat,[In] WICBitmapTransformOptions dstTransform,[In] unsigned int nStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) Copies pixel data using the supplied input parameters. The width. The height. The GUID DST format. The DST transform. The stride. The output. HRESULT IWICBitmapSourceTransform::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int uiWidth,[In] unsigned int uiHeight,[In, Optional] GUID* pguidDstFormat,[In] WICBitmapTransformOptions dstTransform,[In] unsigned int nStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) Copies pixel data using the supplied input parameters. The rectangle. The width. The height. The GUID DST format. The DST transform. The stride. The output. HRESULT IWICBitmapSourceTransform::CopyPixels([In, Optional] const WICRect* prc,[In] unsigned int uiWidth,[In] unsigned int uiHeight,[In, Optional] GUID* pguidDstFormat,[In] WICBitmapTransformOptions dstTransform,[In] unsigned int nStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) Returns the closest dimensions the implementation can natively scale to given the desired dimensions. The size. HRESULT IWICBitmapSourceTransform::GetClosestSize([InOut] unsigned int* puiWidth,[InOut] unsigned int* puiHeight)

Exposes methods for color management.

A Color Context is an abstraction for a color profile. The profile can either be loaded from a file (like "sRGB Color Space Profile.icm"), read from a memory buffer, or can be defined by an EXIF color space. The system color profile directory can be obtained by calling GetColorDirectory.

Once a color context has been initialized, it cannot be re-initialized.

ee690193 IWICColorContext IWICColorContext
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves the color context type.

ee690196 GetType GetType HRESULT IWICColorContext::GetType([Out] WICColorContextType* pType)

Retrieves the Exchangeable Image File (EXIF) color space color context.

This method should only be used when indicates .

ee690194 GetExifColorSpace GetExifColorSpace HRESULT IWICColorContext::GetExifColorSpace([Out] unsigned int* pValue)

Initializes the color context from the given file.

The name of the file.

If this method succeeds, it returns . Otherwise, it returns an error code.

Once a color context has been initialized, it can't be re-initialized.

ee690198 HRESULT IWICColorContext::InitializeFromFilename([In] const wchar_t* wzFilename) IWICColorContext::InitializeFromFilename

Initializes the color context from a memory block.

The buffer used to initialize the .

The size of the pbBuffer buffer.

If this method succeeds, it returns . Otherwise, it returns an error code.

Once a color context has been initialized, it can't be re-initialized.

ee690199 HRESULT IWICColorContext::InitializeFromMemory([In] const void* pbBuffer,[In] unsigned int cbBufferSize) IWICColorContext::InitializeFromMemory

Initializes the color context using an Exchangeable Image File (EXIF) color space.

The value of the EXIF color space.

ValueMeaning
1

A sRGB color space.

2

An Adobe RGB color space.

?

If this method succeeds, it returns . Otherwise, it returns an error code.

Once a color context has been initialized, it can't be re-initialized.

ee690197 HRESULT IWICColorContext::InitializeFromExifColorSpace([In] unsigned int value) IWICColorContext::InitializeFromExifColorSpace

Retrieves the color context type.

A reference that receives the of the color context.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690196 HRESULT IWICColorContext::GetType([Out] WICColorContextType* pType) IWICColorContext::GetType

Retrieves the color context profile.

The size of the pbBuffer buffer.

A reference that receives the color context profile.

A reference that receives the actual buffer size needed to retrieve the entire color context profile.

If this method succeeds, it returns . Otherwise, it returns an error code.

Only use this method if the context type is .

Calling this method with pbBuffer set to null will cause it to return the required buffer size in pcbActual.

ee690195 HRESULT IWICColorContext::GetProfileBytes([In] unsigned int cbBuffer,[In] void* pbBuffer,[Out] unsigned int* pcbActual) IWICColorContext::GetProfileBytes

Retrieves the Exchangeable Image File (EXIF) color space color context.

A reference that receives the EXIF color space color context.

ValueMeaning
1

A sRGB color space.

2

An Adobe RGB color space.

3 through 65534

Unused.

?

If this method succeeds, it returns . Otherwise, it returns an error code.

This method should only be used when indicates .

ee690194 HRESULT IWICColorContext::GetExifColorSpace([Out] unsigned int* pValue) IWICColorContext::GetExifColorSpace
Initializes a new instance of the class. The factory. HRESULT IWICImagingFactory::CreateColorContext([Out, Fast] IWICColorContext** ppIWICColorContext) Initializes from memory. The data pointer. HRESULT IWICColorContext::InitializeFromMemory([In] const void* pbBuffer,[In] unsigned int cbBufferSize) Gets the color context profile.

Exposes methods that transforms an from one color context to another.

A is an imaging pipeline component that knows how to pull pixels obtained from a given through a color transform. The color transform is defined by mapping colors from the source color context to the destination color context in a given output pixel format.

Once initialized, a color transform cannot be reinitialized. Because of this, a color transform cannot be used with multiple sources or varying parameters.

ee690201 IWICColorTransform IWICColorTransform
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Initializes an with a and transforms it from one to another.

No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

The currently supported formats for the pIContextSource and pixelFmtDest parameters are:

  • (Windows?8 and later)
  • (Windows?8 and later)
  • (Windows?8 and later)
  • (Windows?8 and later)
  • (Windows?8 and later)

In order to get correct behavior from a color transform, the input and output pixel formats must be compatible with the source and destination color profiles. For example, an sRGB destination color profile will produce incorrect results when used with a CMYK destination pixel format.

ee690202 HRESULT IWICColorTransform::Initialize([In, Optional] IWICBitmapSource* pIBitmapSource,[In, Optional] IWICColorContext* pIContextSource,[In, Optional] IWICColorContext* pIContextDest,[In] const GUID& pixelFmtDest) IWICColorTransform::Initialize
Initializes a new instance of the class. The factory. HRESULT IWICImagingFactory::CreateColorTransformer([Out, Fast] IWICColorTransform** ppIWICColorTransform)

Exposes methods that provide component information.

ee690213 IWICComponentInfo IWICComponentInfo
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves the component's .

ee690218 GetComponentType GetComponentType HRESULT IWICComponentInfo::GetComponentType([Out] WICComponentType* pType)

Proxy function for the GetCLSID method.

ee690217 GetCLSID GetCLSID HRESULT IWICComponentInfo::GetCLSID([Out] GUID* pclsid)

Retrieves the signing status of the component.

Signing is unused by WIC. Therefore, all components .

This function can be used to determine whether a component has no binary component or has been added to the disabled components list in the registry.

ee690221 GetSigningStatus GetSigningStatus HRESULT IWICComponentInfo::GetSigningStatus([Out] unsigned int* pStatus)

Retrieves the vendor .

ee690225 GetVendorGUID GetVendorGUID HRESULT IWICComponentInfo::GetVendorGUID([Out] GUID* pguidVendor)

Retrieves the component's .

No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690218 HRESULT IWICComponentInfo::GetComponentType([Out] WICComponentType* pType) IWICComponentInfo::GetComponentType

Proxy function for the GetCLSID method.

No documentation.

If this function succeeds, it returns . Otherwise, it returns an error code.

ee690217 HRESULT IWICComponentInfo::GetCLSID([Out] GUID* pclsid) IWICComponentInfo::GetCLSID

Retrieves the signing status of the component.

A reference that receives the status of the component.

If this method succeeds, it returns . Otherwise, it returns an error code.

Signing is unused by WIC. Therefore, all components .

This function can be used to determine whether a component has no binary component or has been added to the disabled components list in the registry.

ee690221 HRESULT IWICComponentInfo::GetSigningStatus([Out] unsigned int* pStatus) IWICComponentInfo::GetSigningStatus

Retrieves the name of component's author.

The size of the wzAuthor buffer.

A reference that receives the name of the component's author. The locale of the string depends on the value that the codec wrote to the registry at install time. For built-in components, these strings are always in English.

A reference that receives the actual length of the component's authors name. The author name is optional; if an author name is not specified by the component, the length returned is 0.

If this method succeeds, it returns . Otherwise, it returns an error code.

If cchAuthor is 0 and wzAuthor is null, the required buffer size is returned in pccchActual.

ee690214 HRESULT IWICComponentInfo::GetAuthor([In] unsigned int cchAuthor,[In] void* wzAuthor,[Out] unsigned int* pcchActual) IWICComponentInfo::GetAuthor

Retrieves the vendor .

A reference that receives the component's vendor .

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690225 HRESULT IWICComponentInfo::GetVendorGUID([Out] GUID* pguidVendor) IWICComponentInfo::GetVendorGUID

Proxy function for the GetVersion method.

No documentation. No documentation. No documentation.

If this function succeeds, it returns . Otherwise, it returns an error code.

ee690227 HRESULT IWICComponentInfo::GetVersion([In] unsigned int cchVersion,[In] void* wzVersion,[Out] unsigned int* pcchActual) IWICComponentInfo::GetVersion

Retrieves the component's specification version.

The size of the wzSpecVersion buffer.

When this method returns, contain a culture invarient string of the component's specification version. The version form is NN.NN.NN.NN.

A reference that receives the actual length of the component's specification version. The specification version is optional; if a value is not specified by the component, the length returned is 0.

If this method succeeds, it returns . Otherwise, it returns an error code.

All built-in components return "1.0.0.0", except for pixel formats, which do not have a spec version.

If cchAuthor is 0 and wzAuthor is null, the required buffer size is returned in pccchActual.

ee690223 HRESULT IWICComponentInfo::GetSpecVersion([In] unsigned int cchSpecVersion,[In] void* wzSpecVersion,[Out] unsigned int* pcchActual) IWICComponentInfo::GetSpecVersion

Retrieves the component's friendly name, which is a human-readable display name for the component.

The size of the wzFriendlyName buffer.

A reference that receives the friendly name of the component. The locale of the string depends on the value that the codec wrote to the registry at install time. For built-in components, these strings are always in English.

A reference that receives the actual length of the component's friendly name.

If this method succeeds, it returns . Otherwise, it returns an error code.

If cchFriendlyName is 0 and wzFriendlyName is null, the required buffer size is returned in pccchActual.

ee690219 HRESULT IWICComponentInfo::GetFriendlyName([In] unsigned int cchFriendlyName,[In] void* wzFriendlyName,[Out] unsigned int* pcchActual) IWICComponentInfo::GetFriendlyName
Initializes a new instance of the class. The factory. The CLSID component. Gets the author. HRESULT IWICComponentInfo::GetAuthor([In] unsigned int cchAuthor,[InOut, Buffer, Optional] wchar_t* wzAuthor,[Out] unsigned int* pcchActual) Gets the version. HRESULT IWICComponentInfo::GetVersion([In] unsigned int cchVersion,[InOut, Buffer, Optional] wchar_t* wzVersion,[Out] unsigned int* pcchActual) Gets the spec version. HRESULT IWICComponentInfo::GetSpecVersion([In] unsigned int cchSpecVersion,[InOut, Buffer, Optional] wchar_t* wzSpecVersion,[Out] unsigned int* pcchActual) Gets the friendly name. The name of the friendly. HRESULT IWICComponentInfo::GetFriendlyName([In] unsigned int cchFriendlyName,[InOut, Buffer, Optional] wchar_t* wzFriendlyName,[Out] unsigned int* pcchActual)

Provides information and functionality specific to the DDS image format.

This interface is implemented by the WIC DDS codec. To obtain this interface, create an using the DDS codec and QueryInterface for .

dn302079 IWICDdsDecoder IWICDdsDecoder
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets DDS-specific data.

dn302081 GetParameters GetParameters HRESULT IWICDdsDecoder::GetParameters([Out] WICDdsParameters* pParameters)

Gets DDS-specific data.

A reference to the structure where the information is returned.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn302081 HRESULT IWICDdsDecoder::GetParameters([Out] WICDdsParameters* pParameters) IWICDdsDecoder::GetParameters

Retrieves the specified frame of the DDS image.

The requested index within the texture array.

The requested mip level.

The requested slice within the 3D texture.

A reference to a object.

If this method succeeds, it returns . Otherwise, it returns an error code.

A DDS file can contain multiple images that are organized into a three level hierarchy. First, DDS file may contain multiple textures in a texture array. Second, each texture can have multiple mip levels. Finally, the texture may be a 3D (volume) texture and have multiple slices, each of which is a 2D texture. See the DDS documentation for more information.

WIC maps this three level hierarchy into a linear array of , accessible via . However, determining which frame corresponds to a triad of arrayIndex, mipLevel, and sliceIndex value is not trivial because each mip level of a 3D texture has a different depth (number of slices). This method provides additional convenience over for DDS images by calculating the correct frame given the three indices.

dn302080 HRESULT IWICDdsDecoder::GetFrame([In] unsigned int arrayIndex,[In] unsigned int mipLevel,[In] unsigned int sliceIndex,[Out] IWICBitmapFrameDecode** ppIBitmapFrame) IWICDdsDecoder::GetFrame

Enables writing DDS format specific information to an encoder.

This interface is implemented by the WIC DDS codec. To obtain this interface, create an using the DDS codec and QueryInterface for .

dn302082 IWICDdsEncoder IWICDdsEncoder
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets or sets DDS-specific data.

An application can call GetParameters to obtain the default DDS parameters, modify some or all of them, and then call SetParameters.

dn302084 GetParameters / SetParameters GetParameters HRESULT IWICDdsEncoder::GetParameters([Out] WICDdsParameters* pParameters)

Sets DDS-specific data.

Points to the structure where the information is described.

If this method succeeds, it returns . Otherwise, it returns an error code.

You cannot call this method after you have started to write frame data, for example by calling .

Setting DDS parameters using this method provides the DDS encoder with information about the expected number of frames and the dimensions and other parameters of each frame. The DDS encoder will fail if you do not set frame data that matches these expectations. For example, if you set WICDdsParameters::Width and Height to 32, and MipLevels to 6, the DDS encoder will expect 6 frames with the following dimensions:

  • 32x32 pixels.
  • 16x16 pixels.
  • 8x8 pixels.
  • 4x4 pixels.
  • 2x2 pixels.
  • 1x1 pixels.
dn302085 HRESULT IWICDdsEncoder::SetParameters([In] WICDdsParameters* pParameters) IWICDdsEncoder::SetParameters

Gets DDS-specific data.

Points to the structure where the information is returned.

If this method succeeds, it returns . Otherwise, it returns an error code.

An application can call GetParameters to obtain the default DDS parameters, modify some or all of them, and then call SetParameters.

dn302084 HRESULT IWICDdsEncoder::GetParameters([Out] WICDdsParameters* pParameters) IWICDdsEncoder::GetParameters

Creates a new frame to encode.

A reference to the newly created frame object.

Points to the location where the array index is returned.

Points to the location where the mip level index is returned.

Points to the location where the slice index is returned.

If this method succeeds, it returns . Otherwise, it returns an error code.

This is equivalent to , but returns additional information about the array index, mip level and slice of the newly created frame. In contrast to , there is no * parameter because individual DDS frames do not have separate properties.

dn302083 HRESULT IWICDdsEncoder::CreateNewFrame([Out] IWICBitmapFrameEncode** ppIFrameEncode,[Out] unsigned int* pArrayIndex,[Out] unsigned int* pMipLevel,[Out] unsigned int* pSliceIndex) IWICDdsEncoder::CreateNewFrame

Provides access to a single frame of DDS image data in its native form, as well as information about the image data.

This interface is implemented by the WIC DDS codec. To obtain this interface, create an using the DDS codec and QueryInterface for IID_IWICDdsFrameDecode.

dn302086 IWICDdsFrameDecode IWICDdsFrameDecode
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets information about the format in which the DDS image is stored.

This information can be used for allocating memory or constructing Direct3D or Direct2D resources, for example by using or .

dn302088 GetFormatInfo GetFormatInfo HRESULT IWICDdsFrameDecode::GetFormatInfo([Out] WICDdsFormatInfo* pFormatInfo)

Gets the width and height, in blocks, of the DDS image.

The width of the DDS image in blocks.

The height of the DDS image in blocks.

If this method succeeds, it returns . Otherwise, it returns an error code.

For block compressed textures, the returned width and height values do not completely define the texture size because the image is padded to fit the closest whole block size. For example, three BC1 textures with pixel dimensions of 1x1, 2x2 and 4x4 will all report pWidthInBlocks = 1 and pHeightInBlocks = 1.

If the texture does not use a block-compressed , this method returns the texture size in pixels; for these formats the block size returned by IWICDdsFrameDecoder::GetFormatInfo is 1x1.

dn302089 HRESULT IWICDdsFrameDecode::GetSizeInBlocks([Out] unsigned int* pWidthInBlocks,[Out] unsigned int* pHeightInBlocks) IWICDdsFrameDecode::GetSizeInBlocks

Gets information about the format in which the DDS image is stored.

Information about the DDS format.

If this method succeeds, it returns . Otherwise, it returns an error code.

This information can be used for allocating memory or constructing Direct3D or Direct2D resources, for example by using or .

dn302088 HRESULT IWICDdsFrameDecode::GetFormatInfo([Out] WICDdsFormatInfo* pFormatInfo) IWICDdsFrameDecode::GetFormatInfo

Requests pixel data as it is natively stored within the DDS file.

The rectangle to copy from the source. A null value specifies the entire texture.

If the texture uses a block-compressed , all values of the rectangle are expressed in number of blocks, not pixels.

The stride, in bytes, of the destination buffer. This represents the number of bytes from the buffer reference to the next row of data. If the texture uses a block-compressed , a "row of data" is defined as a row of blocks which contains multiple pixel scanlines.

The size, in bytes, of the destination buffer.

A reference to the destination buffer.

If this method succeeds, it returns . Otherwise, it returns an error code.

If the texture does not use a block-compressed , this method behaves similarly to . However, it does not perform any pixel format conversion, and instead produces the raw data from the DDS file.

If the texture uses a block-compressed , this method copies the block data directly into the provided buffer. In this case, the prcBoundsInBlocks parameter is defined in blocks, not pixels. To determine if this is the case, call GetFormatInfo and read the DxgiFormat member of the returned structure.

dn302087 HRESULT IWICDdsFrameDecode::CopyBlocks([In, Optional] const WICRect* prcBoundsInBlocks,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) IWICDdsFrameDecode::CopyBlocks

[This documentation is preliminary and is subject to change.]

Requests pixel data as it is natively stored within the DDS file.

The rectangle to copy from the source. A null value specifies the entire texture.

If the texture uses a block-compressed , all values of the rectangle are expressed in number of blocks, not pixels.

The stride, in bytes, of the destination buffer. This represents the number of bytes from the buffer reference to the next row of data. If the texture uses a block-compressed , a "row of data" is defined as a row of blocks which contains multiple pixel scanlines.

A reference to the destination buffer.

If this method succeeds, it returns . Otherwise, it returns an error code.

If the texture does not use a block-compressed , this method behaves similarly to . However, it does not perform any pixel format conversion, and instead produces the raw data from the DDS file.

If the texture uses a block-compressed , this method copies the block data directly into the provided buffer. In this case, the prcBoundsInBlocks parameter is defined in blocks, not pixels. To determine if this is the case, call GetFormatInfo and read the DxgiFormat member of the returned structure.

dn302087 HRESULT IWICDdsFrameDecode::CopyBlocks([In, Optional] const WICRect* prcBoundsInBlocks,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer) IWICDdsFrameDecode::CopyBlocks
No documentation. ee719898 IWICDevelopRaw IWICDevelopRaw Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the current set of parameters.

ee690233 GetCurrentParameterSet GetCurrentParameterSet HRESULT IWICDevelopRaw::GetCurrentParameterSet([Out] IPropertyBag2** ppCurrentParameterSet)

Gets or sets the exposure compensation stop value of the raw image.

ee690234 GetExposureCompensation / SetExposureCompensation GetExposureCompensation HRESULT IWICDevelopRaw::GetExposureCompensation([Out] double* pEV)

Gets or sets the named white point of the raw image.

If the named white points are not supported by the raw image or the raw file contains named white points that are not supported by this API, the codec implementer should still mark this capability as supported.

If the named white points are not supported by the raw image, a best effort should be made to adjust the image to the named white point even when it isn't a pre-defined white point of the raw file.

If the raw file containes named white points not supported by this API, the codec implementer should support the named white points in .

ee690237 GetNamedWhitePoint / SetNamedWhitePoint GetNamedWhitePoint HRESULT IWICDevelopRaw::GetNamedWhitePoint([Out] WICNamedWhitePoint* pWhitePoint)

Gets or sets the white point Kelvin temperature of the raw image.

ee690245 GetWhitePointKelvin / SetWhitePointKelvin GetWhitePointKelvin HRESULT IWICDevelopRaw::GetWhitePointKelvin([Out] unsigned int* pWhitePointKelvin)

Gets or sets the contrast value of the raw image.

ee690232 GetContrast / SetContrast GetContrast HRESULT IWICDevelopRaw::GetContrast([Out] double* pContrast)

Gets or sets the current gamma setting of the raw image.

ee690235 GetGamma / SetGamma GetGamma HRESULT IWICDevelopRaw::GetGamma([Out] double* pGamma)

Gets or sets the sharpness value of the raw image.

ee690242 GetSharpness / SetSharpness GetSharpness HRESULT IWICDevelopRaw::GetSharpness([Out] double* pSharpness)

Gets or sets the saturation value of the raw image.

ee690241 GetSaturation / SetSaturation GetSaturation HRESULT IWICDevelopRaw::GetSaturation([Out] double* pSaturation)

Gets or sets the tint value of the raw image.

ee690243 GetTint / SetTint GetTint HRESULT IWICDevelopRaw::GetTint([Out] double* pTint)

Gets or sets the noise reduction value of the raw image.

ee690238 GetNoiseReduction / SetNoiseReduction GetNoiseReduction HRESULT IWICDevelopRaw::GetNoiseReduction([Out] double* pNoiseReduction)

Sets the destination color context.

ee690250 SetDestinationColorContext SetDestinationColorContext HRESULT IWICDevelopRaw::SetDestinationColorContext([In, Optional] IWICColorContext* pColorContext)

Gets or sets the current rotation angle.

ee690240 GetRotation / SetRotation GetRotation HRESULT IWICDevelopRaw::GetRotation([Out] double* pRotation)

Gets or sets the current .

ee690239 GetRenderMode / SetRenderMode GetRenderMode HRESULT IWICDevelopRaw::GetRenderMode([Out] WICRawRenderMode* pRenderMode)

Sets the notification callback method.

ee690255 SetNotificationCallback SetNotificationCallback HRESULT IWICDevelopRaw::SetNotificationCallback([In, Optional] IWICDevelopRawNotificationCallback* pCallback)

Retrieves information about which capabilities are supported for a raw image.

A reference that receives that provides the capabilities supported by the raw image.

If this method succeeds, it returns . Otherwise, it returns an error code.

It is recommended that a codec report that a capability is supported even if the results at the outer range limits are not of perfect quality.

ee690248 HRESULT IWICDevelopRaw::QueryRawCapabilitiesInfo([In] WICRawCapabilitiesInfo* pInfo) IWICDevelopRaw::QueryRawCapabilitiesInfo

Sets the desired option.

No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690247 HRESULT IWICDevelopRaw::LoadParameterSet([In] WICRawParameterSet ParameterSet) IWICDevelopRaw::LoadParameterSet

Gets the current set of parameters.

A reference that receives a reference to the current set of parameters.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690233 HRESULT IWICDevelopRaw::GetCurrentParameterSet([Out] IPropertyBag2** ppCurrentParameterSet) IWICDevelopRaw::GetCurrentParameterSet

Sets the exposure compensation stop value.

The exposure compensation value. The value range for exposure compensation is -5.0 through +5.0, which equates to 10 full stops.

If this method succeeds, it returns . Otherwise, it returns an error code.

It is recommended that a codec report that this method is supported even if the results at the outer range limits are not of perfect quality.

ee690251 HRESULT IWICDevelopRaw::SetExposureCompensation([In] double ev) IWICDevelopRaw::SetExposureCompensation

Gets the exposure compensation stop value of the raw image.

A reference that receives the exposure compensation stop value. The default is the "as-shot" setting.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690234 HRESULT IWICDevelopRaw::GetExposureCompensation([Out] double* pEV) IWICDevelopRaw::GetExposureCompensation

Sets the white point RGB values.

The red white point value.

The green white point value.

The blue white point value.

If this method succeeds, it returns . Otherwise, it returns an error code.

Due to other white point setting methods (e.g. SetWhitePointKelvin), care must be taken by codec implementers to ensure proper interoperability. For instance, if the caller sets via a named white point then the codec implementer may whis to disable reading back the correspoinding Kelvin temperature. In specific cases where the codec implementer wishes to deny a given action because of previous calls, should be returned.

ee690263 HRESULT IWICDevelopRaw::SetWhitePointRGB([In] unsigned int Red,[In] unsigned int Green,[In] unsigned int Blue) IWICDevelopRaw::SetWhitePointRGB

Gets the white point RGB values.

A reference that receives the red white point value.

A reference that receives the green white point value.

A reference that receives the blue white point value.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690246 HRESULT IWICDevelopRaw::GetWhitePointRGB([Out] unsigned int* pRed,[Out] unsigned int* pGreen,[Out] unsigned int* pBlue) IWICDevelopRaw::GetWhitePointRGB

Sets the named white point of the raw file.

A bitwise combination of the enumeration values.

If this method succeeds, it returns . Otherwise, it returns an error code.

If the named white points are not supported by the raw image or the raw file contains named white points that are not supported by this API, the codec implementer should still mark this capability as supported.

If the named white points are not supported by the raw image, a best effort should be made to adjust the image to the named white point even when it isn't a pre-defined white point of the raw file.

If the raw file containes named white points not supported by this API, the codec implementer should support the named white points in the API.

Due to other white point setting methods (e.g. SetWhitePointKelvin), care must be taken by codec implementers to ensure proper interoperability. For instance, if the caller sets via a named white point then the codec implementer may whis to disable reading back the correspoinding Kelvin temperature. In specific cases where the codec implementer wishes to deny a given action because of previous calls, should be returned.

ee690253 HRESULT IWICDevelopRaw::SetNamedWhitePoint([In] WICNamedWhitePoint WhitePoint) IWICDevelopRaw::SetNamedWhitePoint

Gets the named white point of the raw image.

A reference that receives the bitwise combination of the enumeration values.

If this method succeeds, it returns . Otherwise, it returns an error code.

If the named white points are not supported by the raw image or the raw file contains named white points that are not supported by this API, the codec implementer should still mark this capability as supported.

If the named white points are not supported by the raw image, a best effort should be made to adjust the image to the named white point even when it isn't a pre-defined white point of the raw file.

If the raw file containes named white points not supported by this API, the codec implementer should support the named white points in .

ee690237 HRESULT IWICDevelopRaw::GetNamedWhitePoint([Out] WICNamedWhitePoint* pWhitePoint) IWICDevelopRaw::GetNamedWhitePoint

Sets the white point Kelvin value.

The white point Kelvin value. Acceptable Kelvin values are 1,500 through 30,000.

If this method succeeds, it returns . Otherwise, it returns an error code.

Codec implementers should faithfully adjust the color temperature within the range supported natively by the raw image. For values outside the native support range, the codec implementer should provide a best effort representation of the image at that color temperature.

Codec implementers should return if the value is out of defined acceptable range.

Codec implementers must ensure proper interoperability with other white point setting methods such as SetWhitePointRGB. For example, if the caller sets the white point via SetNamedWhitePoint then the codec implementer may want to disable reading back the correspoinding Kelvin temperature. In specific cases where the codec implementer wants to deny a given action because of previous calls, should be returned.

ee690262 HRESULT IWICDevelopRaw::SetWhitePointKelvin([In] unsigned int WhitePointKelvin) IWICDevelopRaw::SetWhitePointKelvin

Gets the white point Kelvin temperature of the raw image.

A reference that receives the white point Kelvin temperature of the raw image. The default is the "as-shot" setting value.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690245 HRESULT IWICDevelopRaw::GetWhitePointKelvin([Out] unsigned int* pWhitePointKelvin) IWICDevelopRaw::GetWhitePointKelvin

Gets the information about the current Kelvin range of the raw image.

A reference that receives the minimum Kelvin temperature.

A reference that receives the maximum Kelvin temperature.

A reference that receives the Kelvin step value.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690236 HRESULT IWICDevelopRaw::GetKelvinRangeInfo([Out] unsigned int* pMinKelvinTemp,[Out] unsigned int* pMaxKelvinTemp,[Out] unsigned int* pKelvinTempStepValue) IWICDevelopRaw::GetKelvinRangeInfo

Sets the contrast value of the raw image.

The contrast value of the raw image. The default value is the "as-shot" setting. The value range for contrast is 0.0 through 1.0. The 0.0 lower limit represents no contrast applied to the image, while the 1.0 upper limit represents the highest amount of contrast that can be applied.

If this method succeeds, it returns . Otherwise, it returns an error code.

The codec implementer must determine what the upper range value represents and must determine how to map the value to their image processing routines.

ee690249 HRESULT IWICDevelopRaw::SetContrast([In] double Contrast) IWICDevelopRaw::SetContrast

Gets the contrast value of the raw image.

A reference that receives the contrast value of the raw image. The default value is the "as-shot" setting. The value range for contrast is 0.0 through 1.0. The 0.0 lower limit represents no contrast applied to the image, while the 1.0 upper limit represents the highest amount of contrast that can be applied.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690232 HRESULT IWICDevelopRaw::GetContrast([Out] double* pContrast) IWICDevelopRaw::GetContrast

Sets the desired gamma value.

The desired gamma value.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690252 HRESULT IWICDevelopRaw::SetGamma([In] double Gamma) IWICDevelopRaw::SetGamma

Gets the current gamma setting of the raw image.

A reference that receives the current gamma setting.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690235 HRESULT IWICDevelopRaw::GetGamma([Out] double* pGamma) IWICDevelopRaw::GetGamma

Sets the sharpness value of the raw image.

The sharpness value of the raw image. The default value is the "as-shot" setting. The value range for sharpness is 0.0 through 1.0. The 0.0 lower limit represents no sharpening applied to the image, while the 1.0 upper limit represents the highest amount of sharpness that can be applied.

If this method succeeds, it returns . Otherwise, it returns an error code.

The codec implementer must determine what the upper range value represents and must determine how to map the value to their image processing routines.

ee690259 HRESULT IWICDevelopRaw::SetSharpness([In] double Sharpness) IWICDevelopRaw::SetSharpness

Gets the sharpness value of the raw image.

A reference that receives the sharpness value of the raw image. The default value is the "as-shot" setting. The value range for sharpness is 0.0 through 1.0. The 0.0 lower limit represents no sharpening applied to the image, while the 1.0 upper limit represents the highest amount of sharpness that can be applied.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690242 HRESULT IWICDevelopRaw::GetSharpness([Out] double* pSharpness) IWICDevelopRaw::GetSharpness

Sets the saturation value of the raw image.

The saturation value of the raw image. The value range for saturation is 0.0 through 1.0. A value of 0.0 represents an image with a fully de-saturated image, while a value of 1.0 represents the highest amount of saturation that can be applied.

If this method succeeds, it returns . Otherwise, it returns an error code.

The codec implementer must determine what the upper range value represents and must determine how to map the value to their image processing routines.

ee690258 HRESULT IWICDevelopRaw::SetSaturation([In] double Saturation) IWICDevelopRaw::SetSaturation

Gets the saturation value of the raw image.

A reference that receives the saturation value of the raw image. The default value is the "as-shot" setting. The value range for saturation is 0.0 through 1.0. A value of 0.0 represents an image with a fully de-saturated image, while a value of 1.0 represents the highest amount of saturation that can be applied.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690241 HRESULT IWICDevelopRaw::GetSaturation([Out] double* pSaturation) IWICDevelopRaw::GetSaturation

Sets the tint value of the raw image.

The tint value of the raw image. The default value is the "as-shot" setting if it exists or 0.0. The value range for sharpness is -1.0 through +1.0. The -1.0 lower limit represents a full green bias to the image, while the 1.0 upper limit represents a full magenta bias.

If this method succeeds, it returns . Otherwise, it returns an error code.

The codec implementer must determine what the outer range values represent and must determine how to map the values to their image processing routines.

ee690260 HRESULT IWICDevelopRaw::SetTint([In] double Tint) IWICDevelopRaw::SetTint

Gets the tint value of the raw image.

A reference that receives the tint value of the raw image. The default value is the "as-shot" setting if it exists or 0.0. The value range for sharpness is -1.0 through +1.0. The -1.0 lower limit represents a full green bias to the image, while the 1.0 upper limit represents a full magenta bias.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690243 HRESULT IWICDevelopRaw::GetTint([Out] double* pTint) IWICDevelopRaw::GetTint

Sets the noise reduction value of the raw image.

The noise reduction value of the raw image. The default value is the "as-shot" setting if it exists or 0.0. The value range for noise reduction is 0.0 through 1.0. The 0.0 lower limit represents no noise reduction applied to the image, while the 1.0 upper limit represents highest noise reduction amount that can be applied.

If this method succeeds, it returns . Otherwise, it returns an error code.

The codec implementer must determine what the upper range value represents and must determine how to map the value to their image processing routines.

ee690254 HRESULT IWICDevelopRaw::SetNoiseReduction([In] double NoiseReduction) IWICDevelopRaw::SetNoiseReduction

Gets the noise reduction value of the raw image.

A reference that receives the noise reduction value of the raw image. The default value is the "as-shot" setting if it exists or 0.0. The value range for noise reduction is 0.0 through 1.0. The 0.0 lower limit represents no noise reduction applied to the image, while the 1.0 upper limit represents full highest noise reduction amount that can be applied.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690238 HRESULT IWICDevelopRaw::GetNoiseReduction([Out] double* pNoiseReduction) IWICDevelopRaw::GetNoiseReduction

Sets the destination color context.

The destination color context.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690250 HRESULT IWICDevelopRaw::SetDestinationColorContext([In, Optional] IWICColorContext* pColorContext) IWICDevelopRaw::SetDestinationColorContext

Sets the tone curve for the raw image.

The size of the pToneCurve structure.

The desired tone curve.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690261 HRESULT IWICDevelopRaw::SetToneCurve([In] unsigned int cbToneCurveSize,[In, Buffer] const WICRawToneCurve* pToneCurve) IWICDevelopRaw::SetToneCurve

Gets the tone curve of the raw image.

The size of the pToneCurve buffer.

A reference that receives the of the raw image.

A reference that receives the size needed to obtain the tone curve structure.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690244 HRESULT IWICDevelopRaw::GetToneCurve([In] unsigned int cbToneCurveBufferSize,[Out, Buffer, Optional] WICRawToneCurve* pToneCurve,[InOut, Optional] unsigned int* pcbActualToneCurveBufferSize) IWICDevelopRaw::GetToneCurve

Sets the desired rotation angle.

The desired rotation angle.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690257 HRESULT IWICDevelopRaw::SetRotation([In] double Rotation) IWICDevelopRaw::SetRotation

Gets the current rotation angle.

A reference that receives the current rotation angle.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690240 HRESULT IWICDevelopRaw::GetRotation([Out] double* pRotation) IWICDevelopRaw::GetRotation

Sets the current .

No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690256 HRESULT IWICDevelopRaw::SetRenderMode([In] WICRawRenderMode RenderMode) IWICDevelopRaw::SetRenderMode

Gets the current .

No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690239 HRESULT IWICDevelopRaw::GetRenderMode([Out] WICRawRenderMode* pRenderMode) IWICDevelopRaw::GetRenderMode

Sets the notification callback method.

Pointer to the notification callback method.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690255 HRESULT IWICDevelopRaw::SetNotificationCallback([In, Optional] IWICDevelopRawNotificationCallback* pCallback) IWICDevelopRaw::SetNotificationCallback

An application-defined callback method used for raw image parameter change notifications.

ee690230 IWICDevelopRawNotificationCallback IWICDevelopRawNotificationCallback
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

An application-defined callback method used for raw image parameter change notifications.

A set of Constants parameter notification flags.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690230 HRESULT IWICDevelopRawNotificationCallback::Notify([In] unsigned int NotificationMask) IWICDevelopRawNotificationCallback::Notify

Exposes methods that provide enumeration services for individual metadata items.

ee690264 IWICEnumMetadataItem IWICEnumMetadataItem
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Skips to given number of objects.

The number of objects to skip.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690268 HRESULT IWICEnumMetadataItem::Skip([In] unsigned int celt) IWICEnumMetadataItem::Skip

Resets the current position to the beginning of the enumeration.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690267 HRESULT IWICEnumMetadataItem::Reset() IWICEnumMetadataItem::Reset

Creates a copy of the current .

No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690265 HRESULT IWICEnumMetadataItem::Clone([Out] IWICEnumMetadataItem** ppIEnumMetadataItem) IWICEnumMetadataItem::Clone

Exposes methods used for in-place metadata editing. A fast metadata encoder enables you to add and remove metadata to an image without having to fully re-encode the image.

A decoder must be created using the value to perform in-place metadata updates. Using the option causes the decoder to release the file stream necessary to perform the metadata updates.

Not all metadata formats support fast metadata encoding. The native metadata handlers that support metadata are IFD, Exif, XMP, and GPS.

If a fast metadata encoder fails, the image will need to be fully re-encoded to add the metadata.

ee690269 IWICFastMetadataEncoder IWICFastMetadataEncoder
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Proxy function for the GetMetadataQueryWriter method.

ee690273 GetMetadataQueryWriter GetMetadataQueryWriter HRESULT IWICFastMetadataEncoder::GetMetadataQueryWriter([Out] IWICMetadataQueryWriter** ppIMetadataQueryWriter)

Finalizes metadata changes to the image stream.

If this method succeeds, it returns . Otherwise, it returns an error code.

If the commit fails and returns , ensure that the image decoder was loaded using the option. A fast metadata encoder is not supported when the decoder is created using the option.

If the commit fails for any reason, you will need to re-encode the image to ensure the new metadata is added to the image.

ee690270 HRESULT IWICFastMetadataEncoder::Commit() IWICFastMetadataEncoder::Commit

Proxy function for the GetMetadataQueryWriter method.

No documentation.

If this function succeeds, it returns . Otherwise, it returns an error code.

ee690273 HRESULT IWICFastMetadataEncoder::GetMetadataQueryWriter([Out] IWICMetadataQueryWriter** ppIMetadataQueryWriter) IWICFastMetadataEncoder::GetMetadataQueryWriter
Initializes a new instance of the class from a The factory. The decoder. Initializes a new instance of the class from a The factory. The frame decoder.

Initializes the format converter.

If you do not have a predefined palette, you must first create one. Use InitializeFromBitmap to create the palette object, then pass it in along with your other parameters.

dither, pIPalette, alphaThresholdPercent, and paletteTranslate are used to mitigate color loss when converting to a reduced bit-depth format. For conversions that do not need these settings, the following parameters values should be used: dither set to , pIPalette set to null, alphaThresholdPercent set to 0.0f, and paletteTranslate set to .

The basic algorithm involved when using an ordered dither requires a fixed palette, found in the enumeration, in a specific order. Often, the actual palette provided for the output may have a different ordering or some slight variation in the actual colors. This is the case when using the Microsoft?Windows palette which has slight differences among versions of Windows. To provide for this, a palette and a palette translation are given to the format converter. The pIPalette is the actual destination palette to be used and the paletteTranslate is a fixed palette. Once the conversion is complete, the colors are mapped from the fixed palette to the actual colors in pIPalette using a nearest color matching algorithm.

If colors in pIPalette do not closely match those in paletteTranslate, the mapping may produce undesireable results.

can be useful in format conversions from 8-bit formats to 5- or 6-bit formats as there is no way to accurately convert color data.

selects the error diffusion algorithm and may be used with any palette. If an arbitrary palette is provided, WICBitmapPaletteCustom should be passed in as the paletteTranslate. Error diffusion often provides superior results compared to the ordered dithering algorithms especially when combined with the optimized palette generation functionality on the .

When converting a bitmap which has an alpha channel, such as a Portable Network Graphics (PNG), to 8bpp, the alpha channel is normally ignored. Any pixels which were transparent in the original bitmap show up as black in the final output because both transparent and black have pixel values of zero in the respective formats.

Some 8bpp content can contains an alpha color; for instance, the Graphics Interchange Format (GIF) format allows for a single palette entry to be used as a transparent color. For this type of content, alphaThresholdPercent specifies what percentage of transparency should map to the transparent color. Because the alpha value is directly proportional to the opacity (not transparency) of a pixel, the alphaThresholdPercent indicates what level of opacity is mapped to the fully transparent color. For instance, 9.8% implies that any pixel with an alpha value of less than 25 will be mapped to the transparent color. A value of 100% maps all pixels which are not fully opaque to the transparent color. Note that the palette should provide a transparent color. If it does not, the 'transparent' color will be the one closest to zero - often black.

ee690279 IWICFormatConverter IWICFormatConverter
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Initializes the format converter.

The input bitmap to convert

The destination pixel format .

The used for conversion.

The palette to use for conversion.

The alpha threshold to use for conversion.

The palette translation type to use for conversion.

If this method succeeds, it returns . Otherwise, it returns an error code.

If you do not have a predefined palette, you must first create one. Use InitializeFromBitmap to create the palette object, then pass it in along with your other parameters.

dither, pIPalette, alphaThresholdPercent, and paletteTranslate are used to mitigate color loss when converting to a reduced bit-depth format. For conversions that do not need these settings, the following parameters values should be used: dither set to , pIPalette set to null, alphaThresholdPercent set to 0.0f, and paletteTranslate set to .

The basic algorithm involved when using an ordered dither requires a fixed palette, found in the enumeration, in a specific order. Often, the actual palette provided for the output may have a different ordering or some slight variation in the actual colors. This is the case when using the Microsoft?Windows palette which has slight differences among versions of Windows. To provide for this, a palette and a palette translation are given to the format converter. The pIPalette is the actual destination palette to be used and the paletteTranslate is a fixed palette. Once the conversion is complete, the colors are mapped from the fixed palette to the actual colors in pIPalette using a nearest color matching algorithm.

If colors in pIPalette do not closely match those in paletteTranslate, the mapping may produce undesireable results.

can be useful in format conversions from 8-bit formats to 5- or 6-bit formats as there is no way to accurately convert color data.

selects the error diffusion algorithm and may be used with any palette. If an arbitrary palette is provided, WICBitmapPaletteCustom should be passed in as the paletteTranslate. Error diffusion often provides superior results compared to the ordered dithering algorithms especially when combined with the optimized palette generation functionality on the .

When converting a bitmap which has an alpha channel, such as a Portable Network Graphics (PNG), to 8bpp, the alpha channel is normally ignored. Any pixels which were transparent in the original bitmap show up as black in the final output because both transparent and black have pixel values of zero in the respective formats.

Some 8bpp content can contains an alpha color; for instance, the Graphics Interchange Format (GIF) format allows for a single palette entry to be used as a transparent color. For this type of content, alphaThresholdPercent specifies what percentage of transparency should map to the transparent color. Because the alpha value is directly proportional to the opacity (not transparency) of a pixel, the alphaThresholdPercent indicates what level of opacity is mapped to the fully transparent color. For instance, 9.8% implies that any pixel with an alpha value of less than 25 will be mapped to the transparent color. A value of 100% maps all pixels which are not fully opaque to the transparent color. Note that the palette should provide a transparent color. If it does not, the 'transparent' color will be the one closest to zero - often black.

ee690279 HRESULT IWICFormatConverter::Initialize([In, Optional] IWICBitmapSource* pISource,[In] const GUID& dstFormat,[In] WICBitmapDitherType dither,[In, Optional] IWICPalette* pIPalette,[In] double alphaThresholdPercent,[In] WICBitmapPaletteType paletteTranslate) IWICFormatConverter::Initialize

Determines if the source pixel format can be converted to the destination pixel format.

The source pixel format.

The destionation pixel format.

A reference that receives a value indicating whether the source pixel format can be converted to the destination pixel format.

ee690278 HRESULT IWICFormatConverter::CanConvert([In] const GUID& srcPixelFormat,[In] const GUID& dstPixelFormat,[Out] BOOL* pfCanConvert) IWICFormatConverter::CanConvert
Initializes a new instance of the class. The converter info. Initializes this instance with the specified bitmap source and format The source ref. The destination format. Initializes a new instance of the class. The factory.

Exposes methods that provide information about a pixel format converter.

ee690275 IWICFormatConverterInfo IWICFormatConverterInfo
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves a list of GUIDs that signify which pixel formats the converter supports.

The size of the pPixelFormatGUIDs array.

Pointer to a array that receives the pixel formats the converter supports.

The actual array size needed to retrieve all pixel formats supported by the converter.

If this method succeeds, it returns . Otherwise, it returns an error code.

The format converter does not necessarily guarantee symmetricality with respect to conversion; that is, a converter may be able to convert FROM a particular format without actually being able to convert TO a particular format. In order to test symmetricality, use CanConvert.

To determine the number of pixel formats a coverter can handle, set cFormats to 0 and pPixelFormatGUIDs to null. The converter will fill pcActual with the number of formats supported by that converter.

ee690277 HRESULT IWICFormatConverterInfo::GetPixelFormats([In] unsigned int cFormats,[In] void* pPixelFormatGUIDs,[Out] unsigned int* pcActual) IWICFormatConverterInfo::GetPixelFormats

Creates a new instance.

No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690276 HRESULT IWICFormatConverterInfo::CreateInstance([Out, Fast] IWICFormatConverter** ppIConverter) IWICFormatConverterInfo::CreateInstance
Gets the supported pixel formats.

Encodes interfaces to an . The input images can be larger than the maximum device texture size.

hh880844 IWICImageEncoder IWICImageEncoder
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Encodes the image to the frame given by the .

No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

The image passed in must be created on the same device as in . If the pImageParameters are not specified, a set of useful defaults will be assumed, see for more info.

You must correctly and independently have set up the before calling this API.

hh880845 HRESULT IWICImageEncoder::WriteFrame([In] ID2D1Image* pImage,[In] IWICBitmapFrameEncode* pFrameEncode,[In, Value] const WICImageParameters* pImageParameters) IWICImageEncoder::WriteFrame

Encodes the image as a thumbnail to the frame given by the .

No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

The image passed in must be created on the same device as in . If the pImageParameters are not specified, a set of useful defaults will be assumed, see for more info.

You must correctly and independently have set up the before calling this API.

hh880846 HRESULT IWICImageEncoder::WriteFrameThumbnail([In] ID2D1Image* pImage,[In] IWICBitmapFrameEncode* pFrameEncode,[In, Value] const WICImageParameters* pImageParameters) IWICImageEncoder::WriteFrameThumbnail

Encodes the given image as the thumbnail to the given WIC bitmap encoder.

The Direct2D image that will be encoded.

The encoder on which the thumbnail is set.

Additional parameters to control encoding.

If this method succeeds, it returns . Otherwise, it returns an error code.

You must create the image that you pass in on the same device as in . If you don't specify additional parameters in the variable that pImageParameters points to, the encoder uses a set of useful defaults. For info about these defaults, see .

Before you call WriteThumbnail, you must set up the interface for the encoder on which you want to set the thumbnail.

If WriteThumbnail fails, it might return E_OUTOFMEMORY, , or other error codes from the encoder.

hh880847 HRESULT IWICImageEncoder::WriteThumbnail([In] ID2D1Image* pImage,[In] IWICBitmapEncoder* pEncoder,[In, Value] const WICImageParameters* pImageParameters) IWICImageEncoder::WriteThumbnail
Creates a new image encoder object. The WIC factory. The object on which the corresponding image encoder is created. hh880849 HRESULT IWICImagingFactory2::CreateImageEncoder([In] ID2D1Device* pD2DDevice,[In] IWICImageEncoder** ppWICImageEncoder) IWICImagingFactory2::CreateImageEncoder

Exposes methods used to create components for the Windows Imaging Component (WIC) such as decoders, encoders and pixel format converters.

ee690281 IWICImagingFactory IWICImagingFactory
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion. Constant WICImagingFactoryClsid. CLSID_WICImagingFactory

Creates a new instance of the class based on the given file.

No documentation. No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690307 HRESULT IWICImagingFactory::CreateDecoderFromFilename([In] const wchar_t* wzFilename,[In, Optional] const GUID* pguidVendor,[In] unsigned int dwDesiredAccess,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) IWICImagingFactory::CreateDecoderFromFilename

Creates a new instance of the class based on the given .

No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690309 HRESULT IWICImagingFactory::CreateDecoderFromStream([In, Optional] IStream* pIStream,[In, Optional] const GUID* pguidVendor,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) IWICImagingFactory::CreateDecoderFromStream

Creates a new instance of the based on the given file handle.

No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

When a decoder is created using this method, the file handle must remain alive during the lifetime of the decoder.

ee690305 HRESULT IWICImagingFactory::CreateDecoderFromFileHandle([In] ULONG_PTR hFile,[In, Optional] const GUID* pguidVendor,[In] WICDecodeOptions metadataOptions,[Out, Fast] IWICBitmapDecoder** ppIDecoder) IWICImagingFactory::CreateDecoderFromFileHandle

Proxy function for the CreateComponentInfo method.

No documentation. No documentation.

If this function succeeds, it returns . Otherwise, it returns an error code.

ee690303 HRESULT IWICImagingFactory::CreateComponentInfo([In] const GUID& clsidComponent,[Out, Fast] IWICComponentInfo** ppIInfo) IWICImagingFactory::CreateComponentInfo

Creates a new instance of .

No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

Other values may be available for both guidContainerFormat and pguidVendor depending on the installed WIC-enabled encoders. The values listed are those that are natively supported by the operating system.

ee690304 HRESULT IWICImagingFactory::CreateDecoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out, Fast] IWICBitmapDecoder** ppIDecoder) IWICImagingFactory::CreateDecoder

Creates a new instance of the class.

No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

Other values may be available for both guidContainerFormat and pguidVendor depending on the installed WIC-enabled encoders. The values listed are those that are natively supported by the operating system.

ee690311 HRESULT IWICImagingFactory::CreateEncoder([In] const GUID& guidContainerFormat,[In, Optional] const GUID* pguidVendor,[Out, Fast] IWICBitmapEncoder** ppIEncoder) IWICImagingFactory::CreateEncoder

Creates a new instance of the class.

No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690319 HRESULT IWICImagingFactory::CreatePalette([Out, Fast] IWICPalette** ppIPalette) IWICImagingFactory::CreatePalette

Creates a new instance of the class.

No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690317 HRESULT IWICImagingFactory::CreateFormatConverter([Out, Fast] IWICFormatConverter** ppIFormatConverter) IWICImagingFactory::CreateFormatConverter

Creates a new instance of an .

No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690296 HRESULT IWICImagingFactory::CreateBitmapScaler([Out, Fast] IWICBitmapScaler** ppIBitmapScaler) IWICImagingFactory::CreateBitmapScaler

Proxy function for the CreateBitmapClipper method.

No documentation.

If this function succeeds, it returns . Otherwise, it returns an error code.

ee690284 HRESULT IWICImagingFactory::CreateBitmapClipper([Out, Fast] IWICBitmapClipper** ppIBitmapClipper) IWICImagingFactory::CreateBitmapClipper

Proxy function for the CreateBitmapFlipRotator method.

No documentation.

If this function succeeds, it returns . Otherwise, it returns an error code.

ee690286 HRESULT IWICImagingFactory::CreateBitmapFlipRotator([Out, Fast] IWICBitmapFlipRotator** ppIBitmapFlipRotator) IWICImagingFactory::CreateBitmapFlipRotator

Creates a new instance of the class.

No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690325 HRESULT IWICImagingFactory::CreateStream([Out, Fast] IWICStream** ppIWICStream) IWICImagingFactory::CreateStream

Creates a new instance of the class.

No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690299 HRESULT IWICImagingFactory::CreateColorContext([Out, Fast] IWICColorContext** ppIWICColorContext) IWICImagingFactory::CreateColorContext

Creates a new instance of the class.

No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690300 HRESULT IWICImagingFactory::CreateColorTransformer([Out, Fast] IWICColorTransform** ppIWICColorTransform) IWICImagingFactory::CreateColorTransformer

Creates an object.

No documentation. No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690282 HRESULT IWICImagingFactory::CreateBitmap([In] unsigned int uiWidth,[In] unsigned int uiHeight,[In] const GUID& pixelFormat,[In] WICBitmapCreateCacheOption option,[Out, Fast] IWICBitmap** ppIBitmap) IWICImagingFactory::CreateBitmap

Creates a from a .

No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690293 HRESULT IWICImagingFactory::CreateBitmapFromSource([In, Optional] IWICBitmapSource* pIBitmapSource,[In] WICBitmapCreateCacheOption option,[Out, Fast] IWICBitmap** ppIBitmap) IWICImagingFactory::CreateBitmapFromSource

Creates an from a specified rectangle of an .

No documentation. No documentation. No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

Providing a rectangle that is larger than the source will produce undefined results.

This method always creates a separate copy of the source image, similar to the cache option .

ee690294 HRESULT IWICImagingFactory::CreateBitmapFromSourceRect([In, Optional] IWICBitmapSource* pIBitmapSource,[In] unsigned int x,[In] unsigned int y,[In] unsigned int width,[In] unsigned int height,[Out, Fast] IWICBitmap** ppIBitmap) IWICImagingFactory::CreateBitmapFromSourceRect

Creates an from a memory block.

No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

The size of the to be created must be smaller than or equal to the size of the image in pbBuffer.

The stride of the destination bitmap will equal the stride of the source data, regardless of the width and height specified.

The pixelFormat parameter defines the pixel format for both the input data and the output bitmap.

ee690291 HRESULT IWICImagingFactory::CreateBitmapFromMemory([In] unsigned int uiWidth,[In] unsigned int uiHeight,[In] const GUID& pixelFormat,[In] unsigned int cbStride,[In] unsigned int cbBufferSize,[In] void* pbBuffer,[Out, Fast] IWICBitmap** ppIBitmap) IWICImagingFactory::CreateBitmapFromMemory

Creates an from a bitmap handle.

No documentation. No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

For a non-palletized bitmap, set null for the hPalette parameter.

ee690287 HRESULT IWICImagingFactory::CreateBitmapFromHBITMAP([In] HBITMAP hBitmap,[In, Optional] HPALETTE hPalette,[In] WICBitmapAlphaChannelOption options,[Out, Fast] IWICBitmap** ppIBitmap) IWICImagingFactory::CreateBitmapFromHBITMAP

Creates an from an icon handle.

No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee690289 HRESULT IWICImagingFactory::CreateBitmapFromHICON([In] HICON hIcon,[Out, Fast] IWICBitmap** ppIBitmap) IWICImagingFactory::CreateBitmapFromHICON

Creates an object of the specified component types.

No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

Component types must be enumerated seperately. Combinations of component types and are unsupported.

ee690301 HRESULT IWICImagingFactory::CreateComponentEnumerator([In] unsigned int componentTypes,[In] unsigned int options,[Out, Fast] IEnumUnknown** ppIEnumUnknown) IWICImagingFactory::CreateComponentEnumerator

Creates a new instance of the fast metadata encoder based on the given .

No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

The Windows provided codecs do not support fast metadata encoding at the decoder level, and only support fast metadata encoding at the frame level. To create a fast metadata encoder from a frame, see CreateFastMetadataEncoderFromFrameDecode.

ee690313 HRESULT IWICImagingFactory::CreateFastMetadataEncoderFromDecoder([In, Optional] IWICBitmapDecoder* pIDecoder,[Out, Fast] IWICFastMetadataEncoder** ppIFastEncoder) IWICImagingFactory::CreateFastMetadataEncoderFromDecoder

Creates a new instance of the fast metadata encoder based on the given image frame.

The to create the from.

When this method returns, contains a reference to a new fast metadata encoder.

If this method succeeds, it returns . Otherwise, it returns an error code.

For a list of support metadata formats for fast metadata encoding, see WIC Metadata Overview.

ee690315 HRESULT IWICImagingFactory::CreateFastMetadataEncoderFromFrameDecode([In, Optional] IWICBitmapFrameDecode* pIFrameDecoder,[Out, Fast] IWICFastMetadataEncoder** ppIFastEncoder) IWICImagingFactory::CreateFastMetadataEncoderFromFrameDecode

Proxy function for the CreateQueryWriter method.

No documentation. No documentation. No documentation.

If this function succeeds, it returns . Otherwise, it returns an error code.

ee690324 HRESULT IWICImagingFactory::CreateQueryWriter([In] const GUID& guidMetadataFormat,[In, Optional] const GUID* pguidVendor,[Out, Fast] IWICMetadataQueryWriter** ppIQueryWriter) IWICImagingFactory::CreateQueryWriter

Proxy function for the CreateQueryWriterFromReader method.

No documentation. No documentation. No documentation.

If this function succeeds, it returns . Otherwise, it returns an error code.

ee690323 HRESULT IWICImagingFactory::CreateQueryWriterFromReader([In, Optional] IWICMetadataQueryReader* pIQueryReader,[In, Optional] const GUID* pguidVendor,[Out, Fast] IWICMetadataQueryWriter** ppIQueryWriter) IWICImagingFactory::CreateQueryWriterFromReader
Initializes a new instance of the class.

An extension of the WIC factory interface that includes the ability to create an . This interface uses a Direct2D device and an input image to encode to a destination .

hh880848 IWICImagingFactory2 IWICImagingFactory2
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Creates a new image encoder object.

The object on which the corresponding image encoder is created.

A reference to a variable that receives a reference to the interface for the encoder object that you can use to encode Direct2D images.

If this method succeeds, it returns . Otherwise, it returns an error code.

You must create images to pass to the image encoder on the same Direct2D device that you pass to this method.

You are responsible for setting up the bitmap encoder itself through the existing APIs. The or the object is passed to each of the methods: WriteThumbnail, WriteFrame, and WriteFrameThumbnail.

hh880849 HRESULT IWICImagingFactory2::CreateImageEncoder([In] ID2D1Device* pD2DDevice,[Out, Fast] IWICImageEncoder** ppWICImageEncoder) IWICImagingFactory2::CreateImageEncoder
Initializes a new instance of the class.

Exposes methods for decoding JPEG images. Provides access to the Start Of Frame (SOF) header, Start of Scan (SOS) header, the Huffman and Quantization tables, and the compressed JPEG JPEG data. Also enables indexing for efficient random access.

Obtain this interface by calling IUnknown::QueryInterface on the Windows-provided IWICBitmapFrameDecoder interface for the JPEG decoder.

dn903834 IWICJpegFrameDecode IWICJpegFrameDecode
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves header data from the entire frame. The result includes parameters from the Start Of Frame (SOF) marker for the scan as well as parameters derived from other metadata such as the color model of the compressed data.

dn903851 GetFrameHeader GetFrameHeader HRESULT IWICJpegFrameDecode::GetFrameHeader([Out] WICJpegFrameHeader* pFrameHeader)

Retrieves a value indicating whether this decoder supports indexing for efficient random access.

True if indexing is supported; otherwise, false.

Returns on successful completion.

Indexing is only supported for some JPEG types. Call this method

dn903843 HRESULT IWICJpegFrameDecode::DoesSupportIndexing([Out] BOOL* pfIndexingSupported) IWICJpegFrameDecode::DoesSupportIndexing

Enables indexing of the JPEG for efficient random access.

A value specifying whether indexes should be generated immediately or deferred until a future call to .

The granularity of the indexing, in pixels.

Returns upon successful completion.

This method enables efficient random-access to the image pixels at the expense of memory usage. The amount of memory required for indexing depends on the requested index granularity. Unless SetIndexing is called, it is much more efficient to access a JPEG by progressing through its pixels top-down during calls to .

This method will fail if indexing is unsupported on the file. should be called to first determine whether indexing is supported. If this method is called multiple times, the final call changes the index granularity to the requested size.

The provided interval size controls horizontal spacing of index entries. This value is internally rounded up according to the JPEG?s MCU (minimum coded unit) size, which is typically either 8 or 16 unscaled pixels. The vertical size of the index interval is always equal to one MCU size.

Indexes can be generated immediately, or during future calls to to reduce redundant decompression work.

dn903861 HRESULT IWICJpegFrameDecode::SetIndexing([In] WICJpegIndexingOptions options,[In] unsigned int horizontalIntervalSize) IWICJpegFrameDecode::SetIndexing

Removes the indexing from a JPEG that has been indexed using .

Returns upons successful completion.

dn903837 HRESULT IWICJpegFrameDecode::ClearIndexing() IWICJpegFrameDecode::ClearIndexing

Retrieves a copy of the AC Huffman table for the specified scan and table.

The zero-based index of the scan for which data is retrieved.

The index of the AC Huffman table to retrieve. Valid indices for a given scan can be determined by retrieving the scan header with .

A reference that receives the table data. This parameter must not be null.

This method can return one of these values.

Return valueDescription

The operation was successful.

The specified scan index is invalid.

Can occur if pAcHuffmanTable is null or if tableIndex does not point to a valid table slot. Check the scan header for valid table indices.

?

dn903845 HRESULT IWICJpegFrameDecode::GetAcHuffmanTable([In] unsigned int scanIndex,[In] unsigned int tableIndex,[Out] DXGI_JPEG_AC_HUFFMAN_TABLE* pAcHuffmanTable) IWICJpegFrameDecode::GetAcHuffmanTable

Retrieves a copy of the DC Huffman table for the specified scan and table.

The zero-based index of the scan for which data is retrieved.

The index of the DC Huffman table to retrieve. Valid indices for a given scan can be determined by retrieving the scan header with .

A reference that receives the table data. This parameter must not be null.

This method can return one of these values.

Return valueDescription

The operation was successful.

The specified scan index is invalid.

Can occur if pTable is null or if tableIndex does not point to a valid table slot. Check the scan header for valid table indices.

?

dn903848 HRESULT IWICJpegFrameDecode::GetDcHuffmanTable([In] unsigned int scanIndex,[In] unsigned int tableIndex,[Out] DXGI_JPEG_DC_HUFFMAN_TABLE* pDcHuffmanTable) IWICJpegFrameDecode::GetDcHuffmanTable

Retrieves a copy of the quantization table.

The zero-based index of the scan for which data is retrieved.

The index of the quantization table to retrieve. Valid indices for a given scan can be determined by retrieving the scan header with .

A reference that receives the table data. This parameter must not be null.

This method can return one of these values.

Return valueDescription

The operation was successful.

The specified scan index is invalid.

Can occur if pTable is null or if tableIndex does not point to a valid table slot. Check the scan header for valid table indices.

?

dn903854 HRESULT IWICJpegFrameDecode::GetQuantizationTable([In] unsigned int scanIndex,[In] unsigned int tableIndex,[Out] DXGI_JPEG_QUANTIZATION_TABLE* pQuantizationTable) IWICJpegFrameDecode::GetQuantizationTable

Retrieves header data from the entire frame. The result includes parameters from the Start Of Frame (SOF) marker for the scan as well as parameters derived from other metadata such as the color model of the compressed data.

A reference that receives the frame header data.

Returns on successful completion.

dn903851 HRESULT IWICJpegFrameDecode::GetFrameHeader([Out] WICJpegFrameHeader* pFrameHeader) IWICJpegFrameDecode::GetFrameHeader

Retrieves parameters from the Start Of Scan (SOS) marker for the scan with the specified index.

The index of the scan for which header data is retrieved.

A reference that receives the frame header data.

Returns on successful completion.

dn903858 HRESULT IWICJpegFrameDecode::GetScanHeader([In] unsigned int scanIndex,[Out] WICJpegScanHeader* pScanHeader) IWICJpegFrameDecode::GetScanHeader

Retrieves a copy of the compressed JPEG scan directly from the WIC decoder frame's output stream.

The zero-based index of the scan for which data is retrieved.

The byte position in the scan data to begin copying. Use 0 on the first call. If the output buffer size is insufficient to store the entire scan, this offset allows you to resume copying from the end of the previous copy operation.

The size, in bytes, of the pbScanData array.

A reference that receives the table data. This parameter must not be null.

A reference that receives the size of the scan data actually copied into pbScanData. The size returned may be smaller that the size of cbScanData. This parameter may be null.

This method can return one of these values.

Return valueDescription

The operation was successful.

The specified scan index is invalid.

?

dn903841 HRESULT IWICJpegFrameDecode::CopyScan([In] unsigned int scanIndex,[In] unsigned int scanOffset,[In] unsigned int cbScanData,[Out, Buffer] unsigned char* pbScanData,[Out] unsigned int* pcbScanDataActual) IWICJpegFrameDecode::CopyScan
No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. HRESULT IWICJpegFrameDecode::CopyMinimalStream([In] unsigned int streamOffset,[In] unsigned int cbStreamData,[Out, Buffer] unsigned char* pbStreamData,[Out] unsigned int* pcbStreamDataActual) IWICJpegFrameDecode::CopyMinimalStream

Exposes methods for writing compressed JPEG scan data directly to the WIC encoder's output stream. Also provides access to the Huffman and quantization tables.

Obtain this interface by calling IUnknown::QueryInterface on the Windows-provided IWICBitmapFrameEncoder interface for the JPEG encoder.

The WIC JPEG encoder supports a smaller subset of JPEG features than the decoder does.

  • The encoder is limited to a single scan. It does not support encoding images that are multi-scan, either for progressive encoding or planar component data.
  • The encoder supports two quantization tables, two AC Huffman tables, and two DC Huffman tables. The luma tables are used for the Y channel and, in the case of YCCK, the black channel. The chroma tables are used for the CbCr channels.
  • The encoder supports encoding gray, YCbCr (RGB), and YCCK (CMYK).
  • The encoder supports 4 fixed compontent subsampling, 4:2:0, 4:2:2, 4:4:0, and 4:4:4. This subsamples chroma only.
  • The encoder does not support restart markers.
dn903864 IWICJpegFrameEncode IWICJpegFrameEncode
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves a copy of the AC Huffman table for the specified scan and table.

The zero-based index of the scan for which data is retrieved.

The index of the AC Huffman table to retrieve.

A reference that receives the table data. This parameter must not be null.

This method can return one of these values.

Return valueDescription

The operation was successful.

The specified scan index is invalid.

Can occur if pAcHuffmanTable is null or if tableIndex does not point to a valid table slot. Check the scan header for valid table indices.

?

dn903867 HRESULT IWICJpegFrameEncode::GetAcHuffmanTable([In] unsigned int scanIndex,[In] unsigned int tableIndex,[Out] DXGI_JPEG_AC_HUFFMAN_TABLE* pAcHuffmanTable) IWICJpegFrameEncode::GetAcHuffmanTable

Retrieves a copy of the DC Huffman table for the specified scan and table.

The zero-based index of the scan for which data is retrieved.

The index of the DC Huffman table to retrieve.

A reference that receives the table data. This parameter must not be null.

This method can return one of these values.

Return valueDescription

The operation was successful.

The specified scan index is invalid.

Can occur if pTable is null or if tableIndex does not point to a valid table slot. Check the scan header for valid table indices.

?

dn903870 HRESULT IWICJpegFrameEncode::GetDcHuffmanTable([In] unsigned int scanIndex,[In] unsigned int tableIndex,[Out] DXGI_JPEG_DC_HUFFMAN_TABLE* pDcHuffmanTable) IWICJpegFrameEncode::GetDcHuffmanTable

Retrieves a copy of the quantization table.

The zero-based index of the scan for which data is retrieved.

The index of the quantization table to retrieve.

A reference that receives the table data. This parameter must not be null.

This method can return one of these values.

Return valueDescription

The operation was successful.

The specified scan index is invalid.

Can occur if pTable is null or if tableIndex does not point to a valid table slot. Check the scan header for valid table indices.

?

dn903873 HRESULT IWICJpegFrameEncode::GetQuantizationTable([In] unsigned int scanIndex,[In] unsigned int tableIndex,[Out] DXGI_JPEG_QUANTIZATION_TABLE* pQuantizationTable) IWICJpegFrameEncode::GetQuantizationTable

Writes scan data to a JPEG frame.

The size of the data in the pbScanData parameter.

The scan data to write.

Returns on successful completion.

WriteScan may be called multiple times. Each call appends the scan data specified to any previous scan data. Complete the scan by calling .

Any calls to set encoder parameters or image metadata that will appear before the scan data in the resulting JPEG file must be completed before the first call to this method. This includes calls to , , , , and . is required as it has no default value for encoded image size.

dn903875 HRESULT IWICJpegFrameEncode::WriteScan([In] unsigned int cbScanData,[In, Buffer] const unsigned char* pbScanData) IWICJpegFrameEncode::WriteScan

Exposes methods for retrieving metadata blocks and items from a decoder or its image frames using a metadata query expression.

A metadata query reader uses metadata query expressions to access embedded metadata. For more information on the metadata query language, see the Metadata Query Language Overview.

The benefit of the query reader is the ability to access a metadata item in a single step.

The query reader also provides the way to traverse the whole set of metadata hierarchy with the help of the GetEnumerator method. However, it is not recommended to use this method since IWICMetadataBlockReader and IWICMetadataReader provide a more convenient and cheaper way.

ee719708 IWICMetadataQueryReader IWICMetadataQueryReader
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the metadata query readers container format.

ee719709 GetContainerFormat GetContainerFormat HRESULT IWICMetadataQueryReader::GetContainerFormat([Out] GUID* pguidContainerFormat)

Gets the metadata query readers container format.

Pointer that receives the cointainer format .

If this method succeeds, it returns . Otherwise, it returns an error code.

ee719709 HRESULT IWICMetadataQueryReader::GetContainerFormat([Out] GUID* pguidContainerFormat) IWICMetadataQueryReader::GetContainerFormat

Retrieves the current path relative to the root metadata block.

The length of the wzNamespace buffer.

Pointer that receives the current namespace location.

The actual buffer length that was needed to retrieve the current namespace location.

If this method succeeds, it returns . Otherwise, it returns an error code.

If you pass null to wzNamespace, GetLocation ignores cchMaxLength and returns the required buffer length to store the path in the variable that pcchActualLength points to.

If the query reader is relative to the top of the metadata hierarchy, it will return a single-char string.

If the query reader is relative to a nested metadata block, this method will return the path to the current query reader.

ee719713 HRESULT IWICMetadataQueryReader::GetLocation([In] unsigned int cchMaxLength,[In] void* wzNamespace,[Out] unsigned int* pcchActualLength) IWICMetadataQueryReader::GetLocation

Retrieves the metadata block or item identified by a metadata query expression.

The query expression to the requested metadata block or item.

When this method returns, contains the metadata block or item requested.

If this method succeeds, it returns . Otherwise, it returns an error code.

GetMetadataByName uses metadata query expressions to access embedded metadata. For more information on the metadata query language, see the Metadata Query Language Overview.

If multiple blocks or items exist that are expressed by the same query expression, the first metadata block or item found will be returned.

ee719715 HRESULT IWICMetadataQueryReader::GetMetadataByName([In] const wchar_t* wzName,[In] void* pvarValue) IWICMetadataQueryReader::GetMetadataByName

Gets an enumerator of all metadata items at the current relative location within the metadata hierarchy.

A reference to a variable that receives a reference to the interface for the enumerator that contains query strings that can be used in the current .

The retrieved enumerator only contains query strings for the metadata blocks and items in the current level of the hierarchy.

ee719711 HRESULT IWICMetadataQueryReader::GetEnumerator([Out] void** ppIEnumString) IWICMetadataQueryReader::GetEnumerator
Gets the enumerator on the metadata names. Gets the enumerator on all the metadata query paths. http://msdn.microsoft.com/en-us/library/windows/desktop/ee719796(v=vs.85).aspx#expressionanatomy Gets the location. HRESULT IWICMetadataQueryReader::GetLocation([In] unsigned int cchMaxLength,[InOut, Buffer, Optional] wchar_t* wzNamespace,[Out] unsigned int* pcchActualLength) Try to get the metadata value by name. The name. The metadata value, or null if the metadata was not found or an error occurred The WIC error code HRESULT IWICMetadataQueryReader::GetMetadataByName([In] const wchar_t* wzName,[InOut, Optional] PROPVARIANT* pvarValue) Try to get the metadata value by name. The name. the metadata value, or null if the metadata was not found HRESULT IWICMetadataQueryReader::GetMetadataByName([In] const wchar_t* wzName,[InOut, Optional] PROPVARIANT* pvarValue) Gets the metadata value by name. The name. Value of the metadata HRESULT IWICMetadataQueryReader::GetMetadataByName([In] const wchar_t* wzName,[InOut, Optional] PROPVARIANT* pvarValue) Dumps all metadata. The text writer output. The level of tabulations. This is a simple helper method to dump metadata stored in this instance.

Exposes methods for setting or removing metadata blocks and items to an encoder or its image frames using a metadata query expression.

A metadata query writer uses metadata query expressions to set or remove metadata. For more information on the metadata query language, see the Metadata Query Language Overview.

ee719717 IWICMetadataQueryWriter IWICMetadataQueryWriter
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Sets a metadata item to a specific location.

The name of the metadata item.

The metadata to set.

If this method succeeds, it returns . Otherwise, it returns an error code.

SetMetadataByName uses metadata query expressions to remove metadata. For more information on the metadata query language, see the Metadata Query Language Overview.

If the value set is a nested metadata block then use variant type VT_UNKNOWN and pvarValue pointing to the of the new metadata block. The ordering of metadata items is at the discretion of the query writer since relative locations are not specified.

ee719720 HRESULT IWICMetadataQueryWriter::SetMetadataByName([In] const wchar_t* wzName,[In] const void* pvarValue) IWICMetadataQueryWriter::SetMetadataByName

Proxy function for the RemoveMetadataByName method.

No documentation.

If this function succeeds, it returns . Otherwise, it returns an error code.

ee719719 HRESULT IWICMetadataQueryWriter::RemoveMetadataByName([In] const wchar_t* wzName) IWICMetadataQueryWriter::RemoveMetadataByName
Initializes a new instance of the class. The factory. The GUID metadata format. Initializes a new instance of the class. The factory. The GUID metadata format. The GUID vendor ref. HRESULT IWICImagingFactory::CreateQueryWriter([In] const GUID& guidMetadataFormat,[In, Optional] const GUID* pguidVendor,[Out, Fast] IWICMetadataQueryWriter** ppIQueryWriter) Initializes a new instance of the class from a . The factory. The metadata query reader. Initializes a new instance of the class from a . The factory. The metadata query reader. The GUID vendor ref. Sets the value for a metadata name The name of the metadata. The value.

Exposes methods for accessing and building a color table, primarily for indexed pixel formats.

If the is not WICBitmapPaletteCustom, then the colors are automatically generated based on the table above. If the user subsequently changes a color palette entry the WICBitmapPalette is set to Custom by that action.

InitializeFromBitmap's fAddTransparentColor parameter will add a transparent color to the end of the color collection if its size if less than 256, otherwise index 255 will be replaced with the transparent color. If a pre-defined palette type is used, it will change to BitmapPaletteTypeCustom since it no longer matches the predefined palette.

The palette interface is an auxiliary imaging interface in that it does not directly concern bitmaps and pixels; rather it provides indexed color translation for indexed bitmaps. For an indexed pixel format with M bits per pixels: (The number of colors in the palette) greater than 2^M.

Traditionally the basic operation of the palette is to provide a translation from a byte (or smaller) index into a 32bpp color value. This is often accomplished by a 256 entry table of color values.

ee719741 IWICPalette IWICPalette
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Retrieves the that describes the palette.

WICBitmapPaletteCustom is used for palettes initialized from both InitializeCustom and InitializeFromBitmap. There is no distinction is made between optimized and custom palettes.

ee719746 GetType GetType HRESULT IWICPalette::GetType([Out] WICBitmapPaletteType* pePaletteType)

Proxy function for the GetColorCount method.

ee719743 GetColorCount GetColorCount HRESULT IWICPalette::GetColorCount([Out] unsigned int* pcCount)

Retrieves a value that describes whether the palette is black and white.

A palette is considered to be black and white only if it contains exactly two entries, one full black (0xFF000000) and one full white (0xFFFFFFF).

ee719758 IsBlackWhite IsBlackWhite HRESULT IWICPalette::IsBlackWhite([Out] BOOL* pfIsBlackWhite)

Retrieves a value that describes whether a palette is grayscale.

A palette is considered grayscale only if, for every entry, the alpha value is 0xFF and the red, green and blue values match.

ee719759 IsGrayscale IsGrayscale HRESULT IWICPalette::IsGrayscale([Out] BOOL* pfIsGrayscale)

Initializes the palette to one of the pre-defined palettes specified by and optionally adds a transparent color.

No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

If a transparent color is added to a palette, the palette is no longer predefined and is returned as . For palettes with less than 256 entries, the transparent entry is added to the end of the palette (that is, a 16-color palette becomes a 17-color palette). For palettes with 256 colors, the transparent palette entry will replace the last entry in the pre-defined palette.

ee719756 HRESULT IWICPalette::InitializePredefined([In] WICBitmapPaletteType ePaletteType,[In] BOOL fAddTransparentColor) IWICPalette::InitializePredefined

Proxy function for the InitializeCustom method.

No documentation. No documentation.

If this function succeeds, it returns . Otherwise, it returns an error code.

ee719751 HRESULT IWICPalette::InitializeCustom([In, Buffer] void* pColors,[In] unsigned int cCount) IWICPalette::InitializeCustom

Initializes a palette using a computed optimized values based on the reference bitmap.

Pointer to the source bitmap.

The number of colors to initialize the palette with.

A value to indicate whether to add a transparent color.

If this method succeeds, it returns . Otherwise, it returns an error code.

The resulting palette contains the specified number of colors which best represent the colors present in the bitmap. The algorithm operates on the opaque RGB color value of each pixel in the reference bitmap and hence ignores any alpha values. If a transparent color is required, set the fAddTransparentColor parameter to TRUE and one fewer optimized color will be computed, reducing the colorCount, and a fully transparent color entry will be added.

ee719752 HRESULT IWICPalette::InitializeFromBitmap([In, Optional] IWICBitmapSource* pISurface,[In] unsigned int cCount,[In] BOOL fAddTransparentColor) IWICPalette::InitializeFromBitmap

Initialize the palette based on a given palette.

Pointer to the source palette.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee719754 HRESULT IWICPalette::InitializeFromPalette([In, Optional] IWICPalette* pIPalette) IWICPalette::InitializeFromPalette

Retrieves the that describes the palette.

No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

WICBitmapPaletteCustom is used for palettes initialized from both InitializeCustom and InitializeFromBitmap. There is no distinction is made between optimized and custom palettes.

ee719746 HRESULT IWICPalette::GetType([Out] WICBitmapPaletteType* pePaletteType) IWICPalette::GetType

Proxy function for the GetColorCount method.

No documentation.

If this function succeeds, it returns . Otherwise, it returns an error code.

ee719743 HRESULT IWICPalette::GetColorCount([Out] unsigned int* pcCount) IWICPalette::GetColorCount

Fills out the supplied color array with the colors from the internal color table. The color array should be sized according to the return results from GetColorCount.

No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee719744 HRESULT IWICPalette::GetColors([In] unsigned int cCount,[Out, Buffer] void* pColors,[Out] unsigned int* pcActualColors) IWICPalette::GetColors

Retrieves a value that describes whether the palette is black and white.

A reference to a variable that receives a boolean value that indicates whether the palette is black and white. TRUE indicates that the palette is black and white; otherwise, .

If this method succeeds, it returns . Otherwise, it returns an error code.

A palette is considered to be black and white only if it contains exactly two entries, one full black (0xFF000000) and one full white (0xFFFFFFF).

ee719758 HRESULT IWICPalette::IsBlackWhite([Out] BOOL* pfIsBlackWhite) IWICPalette::IsBlackWhite

Retrieves a value that describes whether a palette is grayscale.

A reference to a variable that receives a boolean value that indicates whether the palette is grayscale. TRUE indicates that the palette is grayscale; otherwise .

If this method succeeds, it returns . Otherwise, it returns an error code.

A palette is considered grayscale only if, for every entry, the alpha value is 0xFF and the red, green and blue values match.

ee719759 HRESULT IWICPalette::IsGrayscale([Out] BOOL* pfIsGrayscale) IWICPalette::IsGrayscale

Proxy function for the HasAlpha method.

No documentation.

If this function succeeds, it returns . Otherwise, it returns an error code.

ee719749 HRESULT IWICPalette::HasAlpha([Out] BOOL* pfHasAlpha) IWICPalette::HasAlpha
Initializes a new instance of the class. The factory. ee690319 HRESULT IWICImagingFactory::CreatePalette([Out, Fast] IWICPalette** ppIPalette) IWICImagingFactory::CreatePalette Initializes with the specified colors. Type of the color (must be 4 bytes, RGBA) The colors. Color type must be 4 bytes ee719750 HRESULT IWICPalette::InitializeCustom([In, Buffer] void* pColors,[In] unsigned int cCount) IWICPalette::InitializeCustom Gets the colors. ee719744 HRESULT IWICPalette::GetColors([In] unsigned int cCount,[Out, Buffer] void* pColors,[Out] unsigned int* pcActualColors) IWICPalette::GetColors

Exposes methods that provide information about a pixel format.

ee719763 IWICPixelFormatInfo IWICPixelFormatInfo
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the pixel format .

ee719774 GetFormatGUID GetFormatGUID HRESULT IWICPixelFormatInfo::GetFormatGUID([Out] GUID* pFormat)

Gets the pixel format's .

The returned color context is the default color space for the pixel format. However, if an specifies its own color context, the source's context should be preferred over the pixel format's default.

ee719773 GetColorContext GetColorContext HRESULT IWICPixelFormatInfo::GetColorContext([Out] IWICColorContext** ppIColorContext)

Proxy function for the GetBitsPerPixel method.

ee719768 GetBitsPerPixel GetBitsPerPixel HRESULT IWICPixelFormatInfo::GetBitsPerPixel([Out] unsigned int* puiBitsPerPixel)

Proxy function for the GetChannelCount method.

ee719770 GetChannelCount GetChannelCount HRESULT IWICPixelFormatInfo::GetChannelCount([Out] unsigned int* puiChannelCount)

Gets the pixel format .

Pointer that receives the pixel format .

If this method succeeds, it returns . Otherwise, it returns an error code.

ee719774 HRESULT IWICPixelFormatInfo::GetFormatGUID([Out] GUID* pFormat) IWICPixelFormatInfo::GetFormatGUID

Gets the pixel format's .

No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

The returned color context is the default color space for the pixel format. However, if an specifies its own color context, the source's context should be preferred over the pixel format's default.

ee719773 HRESULT IWICPixelFormatInfo::GetColorContext([Out] IWICColorContext** ppIColorContext) IWICPixelFormatInfo::GetColorContext

Proxy function for the GetBitsPerPixel method.

No documentation.

If this function succeeds, it returns . Otherwise, it returns an error code.

ee719768 HRESULT IWICPixelFormatInfo::GetBitsPerPixel([Out] unsigned int* puiBitsPerPixel) IWICPixelFormatInfo::GetBitsPerPixel

Proxy function for the GetChannelCount method.

No documentation.

If this function succeeds, it returns . Otherwise, it returns an error code.

ee719770 HRESULT IWICPixelFormatInfo::GetChannelCount([Out] unsigned int* puiChannelCount) IWICPixelFormatInfo::GetChannelCount

Gets the pixel format's channel mask.

The index to the channel mask to retrieve.

The size of the pbMaskBuffer buffer.

Pointer to the mask buffer.

The actual buffer size needed to obtain the channel mask.

If this method succeeds, it returns . Otherwise, it returns an error code.

If 0 and null are passed in for cbMaskBuffer and pbMaskBuffer, respectively, the required buffer size will be returned through pcbActual.

ee719771 HRESULT IWICPixelFormatInfo::GetChannelMask([In] unsigned int uiChannelIndex,[In] unsigned int cbMaskBuffer,[In] void* pbMaskBuffer,[Out] unsigned int* pcbActual) IWICPixelFormatInfo::GetChannelMask
Gets the channel mask. Index of the channel. HRESULT IWICPixelFormatInfo::GetChannelMask([In] unsigned int uiChannelIndex,[In] unsigned int cbMaskBuffer,[In] void* pbMaskBuffer,[Out] unsigned int* pcbActual)

Extends by providing additional information about a pixel format.

ee719764 IWICPixelFormatInfo2 IWICPixelFormatInfo2
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Returns whether the format supports transparent pixels.

An indexed pixel format will not return TRUE even though it may have some transparency support.

ee719766 SupportsTransparency SupportsTransparency HRESULT IWICPixelFormatInfo2::SupportsTransparency([Out] BOOL* pfSupportsTransparency)
No documentation. ee719765 GetNumericRepresentation GetNumericRepresentation HRESULT IWICPixelFormatInfo2::GetNumericRepresentation([Out] WICPixelFormatNumericRepresentation* pNumericRepresentation)

Returns whether the format supports transparent pixels.

Returns TRUE if the pixel format supports transparency; otherwise, .

If this method succeeds, it returns . Otherwise, it returns an error code.

An indexed pixel format will not return TRUE even though it may have some transparency support.

ee719766 HRESULT IWICPixelFormatInfo2::SupportsTransparency([Out] BOOL* pfSupportsTransparency) IWICPixelFormatInfo2::SupportsTransparency
No documentation.

Returns the of the pixel format.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee719765 HRESULT IWICPixelFormatInfo2::GetNumericRepresentation([Out] WICPixelFormatNumericRepresentation* pNumericRepresentation) IWICPixelFormatInfo2::GetNumericRepresentation

Allows planar component image pixels to be written to an encoder. When supported by the encoder, this allows an application to encode planar component image data without first converting to an interleaved pixel format.

You can use QueryInterface to obtain this interface from the Windows provided implementation of for the JPEG encoder.

Encoding YCbCr data using is similar but not identical to encoding interleaved data using . The planar interface only exposes the ability to write planar frame image data, and you should continue to use the frame encode interface to set metadata or a thumbnail and to commit at the end of the operation.

dn302090 IWICPlanarBitmapFrameEncode IWICPlanarBitmapFrameEncode
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Writes lines from the source planes to the encoded format.

The number of lines to encode. See the Remarks section for WIC Jpeg specific line count restrictions.

Specifies the source buffers for each component plane encoded.

The number of component planes specified by the pPlanes parameter.

If the planes and source rectangle do not meet the requirements, this method fails with . If the format does not meet the encoder requirements, this method fails with .

Successive WritePixels calls are assumed sequentially add scanlines to the output image. , and must be called before this method or it will fail.

The interleaved pixel format set via and the codec specific encode parameters determine the supported planar formats.

WIC JPEG Encoder: QueryInterface can be used to obtain this interface from the WIC JPEG implementation. When using this method to encode Y?CbCr data with the WIC JPEG encoder, chroma subsampling can be configured with encoder options during frame creation. See the Encoding Overview and for more details.

Depending upon the configured chroma subsampling, the lineCount parameter has the following restrictions:

Chroma SubsamplingLine Count RestrictionChroma Plane WidthChroma Plane Height
4:2:0Multiple of 2, unless the call covers the last scanline of the imagelumaWidth / 2 Rounded up to the nearest integer.lumaHeight / 2 Rounded up to the nearest integer.
4:2:2AnylumaWidth / 2 Rounded up to the nearest integer.Any
4:4:4AnyAnyAny
4:4:0Multiple of 2, unless the call covers the last scanline of the imageAnyllumaHeight / 2 Rounded up to the nearest integer.

?

The full scanline width must be encoded, and the width of the bitmap sources must match their planar configuration.

Additionally, if a pixel format is set via , it must be .

The supported pixel formats of the bitmap sources passed into this method are as follows:

Plane CountPlane 1Plane 2Plane 3
3
2N/A

?

dn302091 HRESULT IWICPlanarBitmapFrameEncode::WritePixels([In] unsigned int lineCount,[In, Buffer] WICBitmapPlane* pPlanes,[In] unsigned int cPlanes) IWICPlanarBitmapFrameEncode::WritePixels

Writes lines from the source planes to the encoded format.

Specifies an array of that represent image planes.

The number of component planes specified by the planes parameter.

The source rectangle of pixels to encode from the planes. Null indicates the entire source. The source rect width must match the width set through SetSize. Repeated WriteSource calls can be made as long as the total accumulated source rect height is the same as set through SetSize.

If the planes and source rectangle do not meet the requirements, this method fails with .

If the format does not meet the encoder requirements, this method fails with .

Successive WriteSource calls are assumed sequentially add scanlines to the output image. , and must be called before this method or it will fail.

The interleaved pixel format set via and the codec specific encode parameters determine the supported planar formats.

WIC JPEG Encoder: QueryInterface can be used to obtain this interface from the WIC JPEG implementation. When using this method to encode Y?CbCr data with the WIC JPEG encoder, chroma subsampling can be configured with encoder options during frame creation. See the Encoding Overview and for more details.

Depending upon the configured chroma subsampling, the lineCount parameter has the following restrictions:

Chroma SubsamplingX CoordinateY CoordinateChroma WidthChroma Height
4:2:0Multiple of 2Multiple of 2lumaWidth / 2 Rounded up to the nearest integer.lumaHeight / 2 Rounded up to the nearest integer.
4:2:2Multiple of 2AnylumaWidth / 2 Rounded up to the nearest integer.Any
4:4:4AnyAnyAnyAny
4:4:0AnyMultiple of 2lumaWidthllumaHeight / 2 Rounded up to the nearest integer.

?

The full scanline width must be encoded, and the width of the bitmap sources must match their planar configuration.

Additionally, if a pixel format is set via , it must be .

The supported pixel formats of the bitmap sources passed into this method are as follows:

Plane CountPlane 1Plane 2Plane 3
3
2N/A

?

dn302092 HRESULT IWICPlanarBitmapFrameEncode::WriteSource([In, Buffer] IWICBitmapSource** ppPlanes,[In] unsigned int cPlanes,[In, Optional] WICRect* prcSource) IWICPlanarBitmapFrameEncode::WriteSource

Writes lines from the source planes to the encoded format.

Specifies an array of that represent image planes.

The number of component planes specified by the planes parameter.

The source rectangle of pixels to encode from the planes. Null indicates the entire source. The source rect width must match the width set through SetSize. Repeated WriteSource calls can be made as long as the total accumulated source rect height is the same as set through SetSize.

If the planes and source rectangle do not meet the requirements, this method fails with .

If the format does not meet the encoder requirements, this method fails with .

Successive WriteSource calls are assumed sequentially add scanlines to the output image. , and must be called before this method or it will fail.

The interleaved pixel format set via and the codec specific encode parameters determine the supported planar formats.

WIC JPEG Encoder: QueryInterface can be used to obtain this interface from the WIC JPEG implementation. When using this method to encode Y?CbCr data with the WIC JPEG encoder, chroma subsampling can be configured with encoder options during frame creation. See the Encoding Overview and for more details.

Depending upon the configured chroma subsampling, the lineCount parameter has the following restrictions:

Chroma SubsamplingX CoordinateY CoordinateChroma WidthChroma Height
4:2:0Multiple of 2Multiple of 2lumaWidth / 2 Rounded up to the nearest integer.lumaHeight / 2 Rounded up to the nearest integer.
4:2:2Multiple of 2AnylumaWidth / 2 Rounded up to the nearest integer.Any
4:4:4AnyAnyAnyAny
4:4:0AnyMultiple of 2lumaWidthllumaHeight / 2 Rounded up to the nearest integer.

?

The full scanline width must be encoded, and the width of the bitmap sources must match their planar configuration.

Additionally, if a pixel format is set via , it must be .

The supported pixel formats of the bitmap sources passed into this method are as follows:

Plane CountPlane 1Plane 2Plane 3
3
2N/A

?

dn302092 HRESULT IWICPlanarBitmapFrameEncode::WriteSource([In, Buffer] IWICBitmapSource** ppPlanes,[In] unsigned int cPlanes,[In, Optional] WICRect* prcSource) IWICPlanarBitmapFrameEncode::WriteSource

Writes lines from the source planes to the encoded format.

Specifies an array of that represent image planes.

The number of component planes specified by the planes parameter.

The source rectangle of pixels to encode from the planes. Null indicates the entire source. The source rect width must match the width set through SetSize. Repeated WriteSource calls can be made as long as the total accumulated source rect height is the same as set through SetSize.

If the planes and source rectangle do not meet the requirements, this method fails with .

If the format does not meet the encoder requirements, this method fails with .

Successive WriteSource calls are assumed sequentially add scanlines to the output image. , and must be called before this method or it will fail.

The interleaved pixel format set via and the codec specific encode parameters determine the supported planar formats.

WIC JPEG Encoder: QueryInterface can be used to obtain this interface from the WIC JPEG implementation. When using this method to encode Y?CbCr data with the WIC JPEG encoder, chroma subsampling can be configured with encoder options during frame creation. See the Encoding Overview and for more details.

Depending upon the configured chroma subsampling, the lineCount parameter has the following restrictions:

Chroma SubsamplingX CoordinateY CoordinateChroma WidthChroma Height
4:2:0Multiple of 2Multiple of 2lumaWidth / 2 Rounded up to the nearest integer.lumaHeight / 2 Rounded up to the nearest integer.
4:2:2Multiple of 2AnylumaWidth / 2 Rounded up to the nearest integer.Any
4:4:4AnyAnyAnyAny
4:4:0AnyMultiple of 2lumaWidthllumaHeight / 2 Rounded up to the nearest integer.

?

The full scanline width must be encoded, and the width of the bitmap sources must match their planar configuration.

Additionally, if a pixel format is set via , it must be .

The supported pixel formats of the bitmap sources passed into this method are as follows:

Plane CountPlane 1Plane 2Plane 3
3
2N/A

?

dn302092 HRESULT IWICPlanarBitmapFrameEncode::WriteSource([In, Buffer] IWICBitmapSource** ppPlanes,[In] unsigned int cPlanes,[In, Optional] WICRect* prcSource) IWICPlanarBitmapFrameEncode::WriteSource

Provides access to planar Y?CbCr pixel formats where pixel components are stored in separate component planes. This interface also allows access to other codec optimizations for flip/rotate, scale, and format conversion to other Y?CbCr planar formats; this is similar to the pre-existing interface.

QueryInterface can be used to obtain this interface from the Windows provided implementations of for the JPEG decoder, , , and .

dn302093 IWICPlanarBitmapSourceTransform IWICPlanarBitmapSourceTransform
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Use this method to determine if a desired planar output is supported and allow the caller to choose an optimized code path if it is. Otherwise, callers should fall back to or and retrieve interleaved pixels.

The following transforms can be checked:

  • Determine if the flip/rotate option specified via is supported.
  • Determine if the requested planar pixel format configuration is supported.
  • Determine the closest dimensions the implementation can natively scale to given the desired dimensions.

When a transform is supported, this method returns the description of the resulting planes in the pPlaneDescriptions parameter.

No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation. No documentation.

Check the value of pfIsSupported to determine if the transform is supported via . If this method fails, the output parameters for width, height, and plane descriptions are zero initialized.Other return values indicate failure.

dn302095 HRESULT IWICPlanarBitmapSourceTransform::DoesSupportTransform([InOut] unsigned int* puiWidth,[InOut] unsigned int* puiHeight,[In] WICBitmapTransformOptions dstTransform,[In] WICPlanarOptions dstPlanarOptions,[In, Buffer] const GUID* pguidDstFormats,[Out, Buffer] WICBitmapPlaneDescription* pPlaneDescriptions,[In] unsigned int cPlanes,[Out] BOOL* pfIsSupported) IWICPlanarBitmapSourceTransform::DoesSupportTransform

Copies pixels into the destination planes. Configured by the supplied input parameters.

If a dstTransform, scale, or format conversion is specified, cbStride is the transformed stride and is based on the destination pixel format of the pDstPlanes parameter, not the original source's pixel format.

The source rectangle of pixels to copy.

The width to scale the source bitmap. This parameter must be equal to a value obtainable through IWICPlanarBitmapSourceTransform:: DoesSupportTransform.

The height to scale the source bitmap. This parameter must be equal to a value obtainable through IWICPlanarBitmapSourceTransform:: DoesSupportTransform.

The desired rotation or flip to perform prior to the pixel copy. A rotate can be combined with a flip horizontal or a flip vertical, see .

Used to specify additional configuration options for the transform. See for more detail.

WIC JPEG Decoder: can be specified to retain the subsampling ratios when downscaling. By default, the JPEG decoder attempts to preserve quality by downscaling only the Y plane in some cases, changing the image to 4:4:4 chroma subsampling.

Specifies the pixel format and output buffer for each component plane. The number of planes and pixel format of each plane must match values obtainable through .

The number of component planes specified by the pDstPlanes parameter.

If the specified scale, flip/rotate, and planar format configuration is not supported this method fails with . You can check if a transform is supported by calling .

WIC JPEG Decoder: Depending on the configured chroma subsampling of the image, the source rectangle has the following restrictions:

Chroma SubsamplingX CoordinateY CoordinateChroma WidthChroma Height
4:2:0Multiple of 2Multiple of 2lumaWidth / 2 Rounded up to the nearest integer.lumaHeight / 2 Rounded up to the nearest integer.
4:2:2Multiple of 2AnylumaWidth / 2 Rounded up to the nearest integer.lumaHeight
4:4:4AnyAnyllumaWidthllumaHeight
4:4:0AnyMultiple of 2lumaWidthllumaHeight / 2 Rounded up to the nearest integer.

?

The pDstPlanes parameter supports the following pixel formats.

Plane CountPlane 1Plane 2Plane 3
3
2N/A

?

dn302094 HRESULT IWICPlanarBitmapSourceTransform::CopyPixels([In, Optional] const WICRect* prcSource,[In] unsigned int uiWidth,[In] unsigned int uiHeight,[In] WICBitmapTransformOptions dstTransform,[In] WICPlanarOptions dstPlanarOptions,[In, Buffer] const WICBitmapPlane* pDstPlanes,[In] unsigned int cPlanes) IWICPlanarBitmapSourceTransform::CopyPixels

Allows a format converter to be initialized with a planar source. You can use QueryInterface to obtain this interface from the Windows provided implementation of .

dn302096 IWICPlanarFormatConverter IWICPlanarFormatConverter
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Initializes a format converter with a planar source, and specifies the interleaved output pixel format.

An array of that represents image planes.

The number of component planes specified by the planes parameter.

The destination interleaved pixel format.

The used for conversion.

The palette to use for conversion.

The alpha threshold to use for conversion.

The palette translation type to use for conversion.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn302098 HRESULT IWICPlanarFormatConverter::Initialize([In, Buffer] IWICBitmapSource** ppPlanes,[In] unsigned int cPlanes,[In] const GUID& dstFormat,[In] WICBitmapDitherType dither,[In, Optional] IWICPalette* pIPalette,[In] double alphaThresholdPercent,[In] WICBitmapPaletteType paletteTranslate) IWICPlanarFormatConverter::Initialize

Initializes a format converter with a planar source, and specifies the interleaved output pixel format.

An array of that represents image planes.

The number of component planes specified by the planes parameter.

The destination interleaved pixel format.

The used for conversion.

The palette to use for conversion.

The alpha threshold to use for conversion.

The palette translation type to use for conversion.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn302098 HRESULT IWICPlanarFormatConverter::Initialize([In, Buffer] IWICBitmapSource** ppPlanes,[In] unsigned int cPlanes,[In] const GUID& dstFormat,[In] WICBitmapDitherType dither,[In, Optional] IWICPalette* pIPalette,[In] double alphaThresholdPercent,[In] WICBitmapPaletteType paletteTranslate) IWICPlanarFormatConverter::Initialize

Initializes a format converter with a planar source, and specifies the interleaved output pixel format.

An array of that represents image planes.

The number of component planes specified by the planes parameter.

The destination interleaved pixel format.

The used for conversion.

The palette to use for conversion.

The alpha threshold to use for conversion.

The palette translation type to use for conversion.

If this method succeeds, it returns . Otherwise, it returns an error code.

dn302098 HRESULT IWICPlanarFormatConverter::Initialize([In, Buffer] IWICBitmapSource** ppPlanes,[In] unsigned int cPlanes,[In] const GUID& dstFormat,[In] WICBitmapDitherType dither,[In, Optional] IWICPalette* pIPalette,[In] double alphaThresholdPercent,[In] WICBitmapPaletteType paletteTranslate) IWICPlanarFormatConverter::Initialize

Query if the format converter can convert from one format to another.

An array of WIC pixel formats that represents source image planes.

The number of source pixel formats specified by the pSrcFormats parameter.

The destination interleaved pixel format.

True if the conversion is supported.

If the conversion is not supported, this method returns , but *pfCanConvert is set to .

If this method fails, the out parameter pfCanConvert is invalid.

To specify an interleaved input pixel format, provide a length 1 array to pSrcPixelFormats.

dn302097 HRESULT IWICPlanarFormatConverter::CanConvert([In, Buffer] const GUID* pSrcPixelFormats,[In] unsigned int cSrcPlanes,[In] const GUID& dstPixelFormat,[Out] BOOL* pfCanConvert) IWICPlanarFormatConverter::CanConvert

interface is documented only for compliance; its use is not recommended and may be altered or unavailable in the future. Instead, and use RegisterProgressNotification.

ee719775 IWICProgressCallback IWICProgressCallback
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Notify method is documented only for compliance; its use is not recommended and may be altered or unavailable in the future. Instead, and use RegisterProgressNotification.

No documentation. No documentation. No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee719776 HRESULT IWICProgressCallback::Notify([In] unsigned int uFrameNum,[In] WICProgressOperation operation,[In] double dblProgress) IWICProgressCallback::Notify

Exposes methods for obtaining information about and controlling progressive decoding.

Images can only be progressively decoded if they were progressively encoded. Progressive images automatically start at the highest (best quality) progressive level. The caller must manually set the decoder to a lower progressive level.

E_NOTIMPL is returned if the codec does not support progressive level decoding.

ee719778 IWICProgressiveLevelControl IWICProgressiveLevelControl
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Gets the number of levels of progressive decoding supported by the CODEC.

Users should not use this function to iterate through the progressive levels of a progressive JPEG image. JPEG progressive levels are determined by the image and do not have a fixed level count. Using this method will force the application to wait for all progressive levels to be downloaded before it can return. Instead, applications should use the following code to iterate through the progressive levels of a progressive JPEG image.

ee719780 GetLevelCount GetLevelCount HRESULT IWICProgressiveLevelControl::GetLevelCount([Out] unsigned int* pcLevels)

Gets or sets the decoder's current progressive level.

The level always defaults to the highest progressive level. In order to decode a lower progressive level, SetCurrentLevel must first be called.

ee719779 GetCurrentLevel / SetCurrentLevel GetCurrentLevel HRESULT IWICProgressiveLevelControl::GetCurrentLevel([Out] unsigned int* pnLevel)

Gets the number of levels of progressive decoding supported by the CODEC.

Indicates the number of levels supported by the CODEC.

If this method succeeds, it returns . Otherwise, it returns an error code.

Users should not use this function to iterate through the progressive levels of a progressive JPEG image. JPEG progressive levels are determined by the image and do not have a fixed level count. Using this method will force the application to wait for all progressive levels to be downloaded before it can return. Instead, applications should use the following code to iterate through the progressive levels of a progressive JPEG image.

ee719780 HRESULT IWICProgressiveLevelControl::GetLevelCount([Out] unsigned int* pcLevels) IWICProgressiveLevelControl::GetLevelCount

Gets the decoder's current progressive level.

Indicates the current level specified.

If this method succeeds, it returns . Otherwise, it returns an error code.

The level always defaults to the highest progressive level. In order to decode a lower progressive level, SetCurrentLevel must first be called.

ee719779 HRESULT IWICProgressiveLevelControl::GetCurrentLevel([Out] unsigned int* pnLevel) IWICProgressiveLevelControl::GetCurrentLevel

Specifies the level to retrieve on the next call to CopyPixels.

No documentation.

If this method succeeds, it returns . Otherwise, it returns an error code.

A call does not have to request every level supported. If a caller requests level 1, without having previously requested level 0, the bits returned by the next call to CopyPixels will include both levels.

If the requested level is invalid, the error returned is .

ee719781 HRESULT IWICProgressiveLevelControl::SetCurrentLevel([In] unsigned int nLevel) IWICProgressiveLevelControl::SetCurrentLevel

Represents a Windows Imaging Component (WIC) stream for referencing imaging and metadata content.

Decoders and metadata handlers are expected to create sub streams of whatever stream they hold when handing off control for embedded metadata to another metadata handler. If the stream is not restricted then use MAXLONGLONG as the max size and offset 0.

The interface methods do not enable you to provide a file sharing option. To create a file stream for an image, use the SHCreateStreamOnFileEx function. This stream can then be used to create an using the CreateDecoderFromStream method.

ee719782 IWICStream IWICStream
Initializes a new instance of the class. The native pointer. Performs an explicit conversion from to . (This method is a shortcut to ) The native pointer. The result of the conversion.

Initializes a stream from another stream. Access rights are inherited from the underlying stream.

The initialize stream.

If this method succeeds, it returns . Otherwise, it returns an error code.

ee719789 HRESULT IWICStream::InitializeFromIStream([In, Optional] IStream* pIStream) IWICStream::InitializeFromIStream

Initializes a stream from a particular file.

The file used to initialize the stream.

The desired file access mode.

ValueMeaning
GENERIC_READ

Read access.

GENERIC_WRITE

Write access.

?

If this method succeeds, it returns . Otherwise, it returns an error code.

The interface methods do not enable you to provide a file sharing option. To create a shared file stream for an image, use the SHCreateStreamOnFileEx function. This stream can then be used to create an using the CreateDecoderFromStream method.

ee719788 HRESULT IWICStream::InitializeFromFilename([In] const wchar_t* wzFileName,[In] unsigned int dwDesiredAccess) IWICStream::InitializeFromFilename

Initializes a stream to treat a block of memory as a stream. The stream cannot grow beyond the buffer size.

Pointer to the buffer used to initialize the stream.

The size of buffer.

If this method succeeds, it returns . Otherwise, it returns an error code.

This method should be avoided whenever possible. The caller is responsible for ensuring the memory block is valid for the lifetime of the stream when using InitializeFromMemory. A workaround for this behavior is to create an and use InitializeFromIStream to create the .

If you require a growable memory stream, use CreateStreamOnHGlobal.

ee719792 HRESULT IWICStream::InitializeFromMemory([In] void* pbBuffer,[In] unsigned int cbBufferSize) IWICStream::InitializeFromMemory

Initializes the stream as a substream of another stream.

Pointer to the input stream.

The stream offset used to create the new stream.

The maximum size of the stream.

If this method succeeds, it returns . Otherwise, it returns an error code.

The stream functions with its own stream position, independent of the underlying stream but restricted to a region. All seek positions are relative to the sub region. It is allowed, though not recommended, to have multiple writable sub streams overlapping the same range.

ee719790 HRESULT IWICStream::InitializeFromIStreamRegion([In, Optional] IStream* pIStream,[In] ULARGE_INTEGER ulOffset,[In] ULARGE_INTEGER ulMaxSize) IWICStream::InitializeFromIStreamRegion
Initializes a new instance of the class from a file. The factory. Name of the file. The file access. ee690325 HRESULT IWICImagingFactory::CreateStream([Out, Fast] IWICStream** ppIWICStream) Initializes a new instance of the class from a . The factory. The stream. ee719789 HRESULT IWICStream::InitializeFromIStream([In, Optional] IStream* pIStream) IWICStream::InitializeFromIStream Initializes a new instance of the class from an unmanaged memory through a . The factory. The unmanaged memory stream. ee719792 HRESULT IWICStream::InitializeFromMemory([In] void* pbBuffer,[In] unsigned int cbBufferSize) IWICStream::InitializeFromMemory

Contains members that identify a pattern within an image file which can be used to identify a particular format.

ee719813 WICBitmapPattern WICBitmapPattern

The offset the pattern is located in the file.

ee719813 ULARGE_INTEGER Position ULARGE_INTEGER Position

The pattern length.

ee719813 unsigned int Length unsigned int Length

The actual pattern.

ee719813 unsigned char* Pattern unsigned char Pattern

The pattern mask.

ee719813 unsigned char* Mask unsigned char Mask

The end of the stream.

ee719813 BOOL EndOfStream BOOL EndOfStream

Specifies the pixel format, buffer, stride and size of a component plane for a planar pixel format.

dn302099 WICBitmapPlane WICBitmapPlane

Describes the pixel format of the plane.

dn302099 GUID Format GUID Format

Pointer to the buffer that holds the plane?s pixel components.

dn302099 unsigned char* pbBuffer unsigned char pbBuffer

The stride of the buffer ponted to by pbData. Stride indicates the total number of bytes to go from the beginning of one scanline to the beginning of the next scanline.

dn302099 unsigned int cbStride unsigned int cbStride

The total size of the buffer pointed to by pbBuffer.

dn302099 unsigned int cbBufferSize unsigned int cbBufferSize

Specifies the pixel format and size of a component plane.

dn302100 WICBitmapPlaneDescription WICBitmapPlaneDescription

Describes the pixel format of the plane.

dn302100 GUID Format GUID Format

Component width of the plane.

dn302100 unsigned int Width unsigned int Width

Component height of the plane.

dn302100 unsigned int Height unsigned int Height

Specifies the and block information of a DDS format.

dn302103 WICDdsFormatInfo WICDdsFormatInfo
No documentation. dn302103 DXGI_FORMAT DxgiFormat DXGI_FORMAT DxgiFormat No documentation. dn302103 unsigned int BytesPerBlock unsigned int BytesPerBlock No documentation. dn302103 unsigned int BlockWidth unsigned int BlockWidth No documentation. dn302103 unsigned int BlockHeight unsigned int BlockHeight

Specifies the DDS image dimension, and alpha mode of contained data.

dn302104 WICDdsParameters WICDdsParameters
No documentation. dn302104 unsigned int Width unsigned int Width No documentation. dn302104 unsigned int Height unsigned int Height No documentation. dn302104 unsigned int Depth unsigned int Depth No documentation. dn302104 unsigned int MipLevels unsigned int MipLevels No documentation. dn302104 unsigned int ArraySize unsigned int ArraySize No documentation. dn302104 DXGI_FORMAT DxgiFormat DXGI_FORMAT DxgiFormat No documentation. dn302104 WICDdsDimension Dimension WICDdsDimension Dimension No documentation. dn302104 WICDdsAlphaMode AlphaMode WICDdsAlphaMode AlphaMode

This defines parameters that you can use to override the default parameters normally used when encoding an image.

If this parameter is not passed to the encoding API, the encoder uses these settings.

  • A pixel format of (, ).
  • An x and y DPI of 96.
  • The entire image bounds will be used for encoding.
Note??The parameters as specified can't result in a scale. The encoder can use a larger portion of the input image based on the passed in DPI and the pixel width and height.?
jj125331 WICImageParameters WICImageParameters

The pixel format to which the image is processed before it is written to the encoder.

jj125331 D2D1_PIXEL_FORMAT PixelFormat D2D1_PIXEL_FORMAT PixelFormat

The DPI in the x dimension.

jj125331 float DpiX float DpiX

The DPI in the y dimension.

jj125331 float DpiY float DpiY

The top corner in pixels of the image space to be encoded to the destination.

jj125331 float Top float Top

The left corner in pixels of the image space to be encoded to the destination.

jj125331 float Left float Left

The width in pixels of the part of the image to write.

jj125331 unsigned int PixelWidth unsigned int PixelWidth

The height in pixels of the part of the image to write.

jj125331 unsigned int PixelHeight unsigned int PixelHeight
Initializes a new instance of the struct. The pixel format. The dpi X. The dpi Y. The top. The left. Width in pixel. Height in pixel.

Represents a JPEG frame header.

Get the frame header for an image by calling .

dn903878 WICJpegFrameHeader WICJpegFrameHeader

The width of the JPEG frame.

dn903878 unsigned int Width unsigned int Width

The height of the JPEG frame.

dn903878 unsigned int Height unsigned int Height

The transfer matrix of the JPEG frame.

dn903878 WICJpegTransferMatrix TransferMatrix WICJpegTransferMatrix TransferMatrix

The scan type of the JPEG frame.

dn903878 WICJpegScanType ScanType WICJpegScanType ScanType

The number of components in the frame.

dn903878 unsigned int cComponents unsigned int cComponents

The component identifiers.

dn903878 unsigned int ComponentIdentifiers unsigned int ComponentIdentifiers

The sample factors. Use one of the following constants, described in Constants.

  • WIC_JPEG_SAMPLE_FACTORS_ONE
  • WIC_JPEG_SAMPLE_FACTORS_THREE_420
  • WIC_JPEG_SAMPLE_FACTORS_THREE_422
  • WIC_JPEG_SAMPLE_FACTORS_THREE_440
  • WIC_JPEG_SAMPLE_FACTORS_THREE_444
dn903878 unsigned int SampleFactors unsigned int SampleFactors

The format of the quantization table indices. Use one of the following constants, described in Constants.

  • WIC_JPEG_QUANTIZATION_BASELINE_ONE
  • WIC_JPEG_QUANTIZATION_BASELINE_THREE
dn903878 unsigned int QuantizationTableIndices unsigned int QuantizationTableIndices

Represents a JPEG frame header.

Get the scan header for an image by calling .

dn903883 WICJpegScanHeader WICJpegScanHeader

The number of components in the scan.

dn903883 unsigned int cComponents unsigned int cComponents

The interval of reset markers within the scan.

dn903883 unsigned int RestartInterval unsigned int RestartInterval

The component identifiers.

dn903883 unsigned int ComponentSelectors unsigned int ComponentSelectors

The format of the quantization table indices. Use one of the following constants, described in Constants.

  • WIC_JPEG_HUFFMAN_BASELINE_ONE
  • WIC_JPEG_HUFFMAN_BASELINE_THREE
dn903883 unsigned int HuffmanTableIndices unsigned int HuffmanTableIndices

The start of the spectral selection.

dn903883 unsigned char StartSpectralSelection unsigned char StartSpectralSelection

The end of the spectral selection.

dn903883 unsigned char EndSpectralSelection unsigned char EndSpectralSelection

The successive approximation high.

dn903883 unsigned char SuccessiveApproximationHigh unsigned char SuccessiveApproximationHigh

The successive approximation low.

dn903883 unsigned char SuccessiveApproximationLow unsigned char SuccessiveApproximationLow

Defines raw codec capabilites.

ee719857 WICRawCapabilitiesInfo WICRawCapabilitiesInfo

Size of the structure.

ee719857 unsigned int cbSize unsigned int cbSize

The codec's major version.

ee719857 unsigned int CodecMajorVersion unsigned int CodecMajorVersion

The codec's minor version.

ee719857 unsigned int CodecMinorVersion unsigned int CodecMinorVersion

The of exposure compensation support.

ee719857 WICRawCapabilities ExposureCompensationSupport WICRawCapabilities ExposureCompensationSupport

The of contrast support.

ee719857 WICRawCapabilities ContrastSupport WICRawCapabilities ContrastSupport

The of RGB white point support.

ee719857 WICRawCapabilities RGBWhitePointSupport WICRawCapabilities RGBWhitePointSupport

The of support.

ee719857 WICRawCapabilities NamedWhitePointSupport WICRawCapabilities NamedWhitePointSupport

The mask.

ee719857 unsigned int NamedWhitePointSupportMask unsigned int NamedWhitePointSupportMask

The of kelvin white point support.

ee719857 WICRawCapabilities KelvinWhitePointSupport WICRawCapabilities KelvinWhitePointSupport

The of gamma support.

ee719857 WICRawCapabilities GammaSupport WICRawCapabilities GammaSupport

The of tint support.

ee719857 WICRawCapabilities TintSupport WICRawCapabilities TintSupport

The of saturation support.

ee719857 WICRawCapabilities SaturationSupport WICRawCapabilities SaturationSupport

The of sharpness support.

ee719857 WICRawCapabilities SharpnessSupport WICRawCapabilities SharpnessSupport

The of noise reduction support.

ee719857 WICRawCapabilities NoiseReductionSupport WICRawCapabilities NoiseReductionSupport

The of destination color profile support.

ee719857 WICRawCapabilities DestinationColorProfileSupport WICRawCapabilities DestinationColorProfileSupport

The of tone curve support.

ee719857 WICRawCapabilities ToneCurveSupport WICRawCapabilities ToneCurveSupport

The of rotation support.

ee719857 WICRawRotationCapabilities RotationSupport WICRawRotationCapabilities RotationSupport

The of support.

ee719857 WICRawCapabilities RenderModeSupport WICRawCapabilities RenderModeSupport

Represents a raw image tone curve.

ee719861 WICRawToneCurve WICRawToneCurve

The number of tone curve points.

ee719861 unsigned int cPoints unsigned int cPoints

The array of tone curve points.

ee719861 WICRawToneCurvePoint aPoints[1] WICRawToneCurvePoint aPoints

Represents a raw image tone curve point.

ee719862 WICRawToneCurvePoint WICRawToneCurvePoint

The tone curve input.

ee719862 double Input double Input

The tone curve output.

ee719862 double Output double Output
BitmapEncoderOptions used for encoding. Initializes a new instance of the class. The property bag pointer. Gets or sets the image quality. The image quality. Range value: 0-1.0f Applicable Codecs: JPEG, HDPhoto Gets or sets the compression quality. The compression quality. Range value: 0-1.0f Applicable Codecs: TIFF Gets or sets a value indicating whether loss less compression is enabled. true if [loss less]; otherwise, false. Range value: true-false Applicable Codecs: HDPhoto Gets or sets the bitmap transform. The bitmap transform. Range value: Applicable Codecs: JPEG Gets or sets a value indicating whether [interlace option]. true if [interlace option]; otherwise, false. Range value: true-false Applicable Codecs: PNG Gets or sets the filter option. The filter option. Range value: Applicable Codecs: PNG Gets or sets the TIFF compression method. The TIFF compression method. Range value: Applicable Codecs: TIFF Gets or sets the luminance. The luminance. Range value: 64 Entries (DCT) Applicable Codecs: JPEG Gets or sets the chrominance. The chrominance. Range value: 64 Entries (DCT) Applicable Codecs: JPEG Gets or sets the JPEG Y Cr Cb subsampling. The JPEG Y Cr Cb subsampling. Range value: Applicable Codecs: JPEG Gets or sets a value indicating whether [suppress app0]. true if [suppress app0]; otherwise, false. Range value: true-false Applicable Codecs: JPEG Bmp bitmap encoder using initialized with default guid . Initializes a new instance of the class. The native PTR. Initializes a new instance of the class. The factory. Initializes a new instance of the class. The factory. The GUID vendor ref. Bmp bitmap encoder using initialized with default guid . Initializes a new instance of the class. The native PTR. Initializes a new instance of the class. The factory. Initializes a new instance of the class. The factory. The output stream. Initializes a new instance of the class. The factory. The GUID vendor ref. The output stream. Initializes a new instance of the class. The factory. The output stream. Initializes a new instance of the class. The factory. The GUID vendor ref. The output stream. Gif bitmap encoder using initialized with default guid . Initializes a new instance of the class. The native PTR. Initializes a new instance of the class. The factory. Initializes a new instance of the class. The factory. The GUID vendor ref. Gif bitmap encoder using initialized with default guid . Initializes a new instance of the class. The native PTR. Initializes a new instance of the class. The factory. Initializes a new instance of the class. The factory. The output stream. Initializes a new instance of the class. The factory. The GUID vendor ref. The output stream. Initializes a new instance of the class. The factory. The output stream. Initializes a new instance of the class. The factory. The GUID vendor ref. The output stream. Tiff bitmap encoder using initialized with default guid . Initializes a new instance of the class. The native PTR. Initializes a new instance of the class. The factory. Initializes a new instance of the class. The factory. The GUID vendor ref. Tiff bitmap encoder using initialized with default guid . Initializes a new instance of the class. The native PTR. Initializes a new instance of the class. The factory. Initializes a new instance of the class. The factory. The output stream. Initializes a new instance of the class. The factory. The GUID vendor ref. The output stream. Initializes a new instance of the class. The factory. The output stream. Initializes a new instance of the class. The factory. The GUID vendor ref. The output stream. The namespace provides a managed WIC API. ee719902 WIC WIC Png bitmap encoder using initialized with default guid . Initializes a new instance of the class. The native PTR. Initializes a new instance of the class. The factory. Initializes a new instance of the class. The factory. The GUID vendor ref. Png bitmap encoder using initialized with default guid . Initializes a new instance of the class. The native PTR. Initializes a new instance of the class. The factory. Initializes a new instance of the class. The factory. The output stream. Initializes a new instance of the class. The factory. The GUID vendor ref. The output stream. Initializes a new instance of the class. The factory. The output stream. Initializes a new instance of the class. The factory. The GUID vendor ref. The output stream. Tiff bitmap encoder using initialized with default guid . Initializes a new instance of the class. The native PTR. Initializes a new instance of the class. The factory. Initializes a new instance of the class. The factory. The GUID vendor ref. Tiff bitmap encoder using initialized with default guid . Initializes a new instance of the class. The native PTR. Initializes a new instance of the class. The factory. Initializes a new instance of the class. The factory. The output stream. Initializes a new instance of the class. The factory. The GUID vendor ref. The output stream. Initializes a new instance of the class. The factory. The output stream. Initializes a new instance of the class. The factory. The GUID vendor ref. The output stream. Wmp bitmap encoder using initialized with default guid . Initializes a new instance of the class. The native PTR. Initializes a new instance of the class. The factory. Initializes a new instance of the class. The factory. The GUID vendor ref. WMP bitmap encoder using initialized with default guid . Initializes a new instance of the class. The native PTR. Initializes a new instance of the class. The factory. Initializes a new instance of the class. The factory. The output stream. Initializes a new instance of the class. The factory. The GUID vendor ref. The output stream. Initializes a new instance of the class. The factory. The output stream. Initializes a new instance of the class. The factory. The GUID vendor ref. The output stream.