| Server IP : 121.121.20.254 / Your IP : 216.73.217.141 Web Server : Microsoft-IIS/10.0 System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64 User : IUSR ( 0) PHP Version : 8.3.28 Disable Function : NONE MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/Program Files/paint.net/ |
Upload File : |
<?xml version="1.0"?>
<doc>
<assembly>
<name>PaintDotNet.Windows</name>
</assembly>
<members>
<member name="T:PaintDotNet.Animation.AnimationPriorityEffect">
<summary>
Defines potential effects on a storyboard if a priority comparison returns false.
</summary>
</member>
<member name="F:PaintDotNet.Animation.AnimationPriorityEffect.Failure">
<summary>
This storyboard might not be successfully scheduled.
</summary>
</member>
<member name="F:PaintDotNet.Animation.AnimationPriorityEffect.Delay">
<summary>
The storyboard will be scheduled, but might start playing later.
</summary>
</member>
<member name="T:PaintDotNet.ComponentModel.IObjectRefEnumerable">
<summary>
An interface for enumerating IObjectRefs.
</summary>
<remarks>
Refs returned from the enumerator will be new refs, and must be disposed to ensure
the best performance.
</remarks>
</member>
<member name="T:PaintDotNet.ComponentModel.IPropertyBag2">
<summary>
Provides access to the native
<a href="https://learn.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/aa768192(v=vs.85)">IPropertyBag2</a>
COM interface.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.AffineTransform2DInterpolationMode">
<summary>
The interpolation mode to be used with the AffineTransform2D effect to scale the image. There are 6 scale modes that range in quality and speed.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects/ne-d2d1effects-d2d1_2daffinetransform_interpolation_mode">D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.AffineTransform2DInterpolationMode.NearestNeighbor">
<summary>
Samples the nearest single point and uses that. This mode uses less processing time, but outputs the lowest quality image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.AffineTransform2DInterpolationMode.Linear">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.AffineTransform2DInterpolationMode.Cubic">
<summary>
Uses a 16 sample cubic kernel for interpolation. This mode uses the most processing time, but outputs a higher quality image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.AffineTransform2DInterpolationMode.MultisampleLinear">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.AffineTransform2DInterpolationMode.Anisotropic">
<summary>
Uses anisotropic filtering to sample a pattern according to the transformed shape of the bitmap.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.AffineTransform2DInterpolationMode.HighQualityCubic">
<summary>
Uses a variable size high quality cubic kernel to perform a pre-downscale of the image if downscaling is involved in the transform matrix. Then uses the cubic interpolation mode for the final output.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.AlphaMode">
<summary>
Specifies how the alpha value of a bitmap or render target should be treated.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/dcommon/ne-dcommon-d2d1_alpha_mode">D2D1_ALPHA_MODE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.AlphaMode.Unknown">
<summary>
The alpha value might not be meaningful.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.AlphaMode.Premultiplied">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.AlphaMode.Straight">
<summary>
The alpha value has not been premultiplied. The alpha channel indicates the transparency of the color.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.AlphaMode.Ignore">
<summary>
The alpha value is ignored.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.AntialiasMode">
<summary>
Specifies how the edges of nontext primitives are rendered.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ne-d2d1-d2d1_antialias_mode">D2D1_ANTIALIAS_MODE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.AntialiasMode.PerPrimitive">
<summary>
Edges are antialiased using the Direct2D per-primitive method of high-quality antialiasing.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.AntialiasMode.Aliased">
<summary>
Objects are aliased in most cases.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ArcSegment">
<summary>
Describes an elliptical arc between two points.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ns-d2d1-d2d1_arc_segment">D2D1_ARC_SEGMENT</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ArcSegment.Point">
<summary>
The end point of the arc.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ArcSegment.Size">
<summary>
The x-radius and y-radius of the arc.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ArcSegment.RotationAngle">
<summary>
A value that specifies how many degrees in the clockwise direction the ellipse is rotated
relative to the current coordinate system.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ArcSegment.SweepDirection">
<summary>
A value that specifies whether the arc sweep is clockwise or counterclockwise.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ArcSegment.ArcSize">
<summary>
A value that specifies whether the given arc is larger than 180 degrees.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ArcSize">
<summary>
Specifies whether an arc should be greater than 180 degrees.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ne-d2d1-d2d1_arc_size">D2D1_ARC_SIZE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ArcSize.Small">
<summary>
An arc's sweep should be 180 degrees or less.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ArcSize.Large">
<summary>
An arc's sweep should be 180 degrees or greater.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.BezierSegment">
<summary>
Represents a cubic bezier segment drawn between two points.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ns-d2d1-d2d1_bezier_segment">D2D1_BEZIER_SEGMENT</a>
</summary>
<remarks>
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.<br/>
<br/>
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.<br/>
<br/>
<b>Note:</b> 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.
</remarks>
</member>
<member name="P:PaintDotNet.Direct2D1.BezierSegment.Point1">
<summary>
The first control point for the Bezier segment.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.BezierSegment.Point2">
<summary>
The second control point for the Bezier segment.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.BezierSegment.Point3">
<summary>
The end point for the Bezier segment.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.BitmapBrushProperties">
<summary>
Describes the extend modes and the interpolation mode of an <see cref="T:PaintDotNet.Direct2D1.IBitmapBrush"/>.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_1/ns-d2d1_1-d2d1_bitmap_brush_properties1">D2D1_BITMAP_BRUSH_PROPERTIES1</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.BitmapBrushProperties.ExtendModeX">
<summary>
A value that describes how the brush horizontally tiles those areas that extend past its bitmap.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.BitmapBrushProperties.ExtendModeY">
<summary>
A value that describes how the brush vertically tiles those areas that extend past its bitmap.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.BitmapBrushProperties.InterpolationMode">
<summary>
A value that specifies how the bitmap is interpolated when it is scaled or rotated.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.BitmapOptions">
<summary>
Specifies how a bitmap can be used.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_1/ne-d2d1_1-d2d1_bitmap_options">D2D1_BITMAP_OPTIONS</a>
</summary>
<remarks>
BitmapOptions.None 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.<br/>
BitmapOptions.Target means that the bitmap can be specified as a target in <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.SetTarget(PaintDotNet.Direct2D1.IDeviceImage)"/>.
If you also specify the BitmapOptions.CannotDraw 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 D2DERR_BITMAP_CANNOT_DRAW.<br/>
BitmapOptions.CpuRead means that the bitmap can be mapped by using <see cref="M:PaintDotNet.Direct2D1.IDeviceBitmap.Map(PaintDotNet.Direct2D1.MapOptions)"/>. This flag
requires BitmapOptions.CannotDraw and cannot be combined with any other flags. The bitmap must be updated with the
CopyFromBitmap or CopyFromRenderTarget methods.<br/>
NOTE: You should only use BitmapOptions.CannotDraw when the purpose of the bitmap is to be a target only or when
the bitmap will be mapped.<br/>
BitmapOptions.GdiCompatible means that it is possible to get a DC associated with this bitmap. This must be used in
conjunction with BitmapOptions.Target. The DxgiFormat must be either <see cref="F:PaintDotNet.Dxgi.DxgiFormat.B8G8R8A8_UNorm"/>or
<see cref="F:PaintDotNet.Dxgi.DxgiFormat.B8G8R8A8_UNorm_Srgb"/>.
</remarks>
</member>
<member name="F:PaintDotNet.Direct2D1.BitmapOptions.None">
<summary>
The bitmap is created with default properties.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BitmapOptions.Target">
<summary>
The bitmap can be used as a device context target.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BitmapOptions.CannotDraw">
<summary>
The bitmap cannot be used as an input.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BitmapOptions.CpuRead">
<summary>
The bitmap can be read from the CPU by using <see cref="M:PaintDotNet.Direct2D1.IDeviceBitmap.Map(PaintDotNet.Direct2D1.MapOptions)"/>.
This flag requires <see cref="F:PaintDotNet.Direct2D1.BitmapOptions.CannotDraw"/> and cannot be combined with any
other flags.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BitmapOptions.GdiCompatible">
<summary>
The bitmap works with ID2D1GdiInteropRenderTarget::GetDC(). (unsupported)
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.BitmapProperties">
<summary>
This structure allows a <see cref="T:PaintDotNet.Direct2D1.IDeviceBitmap"/> to be created with bitmap options and color context information available.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_1/ns-d2d1_1-d2d1_bitmap_properties1">D2D1_BITMAP_PROPERTIES1</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.BitmapProperties.PixelFormat">
<summary>
The DXGI format and alpha mode to create the bitmap with.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.BitmapProperties.Dpi">
<summary>
The bitmap DPI.
</summary>
<remarks>
If set to (0, 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.
</remarks>
</member>
<member name="P:PaintDotNet.Direct2D1.BitmapProperties.Options">
<summary>
The special creation options of the bitmap.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.BitmapProperties.ColorContext">
<summary>
The optionally specified color context information.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.BitmapSourceAlphaMode">
<summary>
Specifies the alpha mode of the output of the Bitmap source effect.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects/ne-d2d1effects-d2d1_bitmapsource_alpha_mode">D2D1_BITMAPSOURCE_ALPHA_MODE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BitmapSourceAlphaMode.Premultiplied">
<summary>
The effect output uses premultiplied alpha.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BitmapSourceAlphaMode.Straight">
<summary>
The effect output uses straight alpha.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.BitmapSourceInterpolationMode">
<summary>
The interpolation mode used to scale the image in the Bitmap source effect. If the mode disables the mipmap, then BitmapSource will
cache the image at the resolution determined by the Scale and EnableDpiCorrection properties.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects/ne-d2d1effects-d2d1_bitmapsource_interpolation_mode">D2D1_BITMAPSOURCE_INTERPOLATION_MODE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BitmapSourceInterpolationMode.NearestNeighbor">
<summary>
Samples the nearest single point and uses that. This mode uses less processing time, but outputs the lowest quality image. Doesn't generate a mipmap.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BitmapSourceInterpolationMode.Linear">
<summary>
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. Doesn't generate a mipmap.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BitmapSourceInterpolationMode.Cubic">
<summary>
Uses a 16 sample cubic kernel for interpolation. This mode uses the most processing time, but outputs a higher quality image. Doesn't generate a mipmap.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BitmapSourceInterpolationMode.Fant">
<summary>
Uses the WIC Fant interpolation, the same as the IWICBitmapScaler interface. Doesn't generate a mipmap.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BitmapSourceInterpolationMode.MipmapLinear">
<summary>
Generates mipmap chain in system memory using bilinear interpolation. For each mipmap the effect scales to the nearest multiple of 0.5 using bilinear interpolation and then scales the remaining amount using linear interpolation.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.BitmapSourceOrientation">
<summary>
Specifies whether a flip and/or rotation operation should be performed by the Bitmap source effect.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects/ne-d2d1effects-d2d1_bitmapsource_orientation">D2D1_BITMAPSOURCE_ORIENTATION</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BitmapSourceOrientation.Default">
<summary>
The effect doesn't change the orientation of the input.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BitmapSourceOrientation.FlipHorizontal">
<summary>
Flips the image horizontally.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BitmapSourceOrientation.RotateClockwise180">
<summary>
Rotates the image clockwise 180 degrees.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BitmapSourceOrientation.RotateClockwise180FlipHorizontal">
<summary>
Rotates the image clockwise 180 degrees and flips it horizontally.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BitmapSourceOrientation.RotateClockwise270FlipHorizontal">
<summary>
Rotates the image clockwise 270 degrees and flips it horizontally.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BitmapSourceOrientation.RotateClockwise90">
<summary>
Rotates the image clockwise 90 degrees.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BitmapSourceOrientation.RotateClockwise90FlipHorizontal">
<summary>
Rotates the image clockwise 90 degrees and flips it horizontally.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BitmapSourceOrientation.RotateClockwise270">
<summary>
Rotates the image clockwise 270 degrees.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.BlendDescription">
<summary>
Defines a blend description to be used in a particular blend transform.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effectauthor/ns-d2d1effectauthor-d2d1_blend_description">D2D1_BLEND_DESCRIPTION</a>
</summary>
<remarks>
This description closely matches the <a href="https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_blend_desc">D3D11_BLEND_DESC</a>
struct with some omissions and the addition of the blend factor in the description.
</remarks>
</member>
<member name="P:PaintDotNet.Direct2D1.BlendDescription.SourceBlend">
<summary>
Specifies the first RGB data source and includes an optional preblend operation.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.BlendDescription.DestinationBlend">
<summary>
Specifies the second RGB data source and includes an optional preblend operation.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.BlendDescription.BlendOperation">
<summary>
Specifies how to combine the RGB data sources.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.BlendDescription.SourceBlendAlpha">
<summary>
Specifies the first alpha data source and includes an optional preblend operation. Blend options that end in Color are not allowed.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.BlendDescription.DestinationBlendAlpha">
<summary>
Specifies the second alpha data source and includes an optional preblend operation. Blend options that end in Color are not allowed.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.BlendDescription.BlendOperationAlpha">
<summary>
Specifies how to combine the alpha data sources.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.BlendDescription.BlendFactor">
<summary>
Parameters to the blend operations. The blend must use <see cref="F:PaintDotNet.Direct2D1.BlendOption.BlendFactor"/> for this to be used.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.BlendFactor">
<summary>
Specifies the data for the <see cref="P:PaintDotNet.Direct2D1.BlendDescription.BlendFactor"/> property.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.BlendMode">
<summary>
Blending modes for the BlendEffect. See <a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1effects/ne-d2d1effects-d2d1_blend_mode">D2D1_BLEND_MODE</a>
and <a href="https://docs.microsoft.com/en-us/windows/win32/direct2d/blend">Direct2D Blend effect</a> for more information.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BlendMode.Multiply">
<summary>
See <a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1effects/ne-d2d1effects-d2d1_blend_mode">Direct2D Blend modes</a>
and <a href="https://docs.microsoft.com/en-us/windows/win32/direct2d/blend">Direct2D Blend effect</a> for more information.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BlendMode.Screen">
<summary>
<inheritdoc cref="F:PaintDotNet.Direct2D1.BlendMode.Multiply" />
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BlendMode.Darken">
<summary>
<inheritdoc cref="F:PaintDotNet.Direct2D1.BlendMode.Multiply" />
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BlendMode.Lighten">
<summary>
<inheritdoc cref="F:PaintDotNet.Direct2D1.BlendMode.Multiply" />
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BlendMode.Dissolve">
<summary>
<inheritdoc cref="F:PaintDotNet.Direct2D1.BlendMode.Multiply" />
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BlendMode.ColorBurn">
<summary>
<inheritdoc cref="F:PaintDotNet.Direct2D1.BlendMode.Multiply" />
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BlendMode.LinearBurn">
<summary>
<inheritdoc cref="F:PaintDotNet.Direct2D1.BlendMode.Multiply" />
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BlendMode.DarkerColor">
<summary>
<inheritdoc cref="F:PaintDotNet.Direct2D1.BlendMode.Multiply" />
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BlendMode.LighterColor">
<summary>
<inheritdoc cref="F:PaintDotNet.Direct2D1.BlendMode.Multiply" />
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BlendMode.ColorDodge">
<summary>
<inheritdoc cref="F:PaintDotNet.Direct2D1.BlendMode.Multiply" />
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BlendMode.LinearDodge">
<summary>
<inheritdoc cref="F:PaintDotNet.Direct2D1.BlendMode.Multiply" />
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BlendMode.Overlay">
<summary>
<inheritdoc cref="F:PaintDotNet.Direct2D1.BlendMode.Multiply" />
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BlendMode.SoftLight">
<summary>
<inheritdoc cref="F:PaintDotNet.Direct2D1.BlendMode.Multiply" />
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BlendMode.HardLight">
<summary>
<inheritdoc cref="F:PaintDotNet.Direct2D1.BlendMode.Multiply" />
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BlendMode.VividLight">
<summary>
<inheritdoc cref="F:PaintDotNet.Direct2D1.BlendMode.Multiply" />
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BlendMode.LinearLight">
<summary>
<inheritdoc cref="F:PaintDotNet.Direct2D1.BlendMode.Multiply" />
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BlendMode.PinLight">
<summary>
<inheritdoc cref="F:PaintDotNet.Direct2D1.BlendMode.Multiply" />
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BlendMode.HardMix">
<summary>
<inheritdoc cref="F:PaintDotNet.Direct2D1.BlendMode.Multiply" />
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BlendMode.Difference">
<summary>
<inheritdoc cref="F:PaintDotNet.Direct2D1.BlendMode.Multiply" />
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BlendMode.Exclusion">
<summary>
<inheritdoc cref="F:PaintDotNet.Direct2D1.BlendMode.Multiply" />
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BlendMode.Hue">
<summary>
<inheritdoc cref="F:PaintDotNet.Direct2D1.BlendMode.Multiply" />
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BlendMode.Saturation">
<summary>
<inheritdoc cref="F:PaintDotNet.Direct2D1.BlendMode.Multiply" />
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BlendMode.Color">
<summary>
<inheritdoc cref="F:PaintDotNet.Direct2D1.BlendMode.Multiply" />
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BlendMode.Luminosity">
<summary>
<inheritdoc cref="F:PaintDotNet.Direct2D1.BlendMode.Multiply" />
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BlendMode.Subtract">
<summary>
<inheritdoc cref="F:PaintDotNet.Direct2D1.BlendMode.Multiply" />
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BlendMode.Division">
<summary>
<inheritdoc cref="F:PaintDotNet.Direct2D1.BlendMode.Multiply" />
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.BlendOperation">
<summary>
Specifies the blend operation on two color sources.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effectauthor/ne-d2d1effectauthor-d2d1_blend_operation">D2D1_BLEND_OPERATION</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BlendOperation.Add">
<summary>
Add source 1 and source 2.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BlendOperation.Subtract">
<summary>
Subtract source 1 from source 2.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BlendOperation.ReverseSubtract">
<summary>
Subtract source 2 from source 1.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BlendOperation.Min">
<summary>
Find the minimum of source 1 and source 2.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BlendOperation.Max">
<summary>
Find the maximum of source 1 and source 2.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.BlendOption">
<summary>
Specifies how one of the color sources is to be derived and optionally specifies a preblend operation on the color source.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1effectauthor/ne-d2d1effectauthor-d2d1_blend">D2D1_BLEND</a>
</summary>
<remarks>
See also <a href="https://docs.microsoft.com/en-us/windows/win32/api/d3d10/ne-d3d10-d3d10_blend">D3D10_BLEND</a>.
</remarks>
</member>
<member name="T:PaintDotNet.Direct2D1.BorderEdgeMode">
<summary>
The edge mode for the Border effect.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects/ne-d2d1effects-d2d1_border_edge_mode">D2D1_BORDER_EDGE_MODE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BorderEdgeMode.Clamp">
<summary>
Repeats the pixels from the edges of the image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BorderEdgeMode.Wrap">
<summary>
Uses pixels from the opposite end edge of the image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BorderEdgeMode.Mirror">
<summary>
Reflects pixels about the edge of the image.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.BorderMode">
<summary>
Specifies how various effects handle the rectangle falling on fractional pixel coordinates.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects/ne-d2d1effects-d2d1_border_mode">D2D1_BORDER_MODE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BorderMode.Soft">
<summary>
For cropping, if the crop rectangle falls on fractional pixel coordinates, the effect applies antialiasing which results in a soft edge.<br/>
For sampling, the effect pads the image with transparent black pixels as it interpolates, resulting in a soft edge.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BorderMode.Hard">
<summary>
If the crop rectangle falls on fractional pixel coordinates, the effect clamps which results in a hard edge.<br/>
For sampling, the effect clamps the output to the size of the input image.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.BufferPrecision">
<summary>
Represents the bit depth of the imaging pipeline in Direct2D.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_1/ne-d2d1_1-d2d1_buffer_precision">D2D1_BUFFER_PRECISION</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BufferPrecision.Unknown">
<summary>
The buffer precision is not specified.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BufferPrecision.UInt8Normalized">
<summary>
Use normalized 8-bit integers per channel.
The integer's range of [0, 255] is mapped to [0.0, 1.0]. Values calculated outside of that range are clamped.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BufferPrecision.UInt8NormalizedSrgb">
<summary>
Use normalized 8-bit integers per channel in standard RGB format.
The integer's range of [0, 255] is mapped to [0.0, 1.0]. Values calculated outside of that range are clamped.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BufferPrecision.UInt16Normalized">
<summary>
Use normalized 16-bit integers per channel.
The integer's range of [0, 65535] is mapped to [0.0, 1.0]. Values calculated outside of that range are clamped.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BufferPrecision.Float16">
<summary>
Use 16-bit floats per channel.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.BufferPrecision.Float32">
<summary>
Use 32-bit floats per channel.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.CapStyle">
<summary>
Describes the shape at the end of a line or segment.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ne-d2d1-d2d1_cap_style">D2D1_CAP_STYLE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.CapStyle.Flat">
<summary>
A cap that does not extend past the last point of the line. Comparable to cap used for objects other than lines.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.CapStyle.Square">
<summary>
Half of a square that has a length equal to the line thickness.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.CapStyle.Round">
<summary>
A semicircle that has a diameter equal to the line thickness.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.CapStyle.Triangle">
<summary>
An isosceles right triangle whose hypotenuse is equal in length to the thickness of the line.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ChangeType">
<summary>
Describes the changes that prompted the need to render an effect.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1effectauthor/ne-d2d1effectauthor-d2d1_change_type">D2D1_CHANGE_TYPE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ChangeType.None">
<summary>
There were no changes.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ChangeType.Properties">
<summary>
The properties of the effect changed.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ChangeType.Context">
<summary>
The context state changed.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ChangeType.Graph">
<summary>
The effect’s transform graph has changed. This happens only when an effect supports a variable input count.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ChannelDepth">
<summary>
Allows a caller to control the channel depth of a stage in the rendering pipeline.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1effectauthor/ne-d2d1effectauthor-d2d1_channel_depth">D2D1_CHANNEL_DEPTH</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ChannelDepth.Default">
<summary>
The channel depth is the default. It is inherited from the inputs.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ChannelDepth.One">
<summary>
The channel depth is 1.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ChannelDepth.Four">
<summary>
The channel depth is 4.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ChannelSelector">
<summary>
Specifies a color channel of an effect's input.
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects/ne-d2d1effects-d2d1_channel_selector">D2D1_CHANNEL_SELECTOR</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ChannelSelector.R">
<summary>
The effect uses the red channel.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ChannelSelector.G">
<summary>
The effect uses the green channel.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ChannelSelector.B">
<summary>
The effect uses the blue channel.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ChannelSelector.A">
<summary>
The effect uses the alpha channel.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ColorBitmapGlyphSnapOption">
<summary>
Specifies the pixel snapping policy when rendering color bitmap glyphs.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_3/ne-d2d1_3-d2d1_color_bitmap_glyph_snap_option">D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ColorBitmapGlyphSnapOption.Default">
<summary>
Color bitmap glyph positions are snapped to the nearest pixel if the bitmap
resolution matches that of the device context.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ColorBitmapGlyphSnapOption.Disable">
<summary>
Color bitmap glyph positions are not snapped.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ColorInterpolationMode">
<summary>
Defines how to interpolate between colors.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_1/ne-d2d1_1-d2d1_color_interpolation_mode">D2D1_COLOR_INTERPOLATION_MODE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ColorInterpolationMode.Straight">
<summary>
Colors are interpolated with straight alpha.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ColorInterpolationMode.Premultiplied">
<summary>
Colors are interpolated with premultiplied alpha.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ColorManagementAlphaMode">
<summary>
Indicates how the Color management effect should interpret alpha data that is contained in the input image.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects/ne-d2d1effects-d2d1_colormanagement_alpha_mode">D2D1_COLORMANAGEMENT_ALPHA_MODE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ColorManagementAlphaMode.Premultiplied">
<summary>
The effect assumes the alpha mode is premultiplied.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ColorManagementAlphaMode.Straight">
<summary>
The effect assumes the alpha mode is straight.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ColorManagementQuality">
<summary>
The quality level of the transform for the Color management effect.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects/ne-d2d1effects-d2d1_colormanagement_quality">D2D1_COLORMANAGEMENT_QUALITY</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ColorManagementQuality.Proof">
<summary>
The lowest quality mode. This mode requires feature level 9_1 or above.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ColorManagementQuality.Normal">
<summary>
Normal quality mode. This mode requires feature level 9_1 or above.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ColorManagementQuality.Best">
<summary>
The best quality mode. This mode requires feature level 10_0 or above, as well as floating
point precision buffers. This mode supports floating point precision as well as extended
range as defined in the ICC v4.3 specification.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ColorManagementRenderingIntent">
<summary>
Specifies which ICC rendering intent the Color management effect should use.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects/ne-d2d1effects-d2d1_colormanagement_rendering_intent">D2D1_COLORMANAGEMENT_RENDERING_INTENT</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ColorManagementRenderingIntent.Perceptual">
<summary>
The effect compresses or expands the full color gamut of the image to fill the color gamut of
the device, so that gray balance is preserved but colorimetric accuracy may not be preserved.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ColorManagementRenderingIntent.RelativeColorimetric">
<summary>
The effect preserves the chroma of colors in the image at the possible expense of hue and lightness.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ColorManagementRenderingIntent.Saturation">
<summary>
The effect adjusts colors that fall outside the range of colors the output device renders to the
closest color available. It does not preserve the white point.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ColorManagementRenderingIntent.AbsoluteColorimetric">
<summary>
The effect adjusts any colors that fall outside the range that the output device can render to the
closest color that can be rendered. The effect does not change the other colors and preserves the
white point.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ColorMatrixAlphaMode">
<summary>
The alpha mode of the output of the Color matrix effect.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects/ne-d2d1effects-d2d1_colormatrix_alpha_mode">D2D1_COLORMATRIX_ALPHA_MODE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ColorMatrixAlphaMode.Premultiplied">
<summary>
The effect un-premultiplies the input, applies the color matrix, and premultiplies the output.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ColorMatrixAlphaMode.Straight">
<summary>
The effect applies the color matrix directly to the input, and doesn't premultiply the output.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.CompatibleDeviceContextOptions">
<summary>
Specifies additional features supportable by a compatible device context when it is created.
This enumeration allows a bitwise combination of its member values.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ne-d2d1-d2d1_compatible_render_target_options">D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.CompatibleDeviceContextOptions.None">
<summary>
The render target supports no additional features.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.CompatibleDeviceContextOptions.GdiCompatible">
<summary>
The render target supports interoperability with the Windows Graphics Device Interface (GDI).
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.CompositeMode">
<summary>
Specifies a compositing mode. See <a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_1/ne-d2d1_1-d2d1_composite_mode">D2D1_COMPOSITE_MODE</a>
and <a href="https://docs.microsoft.com/en-us/windows/win32/direct2d/composite">Direct2D Composite effect</a> for more info.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.CompositeMode.SourceOver">
<summary>
The standard source-over-destination blend mode.
</summary>
<remarks>
O = S + (1 - SA) * D
</remarks>
</member>
<member name="F:PaintDotNet.Direct2D1.CompositeMode.DestinationOver">
<summary>
The destination is rendered over the source.
</summary>
<remarks>
O = (1 - DA) * S + D
</remarks>
</member>
<member name="F:PaintDotNet.Direct2D1.CompositeMode.SourceIn">
<summary>
Performs a logical clip of the source pixels against the destination pixels.
</summary>
<remarks>
O = DA * S
</remarks>
</member>
<member name="F:PaintDotNet.Direct2D1.CompositeMode.DestinationIn">
<summary>
The inverse of the SourceIn operation.
</summary>
<remarks>
O = SA * D
</remarks>
</member>
<member name="F:PaintDotNet.Direct2D1.CompositeMode.SourceOut">
<summary>
The logical inverse of the SourceIn operation.
</summary>
<remarks>
O = (1 - DA) * S
</remarks>
</member>
<member name="F:PaintDotNet.Direct2D1.CompositeMode.DestinationOut">
<summary>
The logical inverse to the DestinationIn operation.
</summary>
<remarks>
O = (1 - SA) * D
</remarks>
</member>
<member name="F:PaintDotNet.Direct2D1.CompositeMode.SourceAtop">
<summary>
Writes the source pixels over the destination where there are destination pixels.
</summary>
<remarks>
O = DA * S + (1 - SA) * D
</remarks>
</member>
<member name="F:PaintDotNet.Direct2D1.CompositeMode.DestinationAtop">
<summary>
The logical inverse of the SourceAtop operation.
</summary>
<remarks>
O = (1 - DA) * S + SA * D
</remarks>
</member>
<member name="F:PaintDotNet.Direct2D1.CompositeMode.Xor">
<summary>
The source is inverted with the destination.
</summary>
<remarks>
O = (1 - DA) * S + (1 - SA) * D
</remarks>
</member>
<member name="F:PaintDotNet.Direct2D1.CompositeMode.Plus">
<summary>
The channel components are summed.
</summary>
<remarks>
O = S + D
</remarks>
</member>
<member name="F:PaintDotNet.Direct2D1.CompositeMode.SourceCopy">
<summary>
The source is copied to the destination; the destination pixels are ignored.
</summary>
<remarks>
O = S
</remarks>
</member>
<member name="F:PaintDotNet.Direct2D1.CompositeMode.BoundedSourceCopy">
<summary>
Equivalent to SourceCopy, but pixels outside of the source bounds are unchanged.
</summary>
<remarks>
O = S (only where source exists)
</remarks>
</member>
<member name="F:PaintDotNet.Direct2D1.CompositeMode.MaskInvert">
<summary>
Destination colors are inverted according to a source mask.
</summary>
<remarks>
O = (1 - DA) * S + (1 - SA) * D
</remarks>
</member>
<member name="T:PaintDotNet.Direct2D1.ConvolveMatrixScaleMode">
<summary>
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.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects/ne-d2d1effects-d2d1_convolvematrix_scale_mode">D2D1_CONVOLVEMATRIX_SCALE_MODE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ConvolveMatrixScaleMode.NearestNeighbor">
<summary>
Samples the nearest single point and uses that. This mode uses less processing time, but outputs the lowest quality image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ConvolveMatrixScaleMode.Linear">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ConvolveMatrixScaleMode.Cubic">
<summary>
Uses a 16 sample cubic kernel for interpolation. This mode uses the most processing time, but outputs a higher quality image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ConvolveMatrixScaleMode.MultisampleLinear">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ConvolveMatrixScaleMode.Anisotropic">
<summary>
Uses anisotropic filtering to sample a pattern according to the transformed shape of the bitmap.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ConvolveMatrixScaleMode.HighQualityCubic">
<summary>
Uses a variable size high quality cubic kernel to perform a pre-downscale of the image if downscaling is involved in the transform matrix. Then uses the cubic interpolation mode for the final output.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.DashStyle">
<summary>
Describes the sequence of dashes and gaps in a stroke.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ne-d2d1-d2d1_dash_style">D2D1_DASH_STYLE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DashStyle.Solid">
<summary>
A solid line with no breaks.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DashStyle.Dash">
<summary>
A dash followed by a gap of equal length. The dash and the gap are each twice as long as the stroke thickness.<br/>
The equivalent dash array is {2, 2}.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DashStyle.Dot">
<summary>
A dot followed by a longer gap.<br/>
The equivalent dash array is {0, 2}.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DashStyle.DashDot">
<summary>
A dash, followed by a gap, followed by a dot, followed by another gap.<br/>
The equivalent dash array is {2, 2, 0, 2}.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DashStyle.DashDotDot">
<summary>
A dash, followed by a gap, followed by a dot, followed by another gap, followed by another dot, followed by another gap.<br/>
The equivalent dash array is {2, 2, 0, 2, 0, 2}.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DashStyle.Custom">
<summary>
The dash pattern is specified by an array of floating-point values.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.DebugLevel">
<summary>
Indicates the type of information provided by the Direct2D Debug Layer.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ne-d2d1-d2d1_debug_level">D2D1_DEBUG_LEVEL</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DebugLevel.None">
<summary>
Direct2D does not produce any debugging output.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DebugLevel.Error">
<summary>
Direct2D sends error messages to the debug layer.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DebugLevel.Warning">
<summary>
Direct2D sends error messages and warnings to the debug layer.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DebugLevel.Information">
<summary>
Direct2D sends error messages, warnings, and additional diagnostic information that can help improve performance to the debug layer.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.DeviceColorContextType">
<summary>
Specifies which way a color profile is defined.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_3/ne-d2d1_3-d2d1_color_context_type">D2D1_COLOR_CONTEXT_TYPE</a>
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.DeviceColorSpace">
<summary>
Defines options that should be applied to the color space.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_1/ne-d2d1_1-d2d1_color_space">D2D1_COLOR_SPACE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceColorSpace.Custom">
<summary>
The color space is otherwise described, such as with a color profile.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceColorSpace.Srgb">
<summary>
The color space is sRGB (gamma value of 2.2).
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceColorSpace.ScRgb">
<summary>
The color space is scRGB (gamma value of 1.0, aka linear).
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.DeviceContextExtensions.DrawGlyphRun(PaintDotNet.Direct2D1.IDeviceContext,PaintDotNet.Rendering.Point2Float,PaintDotNet.DirectWrite.GlyphRun@,PaintDotNet.Direct2D1.IDeviceBrush,PaintDotNet.DirectWrite.TextMeasuringMode)">
<summary>
<inheritdoc cref="M:PaintDotNet.Direct2D1.IDeviceContext.DrawGlyphRun(PaintDotNet.Rendering.Point2Float,PaintDotNet.DirectWrite.GlyphRun@,PaintDotNet.DirectWrite.GlyphRunDescription@,PaintDotNet.Direct2D1.IDeviceBrush,PaintDotNet.DirectWrite.TextMeasuringMode)"/>
</summary>
<remarks>
See <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.DrawGlyphRun(PaintDotNet.Rendering.Point2Float,PaintDotNet.DirectWrite.GlyphRun@,PaintDotNet.DirectWrite.GlyphRunDescription@,PaintDotNet.Direct2D1.IDeviceBrush,PaintDotNet.DirectWrite.TextMeasuringMode)"/> for more details.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.DeviceContextExtensions.TryFlush(PaintDotNet.Direct2D1.IDeviceContext)">
<summary>
Flushes the device context, if possible.
</summary>
<returns>The error code returned from ID2D1RenderTarget::Flush().</returns>
<remarks>
You can use this method to query the state of the device context. If Direct2D1Error.WrongState is returned,
then the device context is not in the drawing state (BeginDraw() has not been called). This can be helpful
when trying to build a command list.
</remarks>
</member>
<member name="T:PaintDotNet.Direct2D1.DeviceContextOptions">
<summary>
This specifies options that apply to the device context for its lifetime.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_1/ne-d2d1_1-d2d1_device_context_options">D2D1_DEVICE_CONTEXT_OPTIONS</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceContextOptions.None">
<summary>
The device context is created with default options.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceContextOptions.EnableMultithreadedOptimizations">
<summary>
Distribute rendering work across multiple threads. Refer to
<a href="https://learn.microsoft.com/en-us/windows/desktop/Direct2D/improving-direct2d-performance">Improving the performance of Direct2D apps</a>
for additional notes on the use of this flag.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.DeviceContextProperties">
<summary>
Contains rendering options (hardware or software), pixel format, DPI information, remoting options, and Direct3D support requirements for a device context.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ns-d2d1-d2d1_render_target_properties">D2D1_RENDER_TARGET_PROPERTIES</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.DeviceContextProperties.Type">
<summary>
A value that specifies whether the render target should force hardware or software rendering. A value of <see cref="F:PaintDotNet.Direct2D1.DeviceContextType.Default"/>
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.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.DeviceContextProperties.PixelFormat">
<summary>
The pixel format and alpha mode of the render target. You can use <see cref="P:PaintDotNet.Direct2D1.DevicePixelFormats.Unknown"/> to specify that Direct2D should
select the pixel format and alpha mode for you.<br/>
For a list of pixel formats and alpha modes supported by each render target, see
<a href="https://learn.microsoft.com/en-us/windows/win32/Direct2D/supported-pixel-formats-and-alpha-modes">Supported Pixel Formats and Alpha Modes</a>.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.DeviceContextProperties.Dpi">
<summary>
The DPI of the render target. To use the default DPI, set this to (0, 0).
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.DeviceContextProperties.Usage">
<summary>
A value that specifies how the device context is remoted and whether it should be GDI-compatible. Set to
<see cref="F:PaintDotNet.Direct2D1.DeviceContextUsage.None"/> to create a render target that is not compatible with GDI and uses
Direct3D command-stream remoting if it is available.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.DeviceContextProperties.MinLevel">
<summary>
A value that specifies the minimum Direct3D feature level required for hardware rendering. If the specified
minimum level is not available, the device context uses software rendering if the type member is set to
<see cref="F:PaintDotNet.Direct2D1.DeviceContextType.Default"/>; if type is set to <see cref="F:PaintDotNet.Direct2D1.DeviceContextType.Hardware"/>, device
context creation fails. A value of <see cref="F:PaintDotNet.Direct2D1.DeviceFeatureLevel.Default"/> indicates that Direct2D should
determine whether the Direct3D feature level of the device is adequate. This field is used only when creating
<see cref="T:PaintDotNet.Direct2D1.IHwndDeviceContext"/> and <see cref="T:PaintDotNet.Direct2D1.IDCDeviceContext"/> objects.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.DeviceContextType">
<summary>
Describes whether a device context uses hardware or software rendering, or if Direct2D should select the rendering mode.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ne-d2d1-d2d1_render_target_type">D2D1_RENDER_TARGET_TYPE</a>
</summary>
<remarks>
Not every render target supports hardware rendering. For more information, see the
<a href="https://learn.microsoft.com/en-us/windows/win32/Direct2D/render-targets-overview">Render Targets Overview</a>.
</remarks>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceContextType.Default">
<summary>
The device context uses hardware rendering, if available; otherwise, it uses software rendering.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceContextType.Software">
<summary>
The device context uses software rendering only.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceContextType.Hardware">
<summary>
The device context uses hardware rendering only.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.DeviceContextUsage">
<summary>
Describes how a device context is remoted and whether it should be GDI-compatible. This enumeration allows a bitwise combination of its member values.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ne-d2d1-d2d1_render_target_usage">D2D1_RENDER_TARGET_USAGE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceContextUsage.None">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceContextUsage.ForceBitmapRemoting">
<summary>
The render target renders content locally and sends it to the terminal services client as a bitmap.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceContextUsage.GdiCompatible">
<summary>
The render target can be used efficiently with GDI.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.DeviceEffectProperty">
<summary>
Specifies the indices of the system properties present on the <see cref="T:PaintDotNet.Direct2D1.IDeviceEffectProperties"/> interface for an <see cref="T:PaintDotNet.Direct2D1.IDeviceEffect"/>.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_1/ne-d2d1_1-d2d1_property">D2D1_PROPERTY</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectProperty.ClassID">
<summary>
The CLSID/EffectID of the effect.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectProperty.DisplayName">
<summary>
The name of the effect.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectProperty.Author">
<summary>
The author of the effect.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectProperty.Category">
<summary>
The category of the effect.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectProperty.Description">
<summary>
The description of the effect.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectProperty.Inputs">
<summary>
The names of the effect's inputs.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectProperty.Cached">
<summary>
The output of the effect should be cached.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectProperty.Precision">
<summary>
The buffer precision of the effect output.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectProperty.MinInputs">
<summary>
The minimum number of inputs supported by the effect.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectProperty.MaxInputs">
<summary>
The maximum number of inputs supported by the effect.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectProperty.Invalid">
<summary>
An invalid property index. This reserved value will never map to a valid index,
and will cause null or sentinel values to be returned, or exceptions to be thrown,
from other parts of the property interface.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.DeviceEffectPropertyType">
<summary>
Specifies the types of properties supported by the Direct2D property interface.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_1/ne-d2d1_1-d2d1_property_type">D2D1_PROPERTY_TYPE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectPropertyType.Unknown">
<summary>
An unknown property.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectPropertyType.String">
<summary>
An arbitrary-length string.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectPropertyType.Boolean">
<summary>
A 32-bit integer value constrained to be either 0 or 1.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectPropertyType.UInt32">
<summary>
An unsigned 32-bit integer.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectPropertyType.Int32">
<summary>
A signed 32-bit integer.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectPropertyType.Float">
<summary>
A 32-bit float.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectPropertyType.Vector2Float">
<summary>
Two 32-bit float values.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectPropertyType.Vector3Float">
<summary>
Three 32-bit float values.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectPropertyType.Vector4Float">
<summary>
Four 32-bit float values.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectPropertyType.Blob">
<summary>
An arbitrary number of bytes.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectPropertyType.IObjectRef">
<summary>
An object that implements <see cref="F:PaintDotNet.Direct2D1.DeviceEffectPropertyType.IObjectRef"/>.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectPropertyType.Enum">
<summary>
An enumeration. The value should be treated as a UINT32 with a defined array of fields to specify the bindings to human-readable strings.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectPropertyType.Array">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectPropertyType.ClassID">
<summary>
A class ID (CLSID, GUID).
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectPropertyType.Matrix3x2Float">
<summary>
A 3x2 matrix of float values.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectPropertyType.Matrix4x3Float">
<summary>
A 4x3 matrix of float values.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectPropertyType.Matrix4x4Float">
<summary>
A 4x4 matrix of float values.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectPropertyType.Matrix5x4Float">
<summary>
A 5x4 matrix of float values.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectPropertyType.ColorContext">
<summary>
An object that implements <see cref="T:PaintDotNet.Direct2D1.IDeviceColorContext"/>.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.DeviceEffectSubProperty">
<summary>
Specifies the indices of the system sub-properties that may be present in any property.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_1/ne-d2d1_1-d2d1_subproperty">D2D1_SUBPROPERTY</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectSubProperty.DisplayName">
<summary>
The name for the parent property.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectSubProperty.IsReadOnly">
<summary>
A boolean indicating whether the parent property is writable.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectSubProperty.Min">
<summary>
The minimum value that can be set to the parent property.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectSubProperty.Max">
<summary>
The maximum value that can be set to the parent property.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectSubProperty.Default">
<summary>
The default value of the parent property.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectSubProperty.Fields">
<summary>
An array of name/index pairs that indicate the possible values that can be set to the parent property.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceEffectSubProperty.Index">
<summary>
An index sub-property used by the elements of the <see cref="F:PaintDotNet.Direct2D1.DeviceEffectSubProperty.Fields"/> array.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.DeviceFeature">
<summary>
Defines capabilities of the underlying Direct3D device which may be queried using <see cref="M:PaintDotNet.Direct2D1.IDeviceEffectContext.CheckFeatureSupport(PaintDotNet.Direct2D1.DeviceFeature,System.Span{System.Byte})"/>.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effectauthor/ne-d2d1effectauthor-d2d1_feature">D2D1_FEATURE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceFeature.Doubles">
<summary>
The data argument should be a FeatureDataDoubles reference.<br/>
The use of DeviceEffectContextExtensions.CheckFeatureSupport(DeviceFeatures.Doubles) is recommended to simplify this.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceFeature.D3D10XHardwareOptions">
<summary>
The data argument should be a FeatureDataD3D10XHardwareOptions.<br/>
The use of DeviceEffectContextExtensions.CheckFeatureSupport(DeviceFeatures.D3D10XHardwareOptions) is recommended to simplify this.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.DeviceFeatureDataD3D10XHardwareOptions.ComputeShadersPlusRawAndStructuredBuffersViaShader4x">
<summary>
Shader model 4 compute shaders are supported.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.DeviceFeatureDataDoubles.DoublePrecisionFloatShaderOps">
<summary>
Returns true if doubles are supported within the shaders.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.DeviceFeatureLevel">
<summary>
Describes the minimum DirectX support required for hardware rendering by a render target.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ne-d2d1-d2d1_feature_level">D2D1_FEATURE_LEVEL</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceFeatureLevel.Default">
<summary>
Direct2D determines whether the video card provides adequate hardware rendering support.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceFeatureLevel.Level9">
<summary>
The video card must support DirectX 9.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DeviceFeatureLevel.Level10">
<summary>
The video card must support DirectX 10.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.DevicePixelFormat">
<summary>
Contains the data format and alpha mode for a bitmap or device context.<br/>
See <see cref="T:PaintDotNet.Direct2D1.DevicePixelFormats"/> for a list of common pre-defined values.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/dcommon/ns-dcommon-d2d1_pixel_format">D2D1_PIXEL_FORMAT</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.DevicePixelFormat.DxgiFormat">
<summary>
A value that specifies the size and arrangement of channels in each pixel.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.DevicePixelFormat.AlphaMode">
<summary>
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.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.DevicePixelFormats.Alpha8">
<summary>
Specifies <see cref="F:PaintDotNet.Dxgi.DxgiFormat.A8_UNorm"/> and <see cref="F:PaintDotNet.Direct2D1.AlphaMode.Premultiplied"/>.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.DevicePixelFormats.Pbgra32">
<summary>
Specifies <see cref="F:PaintDotNet.Dxgi.DxgiFormat.B8G8R8A8_UNorm"/> and <see cref="F:PaintDotNet.Direct2D1.AlphaMode.Premultiplied"/>.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.DevicePixelFormats.Prgba64">
<summary>
Specifies <see cref="F:PaintDotNet.Dxgi.DxgiFormat.R16G16B16A16_UNorm"/> and <see cref="F:PaintDotNet.Direct2D1.AlphaMode.Premultiplied"/>.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.DevicePixelFormats.Prgba64Half">
<summary>
Specifies <see cref="F:PaintDotNet.Dxgi.DxgiFormat.R16G16B16A16_Float"/> and <see cref="F:PaintDotNet.Direct2D1.AlphaMode.Premultiplied"/>.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.DevicePixelFormats.Prgba128Float">
<summary>
Specifies <see cref="F:PaintDotNet.Dxgi.DxgiFormat.R32G32B32A32_Float"/> and <see cref="F:PaintDotNet.Direct2D1.AlphaMode.Premultiplied"/>.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.DevicePixelFormats.Unknown">
<summary>
Specifies <see cref="F:PaintDotNet.Dxgi.DxgiFormat.Unknown"/> and <see cref="F:PaintDotNet.Direct2D1.AlphaMode.Unknown"/>.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.DirectionalBlurOptimization">
<summary>
Specifies the optimization mode for the Directional blur effect.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects/ne-d2d1effects-d2d1_directionalblur_optimization">D2D1_DIRECTIONALBLUR_OPTIMIZATION</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DirectionalBlurOptimization.Speed">
<summary>
Applies internal optimizations such as pre-scaling at relatively small radii. Uses linear filtering.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DirectionalBlurOptimization.Balanced">
<summary>
Uses the same optimization thresholds as Speed mode, but uses trilinear filtering.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DirectionalBlurOptimization.Quality">
<summary>
Only uses internal optimizations with large blur radii, where approximations are less likely to be visible.
Uses trilinear filtering.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.DistantDiffuseScaleMode">
<summary>
The interpolation mode the Distant Diffuse effect uses to scale the image to the corresponding kernel unit length.
There are six scale modes that range in quality and speed.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects/ne-d2d1effects-d2d1_distantdiffuse_scale_mode">D2D1_DISTANTDIFFUSE_SCALE_MODE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DistantDiffuseScaleMode.NearestNeighbor">
<summary>
Samples the nearest single point and uses that. This mode uses less processing time, but outputs the lowest quality image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DistantDiffuseScaleMode.Linear">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DistantDiffuseScaleMode.Cubic">
<summary>
Uses a 16 sample cubic kernel for interpolation. This mode uses the most processing time, but outputs a higher quality image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DistantDiffuseScaleMode.MultisampleLinear">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DistantDiffuseScaleMode.Anisotropic">
<summary>
Uses anisotropic filtering to sample a pattern according to the transformed shape of the bitmap.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DistantDiffuseScaleMode.HighQualityCubic">
<summary>
Uses a variable size high quality cubic kernel to perform a pre-downscale of the image if downscaling is involved in the transform matrix. Then uses the cubic interpolation mode for the final output.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.DistantSpecularScaleMode">
<summary>
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.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects/ne-d2d1effects-d2d1_distantspecular_scale_mode">D2D1_DISTANTSPECULAR_SCALE_MODE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DistantSpecularScaleMode.NearestNeighbor">
<summary>
Samples the nearest single point and uses that. This mode uses less processing time, but outputs the lowest quality image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DistantSpecularScaleMode.Linear">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DistantSpecularScaleMode.Cubic">
<summary>
Uses a 16 sample cubic kernel for interpolation. This mode uses the most processing time, but outputs a higher quality image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DistantSpecularScaleMode.MultisampleLinear">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DistantSpecularScaleMode.Anisotropic">
<summary>
Uses anisotropic filtering to sample a pattern according to the transformed shape of the bitmap.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DistantSpecularScaleMode.HighQualityCubic">
<summary>
Uses a variable size high quality cubic kernel to perform a pre-downscale of the image if downscaling is involved in the transform matrix. Then uses the cubic interpolation mode for the final output.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.DpiCompensationInterpolationMode">
<summary>
The interpolation mode the DPI compensation effect uses to scale the image.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects/ne-d2d1effects-d2d1_dpicompensation_interpolation_mode">D2D1_DPICOMPENSATION_INTERPOLATION_MODE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DpiCompensationInterpolationMode.NearestNeighbor">
<summary>
Samples the nearest single point and uses that. This mode uses less processing time, but outputs the lowest quality image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DpiCompensationInterpolationMode.Linear">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DpiCompensationInterpolationMode.Cubic">
<summary>
Uses a 16 sample cubic kernel for interpolation. This mode uses the most processing time, but outputs a higher quality image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DpiCompensationInterpolationMode.MultisampleLinear">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DpiCompensationInterpolationMode.Anisotropic">
<summary>
Uses anisotropic filtering to sample a pattern according to the transformed shape of the bitmap.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DpiCompensationInterpolationMode.HighQualityCubic">
<summary>
Uses a variable size high quality cubic kernel to perform a pre-downscale of the image if downscaling is involved in the transform matrix. Then uses the cubic interpolation mode for the final output.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.DrawingStateDescription">
<summary>
Describes the drawing state of a device context.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_1/ns-d2d1_1-d2d1_drawing_state_description1">D2D1_DRAWING_STATE_DESCRIPTION1</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.DrawingStateDescription.AntialiasMode">
<summary>
The antialiasing mode for subsequent nontext drawing operations.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.DrawingStateDescription.TextAntialiasMode">
<summary>
The antialiasing mode for subsequent text and glyph drawing operations.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.DrawingStateDescription.Tag1">
<summary>
A label for subsequent drawing operations.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.DrawingStateDescription.Tag2">
<summary>
A label for subsequent drawing operations.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.DrawingStateDescription.Transform">
<summary>
The transformation to apply to subsequent drawing operations.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.DrawingStateDescription.PrimitiveBlend">
<summary>
The blend mode for the device context to apply to subsequent drawing operations.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.DrawingStateDescription.UnitMode">
<summary>
How units will be interpreted.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.DrawTextOptions">
<summary>
Specifies options for drawing text.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ne-d2d1-d2d1_draw_text_options">D2D1_DRAW_TEXT_OPTIONS</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DrawTextOptions.None">
<summary>
Text is vertically snapped to pixel boundaries and is not clipped to the layout rectangle.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DrawTextOptions.NoSnap">
<summary>
Text is not vertically snapped to pixel boundaries. This setting is recommended for text that is being animated.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DrawTextOptions.Clip">
<summary>
Text is clipped to the layout rectangle.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DrawTextOptions.EnableColorFont">
<summary>
Text is rendered using color versions of glyphs, if defined by the font.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.DrawTextOptions.DiableColorBitmapSnapping">
<summary>
Bitmap origins of color glyph bitmaps are not snapped.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.EdgeDetectionMode">
<summary>
Specifies the edge detection mode for the Edge Detection effect.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects_2/ne-d2d1effects_2-d2d1_edgedetection_mode">D2D1_EDGEDETECTION_MODE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.EdgeDetectionMode.Sobel">
<summary>
Indicates the Sobel operator should be used for edge detection.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.EdgeDetectionMode.Prewitt">
<summary>
Indicates the Prewitt operator should be used for edge detection.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.EffectInputDescription">
<summary>
Describes an effect's input for the <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.GetEffectRequiredInputRectangles(PaintDotNet.Direct2D1.IDeviceEffect,System.Nullable{PaintDotNet.Rendering.RectFloat}@,System.ReadOnlySpan{PaintDotNet.Direct2D1.EffectInputDescription})"/> method.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_1/ns-d2d1_1-d2d1_effect_input_description">D2D1_EFFECT_INPUT_DESCRIPTION</a>
</summary>
<remarks>
You shouldn't 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.
</remarks>
</member>
<member name="P:PaintDotNet.Direct2D1.EffectInputDescription.Effect">
<summary>
The effect whose input connection is being specified.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.EffectInputDescription.InputIndex">
<summary>
The input index of the effect that is being considered.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.EffectInputDescription.InputRectangle">
<summary>
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.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.EffectInputInfo">
<summary>
Defines the content for an individual <Input> element in a custom effect's registration XML.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.EffectInputsInfo">
<summary>
Defines the content of a custom effect registration XML's <Inputs> element.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.EffectPropertiesInfo">
<summary>
Defines the contents of a custom effect registrations XML's <Property> elements.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.EffectPropertyFieldInfo">
<summary>
Defines the content for an individual <Field> element in a custom effect's registration XML.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.EffectPropertyInfo">
<summary>
Defines the content for an individual <Property> element in a custom effect's registration XML.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.EffectPropertyValueSpec">
<summary>
Specifies the default, min, and max values for a property in a custom effect's registration XML.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.EffectRegistrationInfo">
<summary>
Contains all the information needed for registering a custom effect with Direct2D.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.Ellipse">
<summary>
Contains the center point, x-radius, and y-radius of an ellipse.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ns-d2d1-d2d1_ellipse">D2D1_ELLIPSE</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.Ellipse.Center">
<summary>
The center point of the ellipse.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.Ellipse.RadiusX">
<summary>
The X-radius of the ellipse.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.Ellipse.RadiusY">
<summary>
The Y-radius of the ellipse.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.Ellipse.Bounds">
<summary>
Gets the bounding rectangle of the ellipse.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ExtendMode">
<summary>
Specifies how a brush paints areas outside of its normal content area.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ne-d2d1-d2d1_extend_mode">D2D1_EXTEND_MODE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ExtendMode.Clamp">
<summary>
Repeat the edge pixels of the brush's content for all regions outside the normal content area.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ExtendMode.Wrap">
<summary>
Repeat the brush's content.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ExtendMode.Mirror">
<summary>
The same as <see cref="F:PaintDotNet.Direct2D1.ExtendMode.Wrap"/>, except that alternate tiles of the brush's content are flipped.
(The brush's normal content is drawn untransformed.)
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.FactoryOptions">
<summary>
Contains the debugging level of an <see cref="T:PaintDotNet.Direct2D1.IDirect2DFactory"/> object.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ns-d2d1-d2d1_factory_options">D2D1_FACTORY_OPTIONS</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.FactoryOptions.DebugLevel">
<summary>
The debugging level of the <see cref="T:PaintDotNet.Direct2D1.IDirect2DFactory"/> object.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.FactoryType">
<summary>
Specifies whether Direct2D provides synchronization for an <see cref="T:PaintDotNet.Direct2D1.IDirect2DFactory"/> and the resources
it creates, so that they may be safely accessed from multiple threads.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ne-d2d1-d2d1_factory_type">D2D1_FACTORY_TYPE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.FactoryType.SingleThreaded">
<summary>
No synchronization is provided for accessing or writing to the factory or the objects it creates.
If the factory or the objects are called from multiple threads, it is up to the application to
provide access locking.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.FactoryType.Multithreaded">
<summary>
Direct2D provides synchronization for accessing and writing to the factory and the objects it creates,
enabling safe access from multiple threads.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.FigureBegin">
<summary>
Indicates whether a specific <see cref="T:PaintDotNet.Direct2D1.ISimplifiedGeometrySink"/> figure is filled or hollow.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ne-d2d1-d2d1_figure_begin">D2D1_FIGURE_BEGIN</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.FigureBegin.Filled">
<summary>
Indicates the figure will be filled by the FillGeometry (<see cref="M:PaintDotNet.Direct2D1.IDeviceContext.FillGeometry(PaintDotNet.Direct2D1.IGeometry,PaintDotNet.Direct2D1.IDeviceBrush,PaintDotNet.Direct2D1.IDeviceBrush)"/>
or <see cref="M:PaintDotNet.Direct2D1.ICommandSink.FillGeometry(PaintDotNet.Direct2D1.IGeometry,PaintDotNet.Direct2D1.IDeviceBrush,PaintDotNet.Direct2D1.IDeviceBrush)"/> method.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.FigureBegin.Hollow">
<summary>
Indicates the figure will not be filled by the FillGeometry (<see cref="M:PaintDotNet.Direct2D1.IDeviceContext.FillGeometry(PaintDotNet.Direct2D1.IGeometry,PaintDotNet.Direct2D1.IDeviceBrush,PaintDotNet.Direct2D1.IDeviceBrush)"/>
or <see cref="M:PaintDotNet.Direct2D1.ICommandSink.FillGeometry(PaintDotNet.Direct2D1.IGeometry,PaintDotNet.Direct2D1.IDeviceBrush,PaintDotNet.Direct2D1.IDeviceBrush)"/> method and will only consist of an outline.<br/>
Moreover, the bounds of a hollow figure are zero.<br/>
<see cref="F:PaintDotNet.Direct2D1.FigureBegin.Hollow"/> should be used for stroking, or for other geometry operations.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.FigureEnd">
<summary>
Indicates whether a specific <see cref="T:PaintDotNet.Direct2D1.ISimplifiedGeometrySink"/> figure is open or closed.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ne-d2d1-d2d1_figure_end">D2D1_FIGURE_END</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.FigureEnd.Open">
<summary>
The figure is open.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.FigureEnd.Closed">
<summary>
The figure is closed.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.FillMode">
<summary>
Specifies how the intersecting areas of geometries or figures are combined to form
the area of the composite geometry.<br/>
See <a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ne-d2d1-d2d1_fill_mode">D2D1_FILL_MODE</a>
for more information.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.FillMode.Alternate">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.FillMode.Winding">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.FlatteningTolerance.Default">
<summary>
The default tolerance for geometric flattening operations. <a href="https://learn.microsoft.com/en-us/windows/win32/direct2d/direct2d-constants">D2D1_DEFAULT_FLATTENING_TOLERANCE</a>
</summary>
<remarks>
This is the same value used in WPF, <a href="http://msdn.microsoft.com/en-us/library/system.windows.media.geometry.standardflatteningtolerance.aspx">Geometry.StandardFlatteningTolerance</a>
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.FlatteningTolerance.Compute(PaintDotNet.Rendering.Matrix3x2Float@,System.Single,System.Single,System.Single)">
<summary>
Computes the appropriate flattening tolerance to pass to APIs that take a flattening tolerance (e.g.,
<see cref="M:PaintDotNet.Direct2D1.IDeviceContext.CreateFilledGeometryRealization(PaintDotNet.Direct2D1.IGeometry,System.Nullable{System.Single})"/>).
</summary>
<remarks>
This is a wrapper around Direct2D's <a href="https://learn.microsoft.com/en-us/previous-versions/windows/desktop/legacy/dn280327(v=vs.85)">ComputeFlatteningTolerance</a> method.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.FlatteningTolerance.Compute(PaintDotNet.Rendering.Matrix3x2Float@,PaintDotNet.Rendering.Vector2Float,System.Single)">
<summary>
<inheritdoc cref="M:PaintDotNet.Direct2D1.FlatteningTolerance.Compute(PaintDotNet.Rendering.Matrix3x2Float@,System.Single,System.Single,System.Single)"/>
</summary>
<remarks>
<inheritdoc cref="M:PaintDotNet.Direct2D1.FlatteningTolerance.Compute(PaintDotNet.Rendering.Matrix3x2Float@,System.Single,System.Single,System.Single)"/>
</remarks>
</member>
<member name="T:PaintDotNet.Direct2D1.GaussianBlurOptimization">
<summary>
The optimization mode for the Gaussian blur effect.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects/ne-d2d1effects-d2d1_gaussianblur_optimization">D2D1_GAUSSIANBLUR_OPTIMIZATION</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.GaussianBlurOptimization.Speed">
<summary>
Applies internal optimizations such as pre-scaling at relatively small radii. Uses linear filtering.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.GaussianBlurOptimization.Balanced">
<summary>
Uses the same optimization thresholds as Speed mode, but uses trilinear filtering.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.GaussianBlurOptimization.Quality">
<summary>
Only uses internal optimizations with large blur radii, where approximations are less likely to be visible. Uses trilinear filtering.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.GeometryRelation">
<summary>
Describes how one geometry object is spatially related to another geometry object.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ne-d2d1-d2d1_geometry_relation">D2D1_GEOMETRY_RELATION</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.GeometryRelation.Unknown">
<summary>
The relationship between the two geometries cannot be determined. This value is never returned by any Direct2D method.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.GeometryRelation.Disjoint">
<summary>
The two geometries do not intersect at all.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.GeometryRelation.IsContained">
<summary>
The instance geometry is entirely contained by the passed-in geometry.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.GeometryRelation.Contains">
<summary>
The instance geometry entirely contains the passed-in geometry.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.GeometryRelation.Overlap">
<summary>
The two geometries overlap but neither completely contains the other.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.GeometrySimplificationOption">
<summary>
Specifies how a geometry is simplified to an <see cref="T:PaintDotNet.Direct2D1.ISimplifiedGeometrySink"/>.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ne-d2d1-d2d1_geometry_simplification_option">D2D1_GEOMETRY_SIMPLIFICATION_OPTION</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.GeometrySimplificationOption.CubicsAndLines">
<summary>
The output can contain cubic Bezier curves and line segments.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.GeometrySimplificationOption.Lines">
<summary>
The output is flattened so that it contains only line segments.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.GradientMeshPatch">
<summary>
Represents a tensor patch with 16 control points, 4 corner colors, and boundary flags.
An IGradientMesh is made up of 1 or more gradient mesh patches.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_3/ns-d2d1_3-d2d1_gradient_mesh_patch">D2D1_GRADIENT_MESH_PATCH</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.GradientMeshPatch.Point00">
<summary>
The coordinate-space location of the control point in column 0 and row 0 of the tensor grid.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.GradientMeshPatch.Point01">
<summary>
The coordinate-space location of the control point in column 0 and row 1 of the tensor grid.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.GradientMeshPatch.Point02">
<summary>
The coordinate-space location of the control point in column 0 and row 2 of the tensor grid.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.GradientMeshPatch.Point03">
<summary>
The coordinate-space location of the control point in column 0 and row 3 of the tensor grid.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.GradientMeshPatch.Point10">
<summary>
The coordinate-space location of the control point in column 1 and row 0 of the tensor grid.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.GradientMeshPatch.Point11">
<summary>
The coordinate-space location of the control point in column 1 and row 1 of the tensor grid.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.GradientMeshPatch.Point12">
<summary>
The coordinate-space location of the control point in column 1 and row 2 of the tensor grid.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.GradientMeshPatch.Point13">
<summary>
The coordinate-space location of the control point in column 1 and row 3 of the tensor grid.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.GradientMeshPatch.Point20">
<summary>
The coordinate-space location of the control point in column 2 and row 0 of the tensor grid.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.GradientMeshPatch.Point21">
<summary>
The coordinate-space location of the control point in column 2 and row 1 of the tensor grid.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.GradientMeshPatch.Point22">
<summary>
The coordinate-space location of the control point in column 2 and row 2 of the tensor grid.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.GradientMeshPatch.Point23">
<summary>
The coordinate-space location of the control point in column 2 and row 3 of the tensor grid.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.GradientMeshPatch.Point30">
<summary>
The coordinate-space location of the control point in column 3 and row 0 of the tensor grid.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.GradientMeshPatch.Point31">
<summary>
The coordinate-space location of the control point in column 3 and row 1 of the tensor grid.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.GradientMeshPatch.Point32">
<summary>
The coordinate-space location of the control point in column 3 and row 2 of the tensor grid.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.GradientMeshPatch.Point33">
<summary>
The coordinate-space location of the control point in column 3 and row 3 of the tensor grid.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.GradientMeshPatch.Color00">
<summary>
The color associated with the control point in column 0 and row 0 of the tensor grid.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.GradientMeshPatch.Color03">
<summary>
The color associated with the control point in column 0 and row 3 of the tensor grid.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.GradientMeshPatch.Color30">
<summary>
The color associated with the control point in column 3 and row 0 of the tensor grid.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.GradientMeshPatch.Color33">
<summary>
The color associated with the control point in column 3 and row 3 of the tensor grid.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.GradientMeshPatch.TopEdgeMode">
<summary>
Specifies how to render the top edge of the mesh.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.GradientMeshPatch.LeftEdgeMode">
<summary>
Specifies how to render the left edge of the mesh.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.GradientMeshPatch.BottomEdgeMode">
<summary>
Specifies how to render the bottom edge of the mesh.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.GradientMeshPatch.RightEdgeMode">
<summary>
Specifies how to render the right edge of the mesh.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.GradientMeshPatch.#ctor(PaintDotNet.Rendering.Point2Float,PaintDotNet.Rendering.Point2Float,PaintDotNet.Rendering.Point2Float,PaintDotNet.Rendering.Point2Float,PaintDotNet.Rendering.Point2Float,PaintDotNet.Rendering.Point2Float,PaintDotNet.Rendering.Point2Float,PaintDotNet.Rendering.Point2Float,PaintDotNet.Rendering.Point2Float,PaintDotNet.Rendering.Point2Float,PaintDotNet.Rendering.Point2Float,PaintDotNet.Rendering.Point2Float,PaintDotNet.Rendering.Point2Float,PaintDotNet.Rendering.Point2Float,PaintDotNet.Rendering.Point2Float,PaintDotNet.Rendering.Point2Float,PaintDotNet.Imaging.ColorRgba128Float,PaintDotNet.Imaging.ColorRgba128Float,PaintDotNet.Imaging.ColorRgba128Float,PaintDotNet.Imaging.ColorRgba128Float,PaintDotNet.Direct2D1.PatchEdgeMode,PaintDotNet.Direct2D1.PatchEdgeMode,PaintDotNet.Direct2D1.PatchEdgeMode,PaintDotNet.Direct2D1.PatchEdgeMode)">
<summary>
Creates a GradientMeshPatch structure that contains the given control points, colors, and boundary flags.
</summary>
<param name="point00">The coordinate-space location of the control point at position 00.</param>
<param name="point01">The coordinate-space location of the control point at position 01.</param>
<param name="point02">The coordinate-space location of the control point at position 02.</param>
<param name="point03">The coordinate-space location of the control point at position 03.</param>
<param name="point10">The coordinate-space location of the control point at position 10.</param>
<param name="point11">The coordinate-space location of the control point at position 11.</param>
<param name="point12">The coordinate-space location of the control point at position 12.</param>
<param name="point13">The coordinate-space location of the control point at position 13.</param>
<param name="point20">The coordinate-space location of the control point at position 20.</param>
<param name="point21">The coordinate-space location of the control point at position 21.</param>
<param name="point22">The coordinate-space location of the control point at position 22.</param>
<param name="point23">The coordinate-space location of the control point at position 23.</param>
<param name="point30">The coordinate-space location of the control point at position 30.</param>
<param name="point31">The coordinate-space location of the control point at position 31.</param>
<param name="point32">The coordinate-space location of the control point at position 32.</param>
<param name="point33">The coordinate-space location of the control point at position 33.</param>
<param name="color00">The color associated with the control point at position 00.</param>
<param name="color03">The color associated with the control point at position 03.</param>
<param name="color30">The color associated with the control point at position 30.</param>
<param name="color33">The color associated with the control point at position 33.</param>
<param name="topEdgeMode">Specifies how to render the left edge of the mesh.</param>
<param name="leftEdgeMode">Specifies how to render the top edge of the mesh.</param>
<param name="bottomEdgeMode">Specifies how to render the bottom edge of the mesh.</param>
<param name="rightEdgeMode">Specifies how to render the right edge of the mesh.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.GradientMeshPatch.FromCoonsPatch(PaintDotNet.Rendering.Point2Float,PaintDotNet.Rendering.Point2Float,PaintDotNet.Rendering.Point2Float,PaintDotNet.Rendering.Point2Float,PaintDotNet.Rendering.Point2Float,PaintDotNet.Rendering.Point2Float,PaintDotNet.Rendering.Point2Float,PaintDotNet.Rendering.Point2Float,PaintDotNet.Rendering.Point2Float,PaintDotNet.Rendering.Point2Float,PaintDotNet.Rendering.Point2Float,PaintDotNet.Rendering.Point2Float,PaintDotNet.Imaging.ColorRgba128Float,PaintDotNet.Imaging.ColorRgba128Float,PaintDotNet.Imaging.ColorRgba128Float,PaintDotNet.Imaging.ColorRgba128Float,PaintDotNet.Direct2D1.PatchEdgeMode,PaintDotNet.Direct2D1.PatchEdgeMode,PaintDotNet.Direct2D1.PatchEdgeMode,PaintDotNet.Direct2D1.PatchEdgeMode)">
<summary>
Creates a GradientMeshPatch from a given Coons patch description.
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_3helper/nf-d2d1_3helper-gradientmeshpatchfromcoonspatch">https://docs.microsoft.com/en-us/windows/win32/api/d2d1_3helper/nf-d2d1_3helper-gradientmeshpatchfromcoonspatch</a>
</summary>
<param name="point0">The coordinate-space location of the control point at position 0.</param>
<param name="point1">The coordinate-space location of the control point at position 1.</param>
<param name="point2">The coordinate-space location of the control point at position 2.</param>
<param name="point3">The coordinate-space location of the control point at position 3.</param>
<param name="point4">The coordinate-space location of the control point at position 4.</param>
<param name="point5">The coordinate-space location of the control point at position 5.</param>
<param name="point6">The coordinate-space location of the control point at position 6.</param>
<param name="point7">The coordinate-space location of the control point at position 7.</param>
<param name="point8">The coordinate-space location of the control point at position 8.</param>
<param name="point9">The coordinate-space location of the control point at position 9.</param>
<param name="point10">The coordinate-space location of the control point at position 10.</param>
<param name="point11">The coordinate-space location of the control point at position 11.</param>
<param name="color0">The color associated with the control point at position 0.</param>
<param name="color1">The color associated with the control point at position 1.</param>
<param name="color2">The color associated with the control point at position 2.</param>
<param name="color3">The color associated with the control point at position 3.</param>
<param name="topEdgeMode">Specifies how to render the top edge of the mesh.</param>
<param name="leftEdgeMode">Specifies how to render the left edge of the mesh.</param>
<param name="bottomEdgeMode">Specifies how to render the bottom edge of the mesh.</param>
<param name="rightEdgeMode">Specifies how to render the right edge of the mesh.</param>
<returns></returns>
</member>
<member name="T:PaintDotNet.Direct2D1.GradientStop">
<summary>
Contains the position and color of a gradient stop.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ns-d2d1-d2d1_gradient_stop">D2D1_GRADIENT_STOP</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.GradientStop.Position">
<summary>
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.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.GradientStop.Color">
<summary>
The color of the gradient stop.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.GradientStopGamma">
<summary>
Specifies which gamma is used for interpolation.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ne-d2d1-d2d1_gamma">D2D1_GAMMA</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.GradientStopGamma.Srgb">
<summary>
Interpolation is performed in the standard RGB (sRGB) space. (gamma value of 2.2)
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.GradientStopGamma.Linear">
<summary>
Interpolation is performed in the linear-gamma space. (gamma value of 1.0)
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.HighlightsAndShadowsInputGamma">
<summary>
Values for the InputGamma property of the Highlights and Shadows effect.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects_2/ne-d2d1effects_2-d2d1_highlightsandshadows_input_gamma">D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.HighlightsAndShadowsInputGamma.Linear">
<summary>
Indicates the input image is in linear gamma space.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.HighlightsAndShadowsInputGamma.Srgb">
<summary>
Indicates the input image is sRGB gamma space.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.HueToRgbInputColorSpace">
<summary>
Values for the InputColorSpace property of the HueToRgb effect.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects_2/ne-d2d1effects_2-d2d1_huetorgb_input_color_space">D2D1_HUETORGB_INPUT_COLOR_SPACE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.HueToRgbInputColorSpace.HueSaturationValue">
<summary>
The effect converts from Hue Saturation Value (HSV) to RGB.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.HueToRgbInputColorSpace.HueSaturationLightness">
<summary>
The effect converts from Hue Saturation Lightness (HSL) to RGB.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.HwndDeviceContextProperties">
<summary>
Contains the HWND, pixel size, and presentation options for an <see cref="T:PaintDotNet.Direct2D1.IHwndDeviceContext"/>.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ns-d2d1-d2d1_hwnd_render_target_properties">D2D1_HWND_RENDER_TARGET_PROPERTIES</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.HwndDeviceContextProperties.Hwnd">
<summary>
The HWND to which the device context issues the output from its drawing commands.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.HwndDeviceContextProperties.PixelSize">
<summary>
The size of the render target, in pixels.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.HwndDeviceContextProperties.PresentOptions">
<summary>
A value that specifies whether the render target retains the frame after it is presented and whether the
render target waits for the device to refresh before presenting.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IAnalysisTransform">
<summary>
Supplies data to an analysis effect.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effectauthor/nn-d2d1effectauthor-id2d1analysistransform">ID2D1AnalysisTransform</a>
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IAnalysisTransform.ProcessAnalysisResults(PaintDotNet.ExtentPtr{System.Byte})">
<summary>
Supplies the analysis data to an analysis transform.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IBitmapBrush">
<summary>
Paints an area with a bitmap.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_1/nn-d2d1_1-id2d1bitmapbrush1">ID2D1BitmapBrush1</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IBitmapBrush.ExtendModeX">
<summary>
Gets or sets the method by which the brush horizontally tiles those areas that extend past its bitmap.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IBitmapBrush.ExtendModeY">
<summary>
Gets or sets the method by which the brush vertically tiles those areas that extend past its bitmap.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IBitmapBrush.InterpolationMode">
<summary>
Gets or sets the interpolation method used when the brush bitmap is scaled or rotated.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IBitmapBrush.GetBitmap">
<summary>
Gets the bitmap that this brush uses to paint.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IBitmapBrush.SetBitmap(PaintDotNet.Direct2D1.IDeviceBitmap)">
<summary>
Specifies the bitmap that this brush uses to paint.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IBlendTransform">
<summary>
Provides methods to allow a blend operation to be inserted into a transform graph.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effectauthor/nn-d2d1effectauthor-id2d1blendtransform">ID2D1BlendTransform</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IBlendTransform.Description">
<summary>
Gets or sets the blend description of the corresponding blend transform object.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IBorderTransform">
<summary>
Extends the input rectangle to infinity using the specified extend modes.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effectauthor/nn-d2d1effectauthor-id2d1bordertransform">ID2D1BorderTransform</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IBorderTransform.ExtendModeX">
<summary>
Gets or sets the extend mode in the x direction.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IBorderTransform.ExtendModeY">
<summary>
Gets or sets the extend mode in the y direction.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IBoundsAdjustmentTransform">
<summary>
A support transform for effects to modify the output rectangle of the previous effect or bitmap.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1effectauthor/nn-d2d1effectauthor-id2d1boundsadjustmenttransform">ID2D1BoundsAdjustmentTransform</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IBoundsAdjustmentTransform.OutputRect">
<summary>
Gets or sets the output rectangle of the support transform.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ICommandList">
<summary>
Represents a sequence of commands that can be recorded and played back.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_1/nn-d2d1_1-id2d1commandlist">ID2D1CommandList</a>
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ICommandList.Close">
<summary>
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 <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.DrawImage(PaintDotNet.Direct2D1.IDeviceImage,System.Nullable{PaintDotNet.Rendering.Point2Float},System.Nullable{PaintDotNet.Rendering.RectFloat}@,PaintDotNet.Direct2D1.InterpolationMode,PaintDotNet.Direct2D1.CompositeMode)"/>.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ICommandList.Stream(PaintDotNet.Direct2D1.ICommandSink)">
<summary>
Streams the contents of the command list to the specified command sink.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ICommandSink">
<summary>
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.<br/>
<br/>
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.<br/>
<br/>
This interface corresponds to the following Direct2D interfaces:
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_1/nn-d2d1_1-id2d1commandsink">ID2D1CommandSink</a>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_2/nn-d2d1_2-id2d1commandsink1">ID2D1CommandSink1</a>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_3/nn-d2d1_3-id2d1commandsink2">ID2D1CommandSink2</a>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_3/nn-d2d1_3-id2d1commandsink3">ID2D1CommandSink3</a>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_3/nn-d2d1_3-id2d1commandsink4">ID2D1CommandSink4</a>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_3/nn-d2d1_3-id2d1commandsink5">ID2D1CommandSink5</a>
</summary>
<remarks>
To implement this yourself, such as to process the commands stored in an <see cref="T:PaintDotNet.Direct2D1.ICommandList"/> by calling
<see cref="M:PaintDotNet.Direct2D1.ICommandList.Stream(PaintDotNet.Direct2D1.ICommandSink)"/>, create a class that derives from <see cref="T:PaintDotNet.ComponentModel.RefTrackedObject"/> and that also
derives from this interface.
</remarks>
</member>
<member name="T:PaintDotNet.Direct2D1.ICompatibleDeviceContext">
<summary>
Renders to an intermediate texture created by the <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.CreateCompatibleDeviceContext(System.Nullable{PaintDotNet.Rendering.SizeFloat},System.Nullable{PaintDotNet.Rendering.SizeInt32},System.Nullable{PaintDotNet.Direct2D1.DevicePixelFormat},PaintDotNet.Direct2D1.CompatibleDeviceContextOptions)"/> method.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/nn-d2d1-id2d1bitmaprendertarget">ID2D1BitmapRenderTarget</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ICompatibleDeviceContext.Bitmap">
<summary>
Retrieves the bitmap for this render target. The returned bitmap can be used for drawing operations.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IConcreteTransform">
<summary>
Represents the set of transforms implemented by the effect-rendering system, which provides fixed-functionality.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effectauthor/nn-d2d1effectauthor-id2d1concretetransform">ID2D1ConcreteTransform</a>
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IConcreteTransform.SetCached(System.Boolean)">
<summary>
Sets whether the output of the specified transform is cached.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IConcreteTransform.SetOutputBuffer(PaintDotNet.Direct2D1.BufferPrecision,PaintDotNet.Direct2D1.ChannelDepth)">
<summary>
Sets the properties of the output buffer of the specified transform node.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IDCDeviceContext">
<summary>
Issues drawing commands to a GDI device context.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/nn-d2d1-id2d1dcrendertarget">ID2D1DCRenderTarget</a>
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDCDeviceContext.BindDC(System.IntPtr,PaintDotNet.Rendering.RectInt32)">
<summary>
Binds the render target to the device context to which it issues drawing commands.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IDevice">
<summary>
Represents a resource domain whose objects and device contexts can be used together.<br/>
This interface corresponds to the follow Direct2D interfaces:
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_1/nn-d2d1_1-id2d1device">ID2D1Device</a>,
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_2/nn-d2d1_2-id2d1device1">ID2D1Device1</a>,
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_3/nn-d2d1_3-id2d1device2">ID2D1Device2</a>,
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_3/nn-d2d1_3-id2d1device3">ID2D1Device3</a>,
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_3/nn-d2d1_3-id2d1device4">ID2D1Device4</a>,
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_3/nn-d2d1_3-id2d1device5">ID2D1Device5</a>,
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_3/nn-d2d1_3-id2d1device5">ID2D1Device6</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IDevice.DxgiDevice">
<summary>
Gets the DXGI device that was used to create this Direct2D device, if available.
</summary>
<remarks>
The DXGI device is not available if the <see cref="T:PaintDotNet.Direct2D1.IDeviceContext"/> was created with
<see cref="M:PaintDotNet.Direct2D1.IDirect2DFactory.CreateBitmapDeviceContext(PaintDotNet.Imaging.IBitmap,PaintDotNet.Direct2D1.DeviceContextProperties@)"/>,
<see cref="M:PaintDotNet.Direct2D1.IDirect2DFactory.CreateDCDeviceContext(PaintDotNet.Direct2D1.DeviceContextProperties@)"/>, or
<see cref="M:PaintDotNet.Direct2D1.IDirect2DFactory.CreateHwndDeviceContext(PaintDotNet.Direct2D1.DeviceContextProperties@,PaintDotNet.Direct2D1.HwndDeviceContextProperties@)"/>.
</remarks>
</member>
<member name="P:PaintDotNet.Direct2D1.IDevice.MaximumTextureMemory">
<summary>
Gets or sets the maximum amount of texture memory Direct2D accumulates before it purges the image caches and
cached texture allocations, in bytes.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IDevice.RenderingPriority">
<summary>
Gets or sets the priority of Direct2D rendering operations performed on any device context associated with the device.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDevice.CreateDeviceContext(PaintDotNet.Direct2D1.DeviceContextOptions)">
<summary>
Creates a new device context from a Direct2D device.
</summary>
<param name="options"></param>
</member>
<member name="M:PaintDotNet.Direct2D1.IDevice.ClearResources(System.Int32)">
<summary>
Clears all of the rendering resources used by Direct2D.
</summary>
<param name="millisecondsSinceUse">Discards only resources that haven't been used for greater than the specified time in milliseconds. The default is 0 milliseconds.</param>
</member>
<member name="T:PaintDotNet.Direct2D1.IDeviceBitmap">
<summary>
Represents a bitmap that has been bound to an <see cref="T:PaintDotNet.Direct2D1.IDeviceContext"/>.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_1/nn-d2d1_1-id2d1bitmap1">ID2D1Bitmap1</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IDeviceBitmap.Dpi">
<summary>
Return the dots per inch (DPI) of the bitmap.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IDeviceBitmap.PixelFormat">
<summary>
Retrieves the pixel format and alpha mode of the bitmap.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IDeviceBitmap.PixelSize">
<summary>
Returns the size, in device-dependent units (pixels), of the bitmap.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IDeviceBitmap.Size">
<summary>
Returns the size, in device-independent pixels (DIPs), of the bitmap.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IDeviceBitmap.Options">
<summary>
Gets the options used in creating the bitmap.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IDeviceBitmap.ColorContext">
<summary>
Gets the color context information associated with the bitmap, if any.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceBitmap.CopyFromBitmap(System.Nullable{PaintDotNet.Rendering.Point2Int32},PaintDotNet.Direct2D1.IDeviceBitmap,System.Nullable{PaintDotNet.Rendering.RectInt32}@)">
<summary>
Copies the specified region from the specified bitmap into the current bitmap.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceBitmap.CopyFromDeviceContext(System.Nullable{PaintDotNet.Rendering.Point2Int32},PaintDotNet.Direct2D1.IDeviceContext,System.Nullable{PaintDotNet.Rendering.RectInt32}@)">
<summary>
Copies the specified region from the specified device context into the current bitmap.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceBitmap.CopyFromMemory(System.Nullable{PaintDotNet.Rendering.RectInt32}@,System.Void*,System.Int32)">
<summary>
Copies the specified region from memory into the current bitmap.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceBitmap.GetSurface">
<summary>
Gets either the surface that was specified when the bitmap was created, or the default surface created when the bitmap was created.
</summary>
<returns>The underlying DXGI surface for the bitmap.</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceBitmap.Map(PaintDotNet.Direct2D1.MapOptions)">
<summary>
Maps the given bitmap into memory.
</summary>
<remarks>
The bitmap must have been created with the <see cref="F:PaintDotNet.Direct2D1.BitmapOptions.CpuRead"/> flag specified.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceBitmap.Unmap">
<summary>
Unmaps the bitmap from memory.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IDeviceBrush">
<summary>
Defines an object that paints an area. Interfaces that derive from <see cref="T:PaintDotNet.Direct2D1.IDeviceBrush"/> describe how the area is painted.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/nn-d2d1-id2d1brush">ID2D1Brush</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IDeviceBrush.Opacity">
<summary>
Gets or sets the degree of opacity of this brush.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IDeviceBrush.Transform">
<summary>
Gets or sets the transform applied to this brush.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IDeviceColorContext">
<summary>
Represents a color context that can be used with an <see cref="T:PaintDotNet.Direct2D1.IDeviceBitmap"/> or the Color Management effect.<br/>
This interface corresponds to the following Direct2D interfaces:
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_1/nn-d2d1_1-id2d1colorcontext">ID2D1ColorContext</a>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_3/nn-d2d1_3-id2d1colorcontext1">ID2D1ColorContext1</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IDeviceColorContext.Type">
<summary>
Retrieves the color context type.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IDeviceColorContext.ColorSpace">
<summary>
Gets the color space of the color context.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IDeviceColorContext.DxgiColorSpace">
<summary>
Retrieves the DXGI color space of this context. Returns <see cref="F:PaintDotNet.Dxgi.DxgiColorSpace.Custom"/> when <see cref="P:PaintDotNet.Direct2D1.IDeviceColorContext.Type"/> is <see cref="F:PaintDotNet.Direct2D1.DeviceColorContextType.Icc"/>.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IDeviceColorContext.SimpleColorProfile">
<summary>
Gets the <see cref="P:PaintDotNet.Direct2D1.IDeviceColorContext.SimpleColorProfile"/> used to create this color context.
</summary>
<remarks>
If <see cref="P:PaintDotNet.Direct2D1.IDeviceColorContext.Type"/> is not <see cref="F:PaintDotNet.Direct2D1.DeviceColorContextType.Simple"/>, an exception will be thrown.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceColorContext.GetProfileBytes">
<summary>
Gets the color profile bytes.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IDeviceColorContextFactory">
<summary>
Serves as a base interface for <see cref="T:PaintDotNet.Direct2D1.IDeviceContext"/> and <see cref="T:PaintDotNet.Direct2D1.IDeviceEffectContext" />
to provide the <c>CreateColorContext</c> methods.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceColorContextFactory.CreateColorContext(PaintDotNet.Direct2D1.DeviceColorSpace)">
<summary>
Creates a color context.
</summary>
<param name="space">The space of color context to create.</param>
<returns>The new color context object.</returns>
<remarks>
The new color context can be used in <see cref="T:PaintDotNet.Direct2D1.BitmapProperties"/> to initialize the color context of a created bitmap,
or with the Color Management effect.<br/>
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceColorContextFactory.CreateColorContext(System.ReadOnlySpan{System.Byte})">
<summary>
Creates a color context.
</summary>
<param name="customProfile">A buffer containing the ICC profile bytes used to initialize the color context.</param>
<returns>The new color context object.</returns>
<remarks>
The new color context can be used in <see cref="T:PaintDotNet.Direct2D1.BitmapProperties"/> to initialize the color context of a created bitmap,
or with the Color Management effect.<br/>
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.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceColorContextFactory.CreateColorContext(PaintDotNet.Imaging.IColorContext)">
<summary>
Creates a color context from an <see cref="T:PaintDotNet.Imaging.IColorContext"/>. The color space of the resulting context varies, see Remarks for more info.
</summary>
<param name="colorContext">The <see cref="T:PaintDotNet.Imaging.IColorContext"/> used to initialize the color context.</param>
<returns>The new color context.</returns>
<remarks>
The new color context can be used in <see cref="T:PaintDotNet.Direct2D1.BitmapProperties"/> to initialize the color context of a created bitmap,
or with the Color Management effect.<br/>
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.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceColorContextFactory.CreateColorContext(PaintDotNet.Dxgi.DxgiColorSpace)">
<summary>
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.
</summary>
<param name="colorSpace">The color space to create the color context from.</param>
<returns>The created color context.</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceColorContextFactory.CreateColorContext(PaintDotNet.Direct2D1.SimpleColorProfile)">
<summary>
Creates a color context from a simple color profile. It is only valid to use this with the Color Management Effect in 'Best' mode.
</summary>
<param name="simpleProfile">The simple color profile to create the color context from.</param>
<returns>The created color context.</returns>
</member>
<member name="T:PaintDotNet.Direct2D1.IDeviceContext">
<summary>
Represents a set of state and command buffers that are used to render to a target.<br/>
The device context can render to a target bitmap or a command list.<br/>
This interface corresponds to the follow Direct2D interfaces:
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1/nn-d2d1-id2d1rendertarget">ID2D1RenderTarget</a>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_1/nn-d2d1_1-id2d1devicecontext">ID2D1DeviceContext</a>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_2/nn-d2d1_2-id2d1devicecontext1">ID2D1DeviceContext1</a>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_3/nn-d2d1_3-id2d1devicecontext2">ID2D1DeviceContext2</a>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_3/nn-d2d1_3-id2d1devicecontext3">ID2D1DeviceContext3</a>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_3/nn-d2d1_3-id2d1devicecontext4">ID2D1DeviceContext4</a>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_3/nn-d2d1_3-id2d1devicecontext5">ID2D1DeviceContext5</a>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_3/nn-d2d1_3-id2d1devicecontext6">ID2D1DeviceContext6</a>
</summary>
<remarks>
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 <see cref="T:PaintDotNet.Direct2D1.IDevice"/>.
</remarks>
</member>
<member name="P:PaintDotNet.Direct2D1.IDeviceContext.Dpi">
<summary>
Gets or sets the device context's dots-per-inch (DPI).
</summary>
<remarks>
This indicates the mapping from pixel space to device-independent space for the device context.<br/>
</remarks>
</member>
<member name="P:PaintDotNet.Direct2D1.IDeviceContext.MaximumBitmapSize">
<summary>
Gets the maximum pixel size of any one bitmap dimension supported by the render target.
</summary>
<remarks>
This method returns the maximum texture size of the Direct3D device.
<b>Note:</b> 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.
</remarks>
</member>
<member name="P:PaintDotNet.Direct2D1.IDeviceContext.PixelFormat">
<summary>
Retrieves the pixel format and alpha mode of the current target.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IDeviceContext.PixelSize">
<summary>
Returns the size of the current target in device pixels.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IDeviceContext.Size">
<summary>
Returns the size of the current target in device-independent pixels.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.IsSupported(PaintDotNet.Direct2D1.DeviceContextProperties@)">
<summary>
Indicates whether the device context supports the specified properties.
</summary>
<param name="deviceContextProperties">The render target properties to test.</param>
<returns>true if the specified device context properties are supported by this device context.</returns>
<remarks>This method does not evaluate the DPI settings specified by the deviceContextProperties parameter.</remarks>
</member>
<member name="P:PaintDotNet.Direct2D1.IDeviceContext.Device">
<summary>
Gets the device associated with a device context.
</summary>
<remarks>
Some functionality for controlling all of the resources for a set of device contexts is maintained only on an <see cref="T:PaintDotNet.Direct2D1.IDevice"/> object.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.GetTarget">
<summary>
Gets the target currently associated with the device context.
</summary>
<returns>The target currently associated with the device context.</returns>
<remarks>
If a target is not associated with the device context, this method will return null.<br/>
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: <see cref="M:PaintDotNet.Direct2D1.IDirect2DFactory.CreateHwndDeviceContext(PaintDotNet.Direct2D1.DeviceContextProperties@,PaintDotNet.Direct2D1.HwndDeviceContextProperties@)"/>, <see cref="M:PaintDotNet.Direct2D1.IDirect2DFactory.CreateBitmapDeviceContext(PaintDotNet.Imaging.IBitmap,PaintDotNet.Direct2D1.DeviceContextProperties@)"/>,
<see cref="M:PaintDotNet.Direct2D1.IDirect2DFactory.CreateDCDeviceContext(PaintDotNet.Direct2D1.DeviceContextProperties@)"/>, <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.CreateCompatibleDeviceContext(System.Nullable{PaintDotNet.Rendering.SizeFloat},System.Nullable{PaintDotNet.Rendering.SizeInt32},System.Nullable{PaintDotNet.Direct2D1.DevicePixelFormat},PaintDotNet.Direct2D1.CompatibleDeviceContextOptions)"/>.<br/>
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 <see cref="T:PaintDotNet.Direct2D1.IDeviceContext"/> methods.<br/>
<see cref="M:PaintDotNet.Direct2D1.IDeviceContext.CreateCompatibleDeviceContext(System.Nullable{PaintDotNet.Rendering.SizeFloat},System.Nullable{PaintDotNet.Rendering.SizeInt32},System.Nullable{PaintDotNet.Direct2D1.DevicePixelFormat},PaintDotNet.Direct2D1.CompatibleDeviceContextOptions)"/> will always create bitmaps that are usable as a bitmap source.<br/>
When using <see cref="T:PaintDotNet.Direct2D1.IDCDeviceContext"/>, <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.BeginDraw"/> will copy from the HDC to the original bitmap associated with it.
<see cref="M:PaintDotNet.Direct2D1.IDeviceContext.EndDraw"/> will copy from the original bitmap to the HDC.<br/>
<see cref="T:PaintDotNet.Imaging.IBitmap"/> objects will be locked in the following circumstances:<br/>
<list type="bullet">
<item>BeginDraw has been called and the currently selected target bitmap is an <see cref="T:PaintDotNet.Imaging.IBitmap"/>.</item>
<item>An <see cref="T:PaintDotNet.Imaging.IBitmap"/> is set as the target of a device context after BeginDraw has been called and before EndDraw has been called.</item>
<item>Any of the <see cref="T:PaintDotNet.Direct2D1.IDeviceBitmap"/>.Copy* methods are called with an <see cref="T:PaintDotNet.Imaging.IBitmap"/> as either the source or detination.</item>
</list>
<see cref="T:PaintDotNet.Imaging.IBitmap"/> objects will be unlocked in the following circumstances:<br/>
<list type="bullet">
<item>EndDraw is called and the currently selected target bitmap is an <see cref="T:PaintDotNet.Imaging.IBitmap"/>.</item>
<item>An <see cref="T:PaintDotNet.Imaging.IBitmap"/> is removed as the target of a device context between the calls to BeginDraw and EndDraw.</item>
<item>Any of the <see cref="T:PaintDotNet.Direct2D1.IDeviceBitmap"/>.Copy* methods are called with an <see cref="T:PaintDotNet.Imaging.IBitmap"/> as either the source or destination.</item>
</list>
Direct2D will only lock bitmaps that are not currently locked.<br/>
<see cref="M:PaintDotNet.Direct2D1.IHwndDeviceContext.Resize(PaintDotNet.Rendering.SizeInt32)"/> will throw <see cref="T:PaintDotNet.Direct2D1.InvalidCallException"/> if there are any outstanding references to
the original bitmap associated with the device context.<br/>
Although the target can be a command list, it cannot be any other type of image. It cannot be an effect.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.SetTarget(PaintDotNet.Direct2D1.IDeviceImage)">
<summary>
The bitmap or command list to which the Direct2D device context will now render.
</summary>
<param name="target">The bitmap or command list to which the Direct2D device context will render.</param>
<remarks>
The target can be changed at any time, including while the context is drawing.<br/>
The target can be either a bitmap created with the D2D1_BITMAP_OPTIONS_TARGET flag, or it can be a command list. Other kinds
of images cannot be set as a target. For example, you cannot set an effect as target. If the target is not valid the context
will enter the <see cref="F:PaintDotNet.Direct2D1.Direct2D1Error.InvalidTarget"/> error state.<br/>
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.<br/>
Callers wishing to attach an image to a second device context should first call EndDraw on the first device context.<br/>
<b>Note:</b> Changing the target does not change the bitmap that an HWND device context presents from, nor does it change the
bitmap that a DC device context blts to/from.<br/>
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 <see cref="F:PaintDotNet.Direct2D1.Direct2D1Error.BitmapBoundAsTarget"/> error state.<br/>
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 <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.Flush"/> or <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.EndDraw"/>.<br/>
You can change the target at any time, including while the context is drawing.<br/>
You can set the target to null, in which case drawing calls will put the device context into an error state with <see cref="F:PaintDotNet.Direct2D1.Direct2D1Error.WrongState"/>.
Calling SetTarget with a null target does not restore the original target bitmap to the device context.<br/>
If the device context has an outstanding HDC, the context will enter the <see cref="F:PaintDotNet.Direct2D1.Direct2D1Error.WrongState"/> error state. The target will not be changed.<br/>
If the bitmap and the device context are not in the same resource domain, the context will enter an error state. The target will
not be changed.<br/>
<see cref="P:PaintDotNet.Direct2D1.IDeviceContext.PixelSize"/> returns the size of the current target bitmap (or 0, 0) if there is no bitmap bound). <see cref="P:PaintDotNet.Direct2D1.IDeviceContext.Size"/>
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.<br/>
<see cref="P:PaintDotNet.Direct2D1.IDeviceContext.PixelFormat"/> returns the pixel format of the current target bitmap, or <see cref="P:PaintDotNet.Direct2D1.DevicePixelFormats.Unknown"/> if
there is none.<br/>
<see cref="M:PaintDotNet.Direct2D1.IDeviceBitmap.CopyFromDeviceContext(System.Nullable{PaintDotNet.Rendering.Point2Int32},PaintDotNet.Direct2D1.IDeviceContext,System.Nullable{PaintDotNet.Rendering.RectInt32}@)"/> copies from the currently bound target bitmap.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.IsDxgiFormatSupported(PaintDotNet.Dxgi.DxgiFormat)">
<summary>
Indicates whether the format is supported by the device context. The formats supported are usually determined by the underlying hardware.
</summary>
<param name="format">The DXGI format to check.</param>
<returns>true if the format is supported, false if the format is not supported.</returns>
<remarks>
You can use the supported formats in the <see cref="T:PaintDotNet.Direct2D1.DevicePixelFormat"/> struct to create bitmaps and render targets.<br/>
Direct2D doesn't support all DXGI formats, even though they may have some level of Direct3D support by the hardware.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.IsBufferPrecisionSupported(PaintDotNet.Direct2D1.BufferPrecision)">
<summary>
Indicates whether the buffer precision is supported by the underlying Direct2D <see cref="T:PaintDotNet.Direct2D1.IDevice"/>.
</summary>
<param name="bufferPrecision">The buffer precision to check.</param>
<returns>true if the buffer precision is supported, or false if the buffer precision is not supported.</returns>
</member>
<member name="P:PaintDotNet.Direct2D1.IDeviceContext.AntialiasMode">
<summary>
Gets or sets the current antialiasing mode for drawing operations, excluding text and glyph drawing operations.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IDeviceContext.TextAntialiasMode">
<summary>
Gets or sets the current antialiasing mode for text and glyph drawing operations.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IDeviceContext.Transform">
<summary>
Gets or sets the current transform of the device context. All subsequent drawing operations occur in the transformed space.
</summary>
<remarks>
When setting the transform, it is replaced, not multiplied.
</remarks>
</member>
<member name="P:PaintDotNet.Direct2D1.IDeviceContext.PrimitiveBlend">
<summary>
Gets or sets the primitive blend used by the device context. The default is <see cref="F:PaintDotNet.Direct2D1.PrimitiveBlend.SourceOver"/>.
</summary>
<remarks>
The primitive blend will apply to all of the primitive drawn on the context, unless this is overridden with the compositeMode
parameter on the <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.DrawImage(PaintDotNet.Direct2D1.IDeviceImage,System.Nullable{PaintDotNet.Rendering.Point2Float},System.Nullable{PaintDotNet.Rendering.RectFloat}@,PaintDotNet.Direct2D1.InterpolationMode,PaintDotNet.Direct2D1.CompositeMode)"/> method.<br/>
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.<br/>
If the primitive blend is anything other than <see cref="F:PaintDotNet.Direct2D1.PrimitiveBlend.SourceOver"/> 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. The <see cref="T:PaintDotNet.WrongStateException"/> will be thrown by either <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.EndDraw"/> or <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.Flush"/>.
</remarks>
</member>
<member name="P:PaintDotNet.Direct2D1.IDeviceContext.UnitMode">
<summary>
Gets or sets the mode that is being used to interpret values by the device context.
</summary>
<remarks>
This method will affect all properties and parameters affected by the <see cref="P:PaintDotNet.Direct2D1.IDeviceContext.Dpi"/> property. This affects all coordinates,
lengths, and other properties that are not explicitly defined as being in another unit. For example:<br/>
<list type="bullet">
<item>Setting the unit mode will affect a coordinate passed into <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.DrawLine(PaintDotNet.Rendering.Point2Float,PaintDotNet.Rendering.Point2Float,PaintDotNet.Direct2D1.IDeviceBrush,System.Single,PaintDotNet.Direct2D1.IStrokeStyle)"/>, and the scale of geometry passed into <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.FillGeometry(PaintDotNet.Direct2D1.IGeometry,PaintDotNet.Direct2D1.IDeviceBrush,PaintDotNet.Direct2D1.IDeviceBrush)"/>.</item>
<item>Setting the unit mode will not affect the value returned by <see cref="P:PaintDotNet.Direct2D1.IDeviceBitmap.PixelSize"/>.</item>
</list>
</remarks>
</member>
<member name="P:PaintDotNet.Direct2D1.IDeviceContext.EffectTileSize">
<summary>
Gets or sets the tile allocation size to be used by the imaging effect renderer.
</summary>
<remarks>
This allows the application to tune the performance and resource usage of the rendering operations.
</remarks>
</member>
<member name="P:PaintDotNet.Direct2D1.IDeviceContext.EffectBufferPrecision">
<summary>
The buffer precision used by default if the buffer precision is not otherwise specified by the effect or by the transform.
</summary>
<remarks>
This allows the application to tune the precision, performance, and resource usage of rendering operations.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.GetTextRenderingParameters">
<summary>
Retrieves the device context's current text rendering options.
</summary>
<returns>A text rendering parameters object. The caller should call <see cref="M:System.IDisposable.Dispose"/> when it no longer needs this object.</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.SetTextRenderingParameters(PaintDotNet.DirectWrite.ITextRenderingParameters)">
<summary>
Specifies text rendering options to be applied to all subsequent text and glyph drawing operations.
</summary>
<param name="parameters">The text rendering options to be applied to all subsequent text and glyph drawing operations; null to clear current text rendering options.</param>
<remarks>
If the settings specified by textRenderingParams are incompatible with the render target's text antialiasing mode (specified by
<see cref="P:PaintDotNet.Direct2D1.IDeviceContext.TextAntialiasMode"/> ), subsequent text and glyph drawing operations will fail and put the device context into an
error state.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.SaveDrawingState(PaintDotNet.Direct2D1.IDrawingStateBlock)">
<summary>
Saves the current drawing state to the specified <see cref="T:PaintDotNet.Direct2D1.IDrawingStateBlock"/>.
</summary>
<param name="drawingStateBlock">When this method returns, contains the current drawing state of the render target.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.RestoreDrawingState(PaintDotNet.Direct2D1.IDrawingStateBlock)">
<summary>
Sets the render target's drawing state to that of the specified <see cref="T:PaintDotNet.Direct2D1.IDrawingStateBlock"/>.
</summary>
<param name="drawingStateBlock">The new drawing state of the render target.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.BeginDraw">
<summary>
Initiates drawing on this render target.
</summary>
<remarks>
Drawing operations can only be issued between a BeginDraw and EndDraw call.<br/>
BeginDraw and EndDraw are used to indicate that a device context is in use by the Direct2D system. Different implementations of
IDeviceContext might behave differently when BeginDraw is called. A bitmap device context may be locked between BeginDraw/EndDraw
calls, a DXGI surface render target might be acquired on BeginDraw and released on EndDraw, while an <see cref="T:PaintDotNet.Direct2D1.IHwndDeviceContext"/>
may begin batching at BeginDraw and may present on EndDraw, for example.<br/>
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.<br/>
After BeginDraw is called, a device context 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 to indicate success or throws an exception to indicate an error.
The EndDraw method always succeeds: it should not be called twice even if a previous EndDraw resulted in an error.<br/>
If EndDraw is called without a matched call to BeginDraw, it returns an error indicating that BeginDraw must be called before EndDraw.<br/>
Calling BeginDraw twice on a render target puts the target into an error state where nothing further is drawn, and throws an
appropriate exception when EndDraw is called.<br/>
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.EndDraw">
<summary>
Ends drawing operations on the render target and indicates the current error state.
</summary>
<remarks>
See <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.BeginDraw"/> for more information.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.Flush">
<summary>
Executes all pending drawing commands.
</summary>
<remarks>
This command does not flush the Direct3D device context that is associated with the render target.<br/>
Calling this method resets the error state of the device context.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.PopAxisAlignedClip">
<summary>
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.
</summary>
<remarks>
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.<br/>
PopAxisAlignedClip must be called once for every call to PushAxisAlignedClip.<br/>
For an example, see <a href="https://docs.microsoft.com/en-us/windows/win32/Direct2D/how-to-clip-with-axis-aligned-rects">How to Clip with an Axis-Aligned Clip Rectangle.</a><br/>
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.PopLayer">
<summary>
Stops redirecting drawing operations to the layer that is specified by the last <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.PushLayer(PaintDotNet.Direct2D1.LayerParameters@,PaintDotNet.Direct2D1.IDeviceLayer)"/> call.<br/>
See <see href="https://docs.microsoft.com/en-us/windows/win32/direct2d/direct2d-layers-overview">Direct2D Layers Overview</see>
for more information.
</summary>
<remarks>
A PopLayer must match a previous PushLayer call.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.PushAxisAlignedClip(PaintDotNet.Rendering.RectFloat,PaintDotNet.Direct2D1.AntialiasMode)">
<summary>
Specifies a rectangle to which all subsequent drawing operations are clipped.
</summary>
<param name="clipRect">The size and position of the clipping area, in device-independent pixels.</param>
<param name="antialiasMode">
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.
</param>
<remarks>
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.<br/>
See <a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1/nf-d2d1-id2d1rendertarget-pushaxisalignedclip(constd2d1_rect_f_d2d1_antialias_mode)">PushAxisAlignedClip documentation</a>
for more details.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.PushLayer(PaintDotNet.Direct2D1.LayerParameters@,PaintDotNet.Direct2D1.IDeviceLayer)">
<summary>
Push a layer onto the clip and layer stack of the device context. The layer will receive all subequent drawing operations
until <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.PopLayer"/> is called.<br/>
See <see href="https://docs.microsoft.com/en-us/windows/win32/direct2d/direct2d-layers-overview">Direct2D Layers Overview</see>
for more information.
</summary>
<param name="layerParameters">The parameters that defines the layer.</param>
<param name="layer">The layer that receives subsequent drawing operations. It is recommended that you pass null.</param>
<remarks>
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 device context.<br/>
Each PushLayer must have a matching PopLayer call. If there are more PopLayer calls than PushLayer calls, the device context 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 exception is thrown. The error state can be cleared by a call to EndDraw.<br/>
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.CreateBitmap(PaintDotNet.Rendering.SizeInt32,System.Void*,System.Int32,PaintDotNet.Direct2D1.BitmapProperties@)">
<summary>
Creates a bitmap that can be used as a target surface, for reading back to the CPU, or as a source for the <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.DrawBitmap(PaintDotNet.Direct2D1.IDeviceBitmap,System.Nullable{PaintDotNet.Rendering.RectFloat}@,System.Single,PaintDotNet.Direct2D1.InterpolationMode,System.Nullable{PaintDotNet.Rendering.RectFloat}@,System.Nullable{PaintDotNet.Rendering.Matrix4x4Float}@)"/>
and <see cref="T:PaintDotNet.Direct2D1.IBitmapBrush"/> APIs. In addition, color context information can be passed to the bitmap.
</summary>
<param name="size">The pixel size of the bitmap to be created.</param>
<param name="pSrcData">A pointer to the initial data that will be loaded into the bitmap. May be null.</param>
<param name="stride">The stride of the source data, if specified.</param>
<param name="bitmapProperties">The properties of the bitmap to be created.</param>
<returns>The new bitmap object.</returns>
<remarks>
The new bitmap can be used as a target for <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.SetTarget(PaintDotNet.Direct2D1.IDeviceImage)"/> if it is created with <see cref="F:PaintDotNet.Direct2D1.BitmapOptions.Target"/>.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.CreateBitmap(PaintDotNet.Imaging.IBitmapSource,System.Nullable{PaintDotNet.Direct2D1.BitmapProperties}@)">
<summary>
Creates a Direct2D bitmap by copying an <see cref="T:PaintDotNet.Imaging.IBitmapSource"/>.
</summary>
<param name="bitmapSource">The bitmap source to copy from.</param>
<param name="bitmapProperties">A bitmap properties structure that specifies bitmap creation options. The pixel format must match
the pixel format of the bitmap source, or the method will fails. To prevent a mismatch, you can pass null. If both dpiX and dpiY
are 0, the default DPI of 96 will be used. The DPI information embedded in the bitmap source is ignored.</param>
<returns>The new bitmap object.</returns>
<remarks>
The <paramref name="bitmapProperties"/> parameter is optional. When it is not specified, the created bitmap inherits the
pixel format and alpha mode from <paramref name="bitmapSource"/>. For a list of supported pixel formats and alpha modes,
see <a href="https://docs.microsoft.com/en-us/windows/desktop/Direct2D/supported-pixel-formats-and-alpha-modes">Supported Pixel Formats and Alpha Modes</a>.<br/>
When the bitmapProperties parameter is specified, the value in <see cref="T:PaintDotNet.Dxgi.DxgiFormat"/> must either be <see cref="F:PaintDotNet.Dxgi.DxgiFormat.Unknown"/>
or must match the pixel format of the <paramref name="bitmapSource"/>.<br/>
When the <see cref="T:PaintDotNet.Direct2D1.AlphaMode"/> is set to <see cref="F:PaintDotNet.Direct2D1.AlphaMode.Unknown"/>, the newly created bitmap inherits the alpha
mode from <paramref name="bitmapSource"/>. When the <see cref="T:PaintDotNet.Direct2D1.AlphaMode"/> is set to <see cref="F:PaintDotNet.Direct2D1.AlphaMode.Premultiplied"/>,
<see cref="F:PaintDotNet.Direct2D1.AlphaMode.Straight"/>, or <see cref="F:PaintDotNet.Direct2D1.AlphaMode.Ignore"/>, this forces the newly created bitmap to use the specified
alpha mode.<br/>
Before Direct2D can load from a bitmap source, it must be converted to a supported pixel format and alpha mode. For a list of
supported pixel formats and alpha modes, see <a href="https://docs.microsoft.com/en-us/windows/win32/Direct2D/supported-pixel-formats-and-alpha-modes">Supported Pixel Formats and Alpha Modes.</a>
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.CreateBitmapFromDxgiSurface(PaintDotNet.Dxgi.IDxgiSurface,System.Nullable{PaintDotNet.Direct2D1.BitmapProperties}@)">
<summary>
Creates a bitmap from a DXGI surface that can be set as a target surface or have additional color context information specified.
</summary>
<param name="surface">The DXGI surface from which the bitmap can be created.</param>
<param name="bitmapProperties">The bitmap properties specified in addition to the surface</param>
<returns>The new bitmap object.</returns>
<remarks>
See <a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_1/nf-d2d1_1-id2d1devicecontext-createbitmapfromdxgisurface(idxgisurface_constd2d1_bitmap_properties1_id2d1bitmap1)">ID2D1DeviceContext::CreateBitmapFromDxgiSurface</a>
for more information.</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.CreateBitmapBrush(PaintDotNet.Direct2D1.IDeviceBitmap,System.Nullable{PaintDotNet.Direct2D1.BitmapBrushProperties}@,System.Nullable{PaintDotNet.Direct2D1.BrushProperties}@)">
<summary>
Creates a bitmap brush, the input image is a Direct2D bitmap object.
</summary>
<param name="bitmap">The bitmap to use as the brush.</param>
<param name="bitmapBrushProperties">A bitmap brush properties structure, or null. If you set this parameter to null, the brush defaults to <see cref="F:PaintDotNet.Direct2D1.ExtendMode.Clamp"/> for clamping, and <see cref="F:PaintDotNet.Direct2D1.InterpolationMode.Linear"/> for interpolation mode.</param>
<param name="brushProperties">A brush properties structure, or null. If you set this parameter to null, the brush uses an opacity of 1.0f and an identity transform matrix.</param>
<returns>The new bitmap brush object.</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.CreateCommandList">
<summary>
Creates an <see cref="T:PaintDotNet.Direct2D1.ICommandList"/> object.
</summary>
<returns>The new command list.</returns>
<remarks>
A <see cref="T:PaintDotNet.Direct2D1.ICommandList"/> can store Direct2D commands to be displayed later through <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.DrawImage(PaintDotNet.Direct2D1.IDeviceImage,System.Nullable{PaintDotNet.Rendering.Point2Float},System.Nullable{PaintDotNet.Rendering.RectFloat}@,PaintDotNet.Direct2D1.InterpolationMode,PaintDotNet.Direct2D1.CompositeMode)"/> or through an <see cref="T:PaintDotNet.Direct2D1.IImageBrush"/>.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.CreateCompatibleDeviceContext(System.Nullable{PaintDotNet.Rendering.SizeFloat},System.Nullable{PaintDotNet.Rendering.SizeInt32},System.Nullable{PaintDotNet.Direct2D1.DevicePixelFormat},PaintDotNet.Direct2D1.CompatibleDeviceContextOptions)">
<summary>
Creates a bitmap device context for use during intermediate offscreen drawing that is compatible with the current render target.
</summary>
<param name="desiredSize">The desired size of the new device context (in device-independent pixels), if it should be different from the original device context. For more info, see the Remarks section.</param>
<param name="desiredPixelSize">The desired size of the new device context in pixels if it should be different from the original device context. For more information, see the Remarks section.</param>
<param name="desiredPixelFormat">
The desired pixel format and alpha mode of the new device context. If the pixel format is set to <see cref="F:PaintDotNet.Dxgi.DxgiFormat.Unknown"/>, the
new device context uses the same pixel format as the original device context. If the alpha mode is <see cref="F:PaintDotNet.Direct2D1.AlphaMode.Unknown"/>, the
alpha mode of the new device context defaults to <see cref="F:PaintDotNet.Direct2D1.AlphaMode.Premultiplied"/>. For information about supported pixel formats,
see <a href="https://docs.microsoft.com/en-us/windows/win32/Direct2D/supported-pixel-formats-and-alpha-modes">Supported Pixel Formats and Alpha Modes.</a>
</param>
<param name="options">A value that specifies whether the new render target must be compatible with GDI.</param>
<returns>The new bitmap device context.</returns>
<remarks>
The pixel size and DPI of the new render target can be altered by specifying values for desiredSize or desiredPixelSize.<br/>
<list type="bullet">
<item>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 device context is slightly higher than the DPI of the parent device context. In all cases, the coordinate (desiredSize.width, desiredSize.height) maps to the lower-right corner of the compatible device context.</item>
<item>If the desiredPixelSize is specified and desiredSize is not, the DPI of the new render target is the same as the original device context.</item>
<item>If both desiredSize and desiredPixelSize are specified, the DPI of the new device context is computed to account for the difference in scale.</item>
<item>If neither desiredSize nor desiredPixelSize is specified, the new render target size and DPI match the original device context.</item>
</list>
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.CreateFilledGeometryRealization(PaintDotNet.Direct2D1.IGeometry,System.Nullable{System.Single})">
<summary>
Creates a device-dependent representation of the fill of the geometry that can be subsequently rendered.
</summary>
<param name="geometry">The geometry to realize.</param>
<param name="flatteningTolerance">The flattening tolerance to use when converting Beziers to line segments. This parameter shares the same units as the coordinates of the geometry. If null, <see cref="F:PaintDotNet.Direct2D1.FlatteningTolerance.Default"/> will be used.</param>
<returns>The new geometry realization object.</returns>
<remarks>
This method is used in conjunction with <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.DrawGeometryRealization(PaintDotNet.Direct2D1.IGeometryRealization,PaintDotNet.Direct2D1.IDeviceBrush)"/>. The <see cref="M:PaintDotNet.Direct2D1.FlatteningTolerance.Compute(PaintDotNet.Rendering.Matrix3x2Float@,PaintDotNet.Rendering.Vector2Float,System.Single)"/> helper API may be used to determine the proper flattening tolerance.<br/>
If the provided stroke style specifies a stroke transform type other than <see cref="F:PaintDotNet.Direct2D1.StrokeTransformType.Normal"/>, then the stroke will be realized assuming the identity transform and a DPI of 96.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.CreateGradientMesh(System.ReadOnlySpan{PaintDotNet.Direct2D1.GradientMeshPatch})">
<summary>
Creates a new <see cref="T:PaintDotNet.Direct2D1.IGradientMesh"/> instance using the given array of patches.
</summary>
<param name="patches">A pointer to the array containing the patches to be used in this mesh.</param>
<returns>The new gradient mesh.</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.CreateGradientStopCollection(System.ReadOnlySpan{PaintDotNet.Direct2D1.GradientStop},PaintDotNet.Direct2D1.GradientStopGamma,PaintDotNet.Direct2D1.ExtendMode)">
<summary>
Creates an <see cref="T:PaintDotNet.Direct2D1.IGradientStopCollection"/> from the specified array of <see cref="T:PaintDotNet.Direct2D1.GradientStop"/> structures.
</summary>
<param name="gradientStops">The array of <see cref="T:PaintDotNet.Direct2D1.GradientStop"/> structures.</param>
<param name="colorInterpolationGamma">The space in which color interpolation between the gradient stops is performed.</param>
<param name="extendMode">The behavior of the gradient outside the [0,1] normalized range.</param>
<returns>The new gradient stop collection.</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.CreateGradientStopCollection(System.ReadOnlySpan{PaintDotNet.Direct2D1.GradientStop},PaintDotNet.Direct2D1.DeviceColorSpace,PaintDotNet.Direct2D1.DeviceColorSpace,PaintDotNet.Direct2D1.BufferPrecision,PaintDotNet.Direct2D1.ExtendMode,PaintDotNet.Direct2D1.ColorInterpolationMode)">
<summary>
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.
</summary>
<param name="straightAlphaGradientStops">An array of color values and offsets.</param>
<param name="preInterpolationSpace">Specifies both the input color space and the space in which the color interpolation occurs.</param>
<param name="postInterpolationSpace">The color space that colors will be converted to after interpolation occurs.</param>
<param name="bufferPrecision">The precision of the texture used to hold interpolated values.</param>
<param name="extendMode">Defines how colors outside of the range defined by the stop collection are determined.</param>
<param name="colorInterpolationMode">Defines how colors are interpolated. <see cref="F:PaintDotNet.Direct2D1.ColorInterpolationMode.Premultiplied"/> is the default, see Remarks for more info.</param>
<returns>The new gradient stop collection.</returns>
<remarks>
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.<br/>
In order to get the desired result, you need to ensure that the inputs are specified in the correct color space.<br/>
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 <see cref="P:PaintDotNet.Direct2D1.IGradientStopCollection.GradientStops"/>
will always have straight alpha.<br/>
If you specify <see cref="F:PaintDotNet.Direct2D1.ColorInterpolationMode.Premultiplied"/>, then all stops are premultiplied before interpolation,
and then un-premultiplied before color conversion.<br/>
See <a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_1/nf-d2d1_1-id2d1devicecontext-creategradientstopcollection">ID2D1DeviceContext::CreateGradientStopCollection method</a>
for a table showing the interpolation behavior with respect to the color space options.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.CreateImageBrush(PaintDotNet.Direct2D1.IDeviceImage,PaintDotNet.Direct2D1.ImageBrushProperties@,System.Nullable{PaintDotNet.Direct2D1.BrushProperties}@)">
<summary>
Creates an image brush. The input image can be any type of image, including a bitmap, effect, or a command list.
</summary>
<param name="image">The image to be used as a source for the image brush.</param>
<param name="imageBrushProperties">The properties specific to an image brush.</param>
<param name="brushProperties">Properties common to all brushes.</param>
<returns>The new image brush.</returns>
<remarks>The image brush can be used to fill an arbitrary geometry, an opacity mask, or text.</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.CreateInk(PaintDotNet.Direct2D1.InkPoint)">
<summary>
Creates a new <see cref="T:PaintDotNet.Direct2D1.IDeviceInk"/> object that starts at the given point.
</summary>
<param name="startPoint">The starting point of the first segment of the first stroke in the new ink object.</param>
<returns>The new ink object.</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.CreateInkStyle(PaintDotNet.Direct2D1.InkStyleProperties@)">
<summary>
Creates a new <see cref="T:PaintDotNet.Direct2D1.IDeviceInkStyle"/> object, for use with ink rendering methods such as <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.DrawImage(PaintDotNet.Direct2D1.IDeviceImage,System.Nullable{PaintDotNet.Rendering.Point2Float},System.Nullable{PaintDotNet.Rendering.RectFloat}@,PaintDotNet.Direct2D1.InterpolationMode,PaintDotNet.Direct2D1.CompositeMode)"/>.
</summary>
<param name="inkStyleProperties">The properties of the ink style to be created.</param>
<returns>The new ink style object.</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.CreateLinearGradientBrush(PaintDotNet.Direct2D1.LinearGradientBrushProperties@,System.Nullable{PaintDotNet.Direct2D1.BrushProperties}@,PaintDotNet.Direct2D1.IGradientStopCollection)">
<summary>
Creates an <see cref="T:PaintDotNet.Direct2D1.ILinearGradientBrush"/> object for painting areas with a linear gradient.
</summary>
<param name="linearGradientBrushProperties">The start and end points of the gradient.</param>
<param name="brushProperties">The transform and base opacity of the new brush. Pass null to use an opacity of 1.0f and an identity transform matrix.</param>
<param name="gradientStopCollection">A <see cref="T:PaintDotNet.Direct2D1.IGradientStopCollection"/> object that describes the colors in the brush's gradient and their locations along the gradient.</param>
<returns>The new linear gradient brush object.</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.CreateMesh">
<summary>
Create a mesh that uses triangles to describe a shape.
</summary>
<returns>The new mesh object.</returns>
<remarks>
To populate a mesh, use the <see cref="M:PaintDotNet.Direct2D1.IDeviceMesh.Open"/> method to obtain an <see cref="T:PaintDotNet.Direct2D1.ITessellationSink"/>. The sink
may be filled with triangles manually, or by using the <see cref="M:PaintDotNet.Direct2D1.IGeometry.Tessellate(PaintDotNet.Direct2D1.ITessellationSink,System.Nullable{PaintDotNet.Rendering.Matrix3x2Float}@,System.Nullable{System.Single})"/> method.<br/>
To draw the mesh, use the device context's <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.FillMesh(PaintDotNet.Direct2D1.IDeviceMesh,PaintDotNet.Direct2D1.IDeviceBrush)"/> method.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.CreateRadialGradientBrush(PaintDotNet.Direct2D1.RadialGradientBrushProperties@,System.Nullable{PaintDotNet.Direct2D1.BrushProperties}@,PaintDotNet.Direct2D1.IGradientStopCollection)">
<summary>
Creates an <see cref="T:PaintDotNet.Direct2D1.IRadialGradientBrush"/> object that can be used to paint areas with a radial gradient.
</summary>
<param name="radialGradientBrushProperties">The center, gradient origin offset, and x-radius and y-radius of the brush's gradient.</param>
<param name="brushProperties">The transform and base opacity of the new brush. Pass null to use an opacity of 1.0f and an identity transform matrix.</param>
<param name="gradientStopCollection">A <see cref="T:PaintDotNet.Direct2D1.IGradientStopCollection"/> object that describes the colors in the brush's gradient and their locations along the gradient.</param>
<returns>A new radial gradient brush.</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.CreateStrokedGeometryRealization(PaintDotNet.Direct2D1.IGeometry,System.Single,PaintDotNet.Direct2D1.IStrokeStyle,System.Nullable{System.Single})">
<summary>
Creates a device-dependent representation of the stroke of a geometry that can be subsequently rendered.
</summary>
<param name="geometry">The geometry to realize.</param>
<param name="strokeWidth">The width of the stroke. This parameter shares the same units as the coordinates of the geometry.</param>
<param name="strokeStyle">The stroke style.</param>
<param name="flatteningTolerance">The flattening tolerance to use when converting Beziers to line segments. This parameter shares the same units as the coordinates of the geometry. If null, <see cref="F:PaintDotNet.Direct2D1.FlatteningTolerance.Default"/> will be used.</param>
<returns>The new geometry realization object.</returns>
<remarks>
This method is used in conjunction with <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.DrawGeometryRealization(PaintDotNet.Direct2D1.IGeometryRealization,PaintDotNet.Direct2D1.IDeviceBrush)"/>. The <see cref="M:PaintDotNet.Direct2D1.FlatteningTolerance.Compute(PaintDotNet.Rendering.Matrix3x2Float@,PaintDotNet.Rendering.Vector2Float,System.Single)"/> helper API may be used to determine the proper flattening tolerance.<br/>
If the provided stroke style specifies a stroke transform type other than <see cref="F:PaintDotNet.Direct2D1.StrokeTransformType.Normal"/>, then the stroke will be realized assuming the identity transform and a DPI of 96.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.CreateSharedBitmap(PaintDotNet.Imaging.IBitmapLock,System.Nullable{PaintDotNet.Direct2D1.SharedBitmapProperties}@)">
<summary>
Creates an <see cref="T:PaintDotNet.Direct2D1.IDeviceBitmap"/> whose data is shared (not copied) with an <see cref="T:PaintDotNet.Imaging.IBitmapLock"/>.
</summary>
<param name="bitmapLock">The <see cref="T:PaintDotNet.Imaging.IBitmapLock"/> that contains the data to share with the new device bitmap.</param>
<param name="bitmapProperties">
The pixel format and DPI of the bitmap to create. The <see cref="T:PaintDotNet.Dxgi.DxgiFormat"/> portion of the pixel format must match the DxgiFormat
of the data or the method will fail, but the alpha modes don't have to match. To prevent a mismatch, you can pass null. The DPI
settings do not have to match those of data. If both dpiX and dpiY are 0.0f, the DPI of the device context is used.
</param>
<returns>The new shared bitmap.</returns>
<remarks>
The CreateSharedBitmap method is useful for efficiently reusing bitmap data when using a software device context.<br/>
An <see cref="T:PaintDotNet.Imaging.IBitmapLock"/> stores the content of a bitmap and shields it from simultaneous accesses. By passing an IBitmapLock
to the CreateSharedBitmap method, you can create an <see cref="T:PaintDotNet.Direct2D1.IDeviceBitmap"/> that points to the bitmap data already stored in
the IBitmapLock.<br/>
To use an IBitmapLock with the CreateSharedBitmap method, the device context must be using software rendering. To check whether
a device context uses software rendering, use the <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.IsSupported(PaintDotNet.Direct2D1.DeviceContextProperties@)"/> method or the IsSoftwareContext extension method.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.CreateSharedBitmap(PaintDotNet.Direct2D1.IDeviceBitmap,System.Nullable{PaintDotNet.Direct2D1.SharedBitmapProperties}@)">
<summary>
Creates an <see cref="T:PaintDotNet.Direct2D1.IDeviceBitmap"/> whose data is shared (not copied) with another <see cref="T:PaintDotNet.Direct2D1.IDeviceBitmap"/>.
</summary>
<param name="bitmap">The <see cref="T:PaintDotNet.Direct2D1.IDeviceBitmap"/> that contains the data to share with the new device bitmap.</param>
<param name="bitmapProperties">
The pixel format and DPI of the bitmap to create. The <see cref="T:PaintDotNet.Dxgi.DxgiFormat"/> portion of the pixel format must match the DxgiFormat
of the data or the method will fail, but the alpha modes don't have to match. To prevent a mismatch, you can pass null. The DPI
settings do not have to match those of data. If both dpiX and dpiY are 0.0f, the DPI of the device context is used.
</param>
<returns>The new shared bitmap.</returns>
<remarks>
By passing an <see cref="T:PaintDotNet.Direct2D1.IDeviceBitmap"/> created by a device context that is resource-compatible, you can share a bitmap with
that render target; both the original <see cref="T:PaintDotNet.Direct2D1.IDeviceBitmap"/> and the new <see cref="T:PaintDotNet.Direct2D1.IDeviceBitmap"/> created by this method
will point to the same bitmap data (it is not copied). For more information about when device context resources can be shared,
see the Sharing Render Target Resources section of the <a href="https://docs.microsoft.com/en-us/windows/win32/Direct2D/resources-and-resource-domains">Resources Overview</a>.<br/>
You may also use this method to reinterpret the data of an existing bitmap and specify a new DPI or alpha mode. For example, in
the case of a bitmap atlas, an <see cref="T:PaintDotNet.Direct2D1.IDeviceBitmap"/> may contain multiple sub-images, each of which should be rendered
with a different <see cref="T:PaintDotNet.Direct2D1.AlphaMode"/> (either <see cref="F:PaintDotNet.Direct2D1.AlphaMode.Premultiplied"/> or <see cref="F:PaintDotNet.Direct2D1.AlphaMode.Ignore"/>). You
could use the CreateSharedBitmap method to reinterpret the bitmap using the desired alpha mode without having to load a separate
copy of the bitmap into memory.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.CreateSolidColorBrush(PaintDotNet.Imaging.ColorRgba128Float,System.Nullable{PaintDotNet.Direct2D1.BrushProperties}@)">
<summary>
Creates a new <see cref="T:PaintDotNet.Direct2D1.ISolidColorBrush"/> that can be used to paint areas with a solid color.
</summary>
<param name="color">The red, green, blue, and alpha values of the brush's color.</param>
<param name="brushProperties">The base opacity of the brush. The transform matrix is ignored.</param>
<returns>The new solid color brush object.</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.CreateSpriteBatch">
<summary>
Creates a new, empty sprite batch. After creating a sprite batch, use <see cref="M:PaintDotNet.Direct2D1.ISpriteBatch.AddSprites(System.Int32,System.ReadOnlySpan{PaintDotNet.Rendering.RectFloat},System.ReadOnlySpan{PaintDotNet.Rendering.RectInt32},System.ReadOnlySpan{PaintDotNet.Imaging.ColorRgba128Float},System.ReadOnlySpan{PaintDotNet.Rendering.Matrix3x2Float})"/>
to add sprites to it, then use <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.DrawSpriteBatch(PaintDotNet.Direct2D1.ISpriteBatch,PaintDotNet.Direct2D1.IDeviceBitmap,PaintDotNet.Direct2D1.InterpolationMode,PaintDotNet.Direct2D1.SpriteOptions)" /> to draw it.
</summary>
<returns></returns>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.CreateSvgDocument(System.IO.Stream,PaintDotNet.Rendering.SizeFloat)">
<summary>
Creates an SVG document from a stream.
</summary>
<param name="inputXmlStream">An input stream containing the SVG XML document. If null, an empty document is created.</param>
<param name="viewportSize">Size of the initial viewport of the document.</param>
<returns>The created SVG document.</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.CreateSvgGlyphStyle">
<summary>
Creates an SVG glyph style object.
</summary>
<returns>The created SVG glyph style object.</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.GetColorBitmapGlyphImage(PaintDotNet.DirectWrite.GlyphImageFormats,PaintDotNet.Rendering.Point2Float,PaintDotNet.DirectWrite.IFontFace,System.Single,System.UInt16,System.Boolean,System.Nullable{PaintDotNet.Rendering.Matrix3x2Float}@,PaintDotNet.Rendering.Vector2Float,PaintDotNet.Rendering.Matrix3x2Float@)">
<summary>
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.
</summary>
<param name="glyphImageFormat">
The format for the glyph image. If there is no image data in the requested format for the requested glyph, this
method will throw an exception.</param>
<param name="glyphOrigin">The origin for the glyph.</param>
<param name="fontFace">
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.</param>
<param name="fontEmSize">
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.</param>
<param name="glyphIndex">Index of the glyph.</param>
<param name="isSideways">
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.</param>
<param name="worldTransform">
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. If null, the identity matrix will be used.</param>
<param name="dpi">Dots per inch.</param>
<param name="glyphTransform">
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.
</param>
<returns>The retrieved glyph image.</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.GetSvgGlyphImage(PaintDotNet.Rendering.Point2Float,PaintDotNet.DirectWrite.IFontFace,System.Single,System.UInt16,System.Boolean,System.Nullable{PaintDotNet.Rendering.Matrix3x2Float}@,PaintDotNet.Direct2D1.IDeviceBrush,PaintDotNet.Direct2D1.ISvgGlyphStyle,System.Int32,PaintDotNet.Rendering.Matrix3x2Float@)">
<summary>
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.
</summary>
<param name="glyphOrigin">Origin of the glyph.</param>
<param name="fontFace">
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.</param>
<param name="fontEmSize">The specified font size affects the output glyphTransform, causing it to properly scale the glyph.</param>
<param name="glyphIndex">Index of the glyph to retrieve.</param>
<param name="isSideways">
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.</param>
<param name="worldTransform">The transform to apply to the image. If null, the identity matrix will be used.</param>
<param name="defaultFillBrush">Describes how the area is painted.</param>
<param name="svgGlyphStyle">The values for context-fill, context-stroke, and context-value that are used when rendering SVG glyphs.</param>
<param name="colorPaletteIndex">
The index used to select a color palette within a color font. Note that this is not the same as the paletteIndex in
the ColorGlyphRun struct, which is not relevant for SVG glyphs.</param>
<param name="glyphTransform">
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.
</param>
<returns>The retrieved glyph image.</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.Clear(System.Nullable{PaintDotNet.Imaging.ColorRgba128Float}@)">
<summary>
Clears the drawing area to the specified color.
</summary>
<param name="clearColor">
The color to which the drawing area is cleared. If null, the color will be transparent black.</param>
<remarks>
Direct2D interprets the clearColor as straight alpha (not premultiplied). If the render target's alpha mode is <see cref="F:PaintDotNet.Direct2D1.AlphaMode.Ignore"/>,
the alpha channel of clearColor is ignored and replaced with 1.0f (fully opaque)<br/>
If the render target has an active clip (specified by PushAxisAlignedClip), the clear command is applied only to the area within the clip region.<br/>
If null is used for the clearColor, and the current target is an <see cref="T:PaintDotNet.Direct2D1.ICommandList"/>, the bounds as returned by <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.GetImageLocalBounds(PaintDotNet.Direct2D1.IDeviceImage)"/>
and <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.GetImageWorldBounds(PaintDotNet.Direct2D1.IDeviceImage)"/> will be an empty rectangle. Using non-null will result in the rectangle being infinite.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.BlendImage(PaintDotNet.Direct2D1.IDeviceImage,PaintDotNet.Direct2D1.BlendMode,System.Nullable{PaintDotNet.Rendering.Point2Float},System.Nullable{PaintDotNet.Rendering.RectFloat}@,PaintDotNet.Direct2D1.InterpolationMode)">
<summary>
Draws an image to the device context using the specified blend mode. Results are equivalent to using Direct2D's built-in Blend effect.
</summary>
<param name="image">The image to be drawn to the device context.</param>
<param name="blendMode">The blend mode to be used. See <see cref="T:PaintDotNet.Direct2D1.BlendMode"/> and <a href="https://docs.microsoft.com/en-us/windows/win32/direct2d/blend">Direct2D Blend effect</a> for more info.</param>
<param name="targetOffset">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 default value is null.</param>
<param name="imageRect">The corresponding rectangle in the image space will be mapped to the given origins when processing the image. The default value is null.</param>
<param name="interpolationMode">The interpolation mode that will be used to scale the image if necessary. The default value is <see cref="F:PaintDotNet.Direct2D1.InterpolationMode.Linear"/>.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.DrawBitmap(PaintDotNet.Direct2D1.IDeviceBitmap,System.Nullable{PaintDotNet.Rendering.RectFloat}@,System.Single,PaintDotNet.Direct2D1.InterpolationMode,System.Nullable{PaintDotNet.Rendering.RectFloat}@,System.Nullable{PaintDotNet.Rendering.Matrix4x4Float}@)">
<summary>
Draws a bitmap to the render target.
</summary>
<param name="bitmap">The bitmap to draw.</param>
<param name="dstRect">The destination rectangle. The default is the size of the bitmap and the location is the upper left corner of the render target.</param>
<param name="opacity">The opacity of the bitmap.</param>
<param name="interpolationMode">The interpolation mode to use if the bitmap is scaled or rotated by the drawing operation.</param>
<param name="srcRect">An optional source rectangle.</param>
<param name="perspectiveTransform">An optional perspective transform.</param>
<remarks>
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)).<br/>
The srcRect 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.<br/>
If you specify perspectiveTransform it is applied to the rect in addition to the transform set on the render target.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.DrawColorBitmapGlyphRun(PaintDotNet.DirectWrite.GlyphImageFormats,PaintDotNet.Rendering.Point2Float,PaintDotNet.DirectWrite.GlyphRun@,PaintDotNet.DirectWrite.TextMeasuringMode,PaintDotNet.Direct2D1.ColorBitmapGlyphSnapOption)">
<summary>
Draws a color bitmap glyph run using one of the bitmap formats.
</summary>
<param name="glyphImageFormats">Specifies the format of the glyph image. The supported formats are <see cref="F:PaintDotNet.DirectWrite.GlyphImageFormats.Png"/>,
<see cref="F:PaintDotNet.DirectWrite.GlyphImageFormats.Jpeg"/>, <see cref="F:PaintDotNet.DirectWrite.GlyphImageFormats.Tiff"/>, or <see cref="F:PaintDotNet.DirectWrite.GlyphImageFormats.PremultipliedBgra32"/>.
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.</param>
<param name="baselineOrigin">The origin of the baseline for the glyph run.</param>
<param name="glyphRun">The glyphs to render.</param>
<param name="measuringMode">Indicates the measuring method.</param>
<param name="bitmapSnapOption">Specifies the pixel snapping policy when rendering color bitmap glyphs.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.DrawEllipse(PaintDotNet.Direct2D1.Ellipse,PaintDotNet.Direct2D1.IDeviceBrush,System.Single,PaintDotNet.Direct2D1.IStrokeStyle)">
<summary>
Draws the outline of the specified ellipse using the specified stroke style.
</summary>
<param name="ellipse">The position and radius of the ellipse to draw, in device-independent pixels.</param>
<param name="brush">The brush used to paint the ellipse's outline.</param>
<param name="strokeWidth">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.</param>
<param name="strokeStyle">The style of stroke to apply to the ellipse's outline, or null to paint a solid stroke.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.DrawGdiMetafile(PaintDotNet.Direct2D1.IGdiMetafile,System.Nullable{PaintDotNet.Rendering.Point2Float})">
<summary>
Draw a metafile to the device context.
</summary>
<param name="gdiMetafile">The metafile to draw.</param>
<param name="targetOffset">The offset from the upper left corner of the render target.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.DrawGdiMetafile(PaintDotNet.Direct2D1.IGdiMetafile,PaintDotNet.Rendering.RectFloat,System.Nullable{PaintDotNet.Rendering.RectFloat}@)">
<summary>
Draws a metafile to the device context using the given source and destination rectangles.
</summary>
<param name="gdiMetafile">The metafile to draw.</param>
<param name="destinationRectangle">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 <see cref="P:PaintDotNet.Direct2D1.IGdiMetafile.Bounds"/>.</param>
<param name="sourceRectangle">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 <see cref="P:PaintDotNet.Direct2D1.IGdiMetafile.SourceBounds"/>.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.DrawGeometry(PaintDotNet.Direct2D1.IGeometry,PaintDotNet.Direct2D1.IDeviceBrush,System.Single,PaintDotNet.Direct2D1.IStrokeStyle)">
<summary>
Draws the outline of the specified geometry using the specified stroke style.
</summary>
<param name="geometry">The geometry to draw.</param>
<param name="brush">The brush used to paint the geometry's stroke.</param>
<param name="strokeWidth">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.</param>
<param name="strokeStyle">The style of stroke to apply to the geometry's outline, or null to paint a solid stroke.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.DrawGeometryRealization(PaintDotNet.Direct2D1.IGeometryRealization,PaintDotNet.Direct2D1.IDeviceBrush)">
<summary>
Renders a given geometry realization to the target with the specified brush.
</summary>
<param name="geometryRealization">The geometry realization to be rendered.</param>
<param name="brush">The brush to render the realization with.</param>
<remarks>
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 <see cref="F:PaintDotNet.Direct2D1.FlatteningTolerance.Default"/>
or <see cref="M:PaintDotNet.Direct2D1.FlatteningTolerance.Compute(PaintDotNet.Rendering.Matrix3x2Float@,PaintDotNet.Rendering.Vector2Float,System.Single)"/> to compensate for this.<br/>
Additionally, callers should be aware of the safe render bounds when creating geometry realizations. If a geometry extends
outside of [-524287, 524287] 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.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.DrawGlyphRun(PaintDotNet.Rendering.Point2Float,PaintDotNet.DirectWrite.GlyphRun@,PaintDotNet.DirectWrite.GlyphRunDescription@,PaintDotNet.Direct2D1.IDeviceBrush,PaintDotNet.DirectWrite.TextMeasuringMode)">
<summary>
Draws a series of glyphs to the device context.
</summary>
<param name="baselineOrigin">Origin of first glyph in the series.</param>
<param name="glyphRun">The glyphs to render.</param>
<param name="glyphRunDescription">Supplementary glyph series information. Optional. Use the C# <c>default</c> keyword to omit this parameter.</param>
<param name="foregroundBrush">The brush that defines the text color.</param>
<param name="measuringMode">The measuring mode of the glyph series, used to determine the advances and offsets.</param>
<remarks>
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.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.DrawGradientMesh(PaintDotNet.Direct2D1.IGradientMesh)">
<summary>
Renders a given gradient mesh to the target.
</summary>
<param name="gradientMesh">The gradient mesh to be rendered.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.DrawImage(PaintDotNet.Direct2D1.IDeviceImage,System.Nullable{PaintDotNet.Rendering.Point2Float},System.Nullable{PaintDotNet.Rendering.RectFloat}@,PaintDotNet.Direct2D1.InterpolationMode,PaintDotNet.Direct2D1.CompositeMode)">
<summary>
Draws an image to the device context. The image can be any type of <see cref="T:PaintDotNet.Direct2D1.IDeviceImage"/>, including an <see cref="T:PaintDotNet.Direct2D1.IDeviceEffect"/>,
<see cref="T:PaintDotNet.Direct2D1.IDeviceBitmap"/>, or <see cref="T:PaintDotNet.Direct2D1.ICommandList"/>.
</summary>
<param name="image">The image to be drawn to the device context.</param>
<param name="targetOffset">
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. This default value is null.
</param>
<param name="imageRect">The corresponding rectangle in the image space will be mapped to the given origins when processing the image. This default value is null.</param>
<param name="interpolationMode">The interpolation mode that will be used to scale the image if necessary.</param>
<param name="compositeMode">The composite mode that will be applied to the limits of the currently selected clip. The default value is <see cref="F:PaintDotNet.Direct2D1.CompositeMode.SourceOver"/>.</param>
<remarks>
If interpolationMode is <see cref="F:PaintDotNet.Direct2D1.InterpolationMode.HighQualityCubic"/>, different scalers will be used depending on the scale factor implied by the world transform.<br/>
Any invalid rectangles accumulated on any effect that is drawn by this call will be discarded regardless of which portion of the image rectangle is drawn.<br/>
If compositeMode is <see cref="F:PaintDotNet.Direct2D1.CompositeMode.SourceOver"/>, DrawImage will use the currently selected primitive blend specified by <see cref="P:PaintDotNet.Direct2D1.IDeviceContext.PrimitiveBlend"/>.<br/>
If compositeMode is not <see cref="F:PaintDotNet.Direct2D1.CompositeMode.SourceOver"/>, the image will be extended to transparent up to the current axis-aligned clip.<br/>
If there is an image rectangle and a world transform, this is equivalent to inserting a clip effect to represent the image rectangle and a 2D affine transform to take into account the world transform.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.DrawInk(PaintDotNet.Direct2D1.IDeviceInk,PaintDotNet.Direct2D1.IDeviceBrush,PaintDotNet.Direct2D1.IDeviceInkStyle)">
<summary>
Renders the given ink object using the given brush and ink style.
</summary>
<param name="ink">The ink object to be rendered.</param>
<param name="brush">The brush with which to render the ink object.</param>
<param name="inkStyle">The ink style to use when rendering the ink object.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.DrawLine(PaintDotNet.Rendering.Point2Float,PaintDotNet.Rendering.Point2Float,PaintDotNet.Direct2D1.IDeviceBrush,System.Single,PaintDotNet.Direct2D1.IStrokeStyle)">
<summary>
Draws a line between the specified points using the specified stroke style.
</summary>
<param name="point0">The start point of the line, in device-independent pixels.</param>
<param name="point1">The end point of the line, in device-independent pixels.</param>
<param name="brush">The brush used to paint the line's stroke.</param>
<param name="strokeWidth">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.</param>
<param name="strokeStyle">The style of stroke to paint, or null to paint a solid line.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.DrawRectangle(PaintDotNet.Rendering.RectFloat,PaintDotNet.Direct2D1.IDeviceBrush,System.Single,PaintDotNet.Direct2D1.IStrokeStyle)">
<summary>
Draws the outline of a rectangle that has the specified dimensions and stroke style.
</summary>
<param name="rect">The dimensions of the rectangle to draw, in device-independent pixels.</param>
<param name="brush">The brush used to paint the rectangle's stroke.</param>
<param name="strokeWidth">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.</param>
<param name="strokeStyle">The style of stroke to paint, or null to paint a solid stroke.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.DrawRoundedRectangle(PaintDotNet.Direct2D1.RoundedRect@,PaintDotNet.Direct2D1.IDeviceBrush,System.Single,PaintDotNet.Direct2D1.IStrokeStyle)">
<summary>
Draws the outline of the specified rounded rectangle using the specified stroke style.
</summary>
<param name="roundedRect">The dimensions of the rounded rectangle to draw, in device-independent pixels.</param>
<param name="brush">The brush used to paint the rounded rectangle's outline.</param>
<param name="strokeWidth">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.</param>
<param name="strokeStyle">The style of the rounded rectangle's stroke, or null to paint a solid stroke.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.DrawSpriteBatch(PaintDotNet.Direct2D1.ISpriteBatch,PaintDotNet.Direct2D1.IDeviceBitmap,PaintDotNet.Direct2D1.InterpolationMode,PaintDotNet.Direct2D1.SpriteOptions)">
<summary>
Renders all sprites in the given sprite batch to the device context using the specified drawing options.<br/>
<b>NOTE:</b> The antialiasing mode must be set to <see cref="F:PaintDotNet.Direct2D1.AntialiasMode.Aliased"/>.
</summary>
<param name="spriteBatch">The sprite batch to draw.</param>
<param name="bitmap">The bitmap from which the sprites are to be sourced. Each sprite's source rectangle refers to a portion of this bitmap.</param>
<param name="interpolationMode">The interpolation mode to use when drawing this sprite batch. This determines how Direct2D interpolates pixels within the drawn sprites if scaling is performed. This must be <see cref="F:PaintDotNet.Direct2D1.InterpolationMode.NearestNeighbor"/> or <see cref="F:PaintDotNet.Direct2D1.InterpolationMode.Linear"/>./> </param>
<param name="spriteOptions">The additional drawing options, if any, to be used for the sprite batch.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.DrawSvgDocument(PaintDotNet.Direct2D1.ISvgDocument)">
<summary>
Draws an SVG document.
</summary>
<param name="svgDocument">The SVG document to draw.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.DrawSvgGlyphRun(PaintDotNet.Rendering.Point2Float,PaintDotNet.DirectWrite.GlyphRun@,PaintDotNet.Direct2D1.IDeviceBrush,PaintDotNet.Direct2D1.ISvgGlyphStyle,System.Int32,PaintDotNet.DirectWrite.TextMeasuringMode)">
<summary>
Draws a color glyph run that has the format of <see cref="F:PaintDotNet.DirectWrite.GlyphImageFormats.Svg"/>.
</summary>
<param name="baselineOrigin">The origin of the baseline for the glyph run.</param>
<param name="glyphRun">The glyphs to render.</param>
<param name="defaultFillBrush">The brush used to paint the specified glyphs.</param>
<param name="svgGlyphStyle">Values for context-fill, context-stroke, and context-value that are used when rendering SVG glyphs.</param>
<param name="colorPaletteIndex">The index used to select a color palette within a color font. Note that this not the same as the paletteIndex in the ColorGlyphRun struct, which is not relevant for SVG glyphs.</param>
<param name="measuringMode">Indicates the measuring method used for text layout.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.DrawText(System.String,PaintDotNet.DirectWrite.ITextFormat,PaintDotNet.Rendering.RectFloat,PaintDotNet.Direct2D1.IDeviceBrush,PaintDotNet.Direct2D1.DrawTextOptions,PaintDotNet.DirectWrite.TextMeasuringMode)">
<summary>
Draws the specified text using the format information provided by an <see cref="T:PaintDotNet.DirectWrite.ITextFormat"/> object.
</summary>
<param name="text">The text to draw.</param>
<param name="textFormat">An object that describes formatting details of the text to draw, such as the font, the font size, and flow direction.</param>
<param name="layoutRect">The size and position of the area in which the text is drawn.</param>
<param name="defaultFillBrush">The brush used to paint the text.</param>
<param name="options">A value that indicates whether the text should be snapped to pixel boundaries, whether the text should be clipped to the layout rectangle, and whether colored glyphs are enabled.</param>
<param name="measuringMode">A value that indicates how glyph metrics are used to measure text when it is formatted.</param>
<remarks>
To create an <see cref="T:PaintDotNet.DirectWrite.ITextFormat"/> object, retrieve an <see cref="T:PaintDotNet.DirectWrite.IDirectWriteFactory"/> object and call its <see cref="M:PaintDotNet.DirectWrite.IDirectWriteFactory.CreateTextFormat(System.String,PaintDotNet.DirectWrite.IFontCollection,PaintDotNet.DirectWrite.FontWeight,PaintDotNet.DirectWrite.FontStyle,PaintDotNet.DirectWrite.FontStretch,System.Single,System.String)"/> method.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.DrawText(System.String,PaintDotNet.DirectWrite.ITextFormat,PaintDotNet.Rendering.RectFloat,PaintDotNet.Direct2D1.IDeviceBrush,PaintDotNet.Direct2D1.ISvgGlyphStyle,System.Int32,PaintDotNet.Direct2D1.DrawTextOptions,PaintDotNet.DirectWrite.TextMeasuringMode)">
<summary>
Draws the text within the given layout rectangle.<br/>
By default, this method performs baseline snapping and renders color versions of glyphs in color fonts.
</summary>
<param name="text">The text to draw.</param>
<param name="textFormat">An object that describes formatting details of the text to draw, such as the font, the font size, and flow direction.</param>
<param name="layoutRect">The size and position of the area in which the text is drawn.</param>
<param name="defaultFillBrush">The brush used to paint the text.</param>
<param name="svgGlyphStyle">Values for context-fill, context-stroke, and context-value that are used when rendering SVG glyphs.</param>
<param name="colorPaletteIndex">The index used to select a color palette within a color font.</param>
<param name="options">A value that indicates whether the text should be snapped to pixel boundaries, whether the text should be clipped to the layout rectangle, and whether colored glyphs are enabled.</param>
<param name="measuringMode">A value that indicates how glyph metrics are used to measure text when it is formatted.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.DrawTextLayout(PaintDotNet.Rendering.Point2Float,PaintDotNet.DirectWrite.ITextLayout,PaintDotNet.Direct2D1.IDeviceBrush,PaintDotNet.Direct2D1.DrawTextOptions)">
<summary>
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.
</summary>
<param name="origin">
The point, described in device-independent pixels, at which the upper-left corner of the text described by
textLayout is drawn.</param>
<param name="textLayout">
The formatted text to draw. Any drawing effects that do not inherit from ID2D1Resource are ignored. If
there are drawing effects that inherit from ID2D1Resource that are not brushes, this method fails and the
device context is put in an error state.</param>
<param name="defaultFillBrush">The brush used to paint the text.</param>
<param name="options">A value that indicates whether the text should be snapped to pixel boundaries and whether the text should be clipped to the layout rectangle.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.DrawTextLayout(PaintDotNet.Rendering.Point2Float,PaintDotNet.DirectWrite.ITextLayout,PaintDotNet.Direct2D1.IDeviceBrush,PaintDotNet.Direct2D1.ISvgGlyphStyle,System.Int32,PaintDotNet.Direct2D1.DrawTextOptions)">
<summary>
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.
</summary>
<param name="origin">
The point, described in device-independent pixels, at which the upper-left corner of the text described by
textLayout is drawn.</param>
<param name="textLayout">
The formatted text to draw. Any drawing effects that do not inherit from ID2D1Resource are ignored. If
there are drawing effects that inherit from ID2D1Resource that are not brushes, this method fails and the
device context is put in an error state.</param>
<param name="defaultFillBrush">The brush used to paint the text.</param>
<param name="svgGlyphStyle">The values for context-fill, context-stroke, and context-value that are used when rendering SVG glyphs.</param>
<param name="colorPaletteIndex">The index used to select a color palette within a color font.</param>
<param name="options">A value that indicates whether the text should be snapped to pixel boundaries and whether the text should be clipped to the layout rectangle.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.FillEllipse(PaintDotNet.Direct2D1.Ellipse,PaintDotNet.Direct2D1.IDeviceBrush)">
<summary>
Paints the interior of the specified ellipse.
</summary>
<param name="ellipse">The position and radius, in device-independent pixels, of the ellipse to paint.</param>
<param name="brush">The brush used to paint the interior of the ellipse.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.FillGeometry(PaintDotNet.Direct2D1.IGeometry,PaintDotNet.Direct2D1.IDeviceBrush,PaintDotNet.Direct2D1.IDeviceBrush)">
<summary>
Paints the interior of the specified geometry.
</summary>
<param name="geometry">The geometry to paint.</param>
<param name="brush">The brush used to paint the geometry's interior.</param>
<param name="opacityBrush">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 <see cref="T:PaintDotNet.Direct2D1.IBitmapBrush"/> that has its x- and y-extend modes set to <see cref="F:PaintDotNet.Direct2D1.ExtendMode.Clamp"/>. For more information, see the Remarks section.</param>
<remarks>
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.<br/>
The alpha value specified by the brush is multiplied by the alpha value of the geometry after the geometry has been painted by brush.<br/>
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.FillMesh(PaintDotNet.Direct2D1.IDeviceMesh,PaintDotNet.Direct2D1.IDeviceBrush)">
<summary>
Paints the interior of the specified mesh.<br/>
<b>NOTE:</b> The <see cref="P:PaintDotNet.Direct2D1.IDeviceContext.AntialiasMode"/> must be set to <see cref="F:PaintDotNet.Direct2D1.AntialiasMode.Aliased"/>.
</summary>
<param name="mesh">The mesh to paint.</param>
<param name="brush">The brush used to paint the mesh.</param>
<remarks>
FillMesh does not expect a particular winding order for the triangles in the <see cref="T:PaintDotNet.Direct2D1.IDeviceMesh"/>; both clockwise and counter-clockwise will work.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.FillOpacityMask(PaintDotNet.Direct2D1.IDeviceBitmap,PaintDotNet.Direct2D1.IDeviceBrush,System.Nullable{PaintDotNet.Rendering.RectFloat}@,System.Nullable{PaintDotNet.Rendering.RectFloat}@)">
<summary>
Fill using the alpha channel of the supplied opacity mask bitmap. The brush opacity will be modulated by the mask.<br/>
<b>NOTE:</b> The antialiasing mode must be set to <see cref="F:PaintDotNet.Direct2D1.AntialiasMode.Aliased"/>.
</summary>
<param name="opacityMask">The bitmap that acts as the opacity mask</param>
<param name="brush">The brush to use for filling the primitive.</param>
<param name="dstRect">The destination rectangle to output to in the render target</param>
<param name="srcRect">The source rectangle from the opacity mask bitmap.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.FillRectangle(PaintDotNet.Rendering.RectFloat,PaintDotNet.Direct2D1.IDeviceBrush)">
<summary>
Paints the interior of the specified rectangle.
</summary>
<param name="rect">The dimension of the rectangle to paint, in device-independent pixels.</param>
<param name="brush">The brush used to paint the rectangle's interior.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.FillRoundedRectangle(PaintDotNet.Direct2D1.RoundedRect@,PaintDotNet.Direct2D1.IDeviceBrush)">
<summary>
Paints the interior of the specified rounded rectangle.
</summary>
<param name="roundedRect">The dimensions of the rounded rectangle to paint, in device independent pixels.</param>
<param name="brush">The brush used to paint the interior of the rounded rectangle.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.GetImageLocalBounds(PaintDotNet.Direct2D1.IDeviceImage)">
<summary>
Gets the bounds of an image without the world transform of the context applied.
</summary>
<param name="image">The image whose bounds will be calculated.</param>
<returns>The bounds of the image in device-independent pixels (DIPs) and in local space.</returns>
<remarks>
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.<br/>
To get the bounds that include the world transform, use <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.GetImageWorldBounds(PaintDotNet.Direct2D1.IDeviceImage)"/>.<br/>
The returned bounds reflect which pixels would be impacted by calling <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.DrawImage(PaintDotNet.Direct2D1.IDeviceImage,System.Nullable{PaintDotNet.Rendering.Point2Float},System.Nullable{PaintDotNet.Rendering.RectFloat}@,PaintDotNet.Direct2D1.InterpolationMode,PaintDotNet.Direct2D1.CompositeMode)"/> 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.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.GetImageWorldBounds(PaintDotNet.Direct2D1.IDeviceImage)">
<summary>
Gets the bounds of an image with the world transform of the context applied.
</summary>
<param name="image">The image whose bounds will be calculated.</param>
<returns>The bounds of the image in device-independent pixels (DIPs).</returns>
<remarks>
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 <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.GetImageLocalBounds(PaintDotNet.Direct2D1.IDeviceImage)"/>./<br/>
The returned bounds reflect which pixels would be impacted by calling <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.DrawImage(PaintDotNet.Direct2D1.IDeviceImage,System.Nullable{PaintDotNet.Rendering.Point2Float},System.Nullable{PaintDotNet.Rendering.RectFloat}@,PaintDotNet.Direct2D1.InterpolationMode,PaintDotNet.Direct2D1.CompositeMode)"/> 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.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.GetGradientMeshWorldBounds(PaintDotNet.Direct2D1.IGradientMesh)">
<summary>
Returns the world bounds of a given gradient mesh.
</summary>
<param name="gradientMesh">The gradient mesh whose world bounds will be calculated.</param>
<returns>The bounds of the gradient mesh, in device-independent pixels (DIPs).</returns>
<remarks>
The world bounds reflect the current DPI, unit mode, and world transform of the context. They indicate which pixels
would be impacted by calling <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.DrawGradientMesh(PaintDotNet.Direct2D1.IGradientMesh)"/> 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.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.GetGlyphRunWorldBounds(PaintDotNet.Rendering.Point2Float,PaintDotNet.DirectWrite.GlyphRun@,PaintDotNet.DirectWrite.TextMeasuringMode)">
<summary>
Gets the world-space bounds in DIPs of the glyph run using the device context DPI.
</summary>
<param name="baselineOrigin">The origin of the baseline for the glyph run.</param>
<param name="glyphRun">The glyph run to measure.</param>
<param name="measuringMode">The measuring mode that indicates how glyph metrics are used to measure text when it is formatted.</param>
<returns>The bounds of the glyph run in DIPs and in world space.</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.InvalidateEffectInputRectangle(PaintDotNet.Direct2D1.IDeviceEffect,System.Int32,PaintDotNet.Rendering.RectFloat)">
<summary>
This indicates that a portion of an effect's input is invalid. This method can be called many times.<br/>
<br/>
You can use this method to propagate invalid rectangles through an effect graph. You can query Direct2D using the <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.GetEffectInvalidRectangles(PaintDotNet.Direct2D1.IDeviceEffect)"/> method.<br/>
<br/>
<b>NOTE:</b> Direct2D does not automatically use these invalid rectangles to reduce the region of an effect that is rendered.<br/>
You can also use this method to invalidate caches that have accumulated while rendering effects that have the Cached property set to true.
</summary>
<param name="effect">The effect to invalidate.</param>
<param name="input">The input index.</param>
<param name="inputRect">The rect to invalidate.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.GetEffectInvalidRectangles(PaintDotNet.Direct2D1.IDeviceEffect)">
<summary>
Gets the invalid rectangles that have accumulated since the last time the effect was drawn and <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.EndDraw"/> was then called on the device context.
</summary>
<param name="effect">The effect to get the invalid rectangles from.</param>
<returns>The invalid rectangles for the effect.</returns>
<remarks>
<b>Note:</b> Direct2D does not automatically use these invalid rectangles to reduce the region of an effect that is rendered.<br/>
You can use the <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.InvalidateEffectInputRectangle(PaintDotNet.Direct2D1.IDeviceEffect,System.Int32,PaintDotNet.Rendering.RectFloat)"/> method to specify invalidated rectangles for Direct2D to propagate through an effect graph.<br/>
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceContext.GetEffectRequiredInputRectangles(PaintDotNet.Direct2D1.IDeviceEffect,System.Nullable{PaintDotNet.Rendering.RectFloat}@,System.ReadOnlySpan{PaintDotNet.Direct2D1.EffectInputDescription})">
<summary>
Returns the input rectangles that are required to be supplied by the caller to produce the given output rectangle.
</summary>
<param name="renderEffect">The effect whose output is being rendered.</param>
<param name="renderImageRectangle">The portion of the output image whose inputs are being inspected.</param>
<param name="inputDescriptions">A list of the inputs whose rectangles are being queried.</param>
<returns>The input rectangles.</returns>
<remarks>
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.
</remarks>
</member>
<member name="T:PaintDotNet.Direct2D1.IDeviceEffect">
<summary>
Represents a basic image-processing construct in Direct2D.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_1/nn-d2d1_1-id2d1effect">ID2D1Effect</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IDeviceEffect.InputCount">
<summary>
Gets or sets the number of inputs to the effect.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceEffect.IsInputSet(System.Int32)">
<summary>
Allows you to check if an input is set (non-null) without allocating a ref to it.
</summary>
<remarks>
GetInput(), like all methods returning IObjectRef "refs", must provide a new "ref" for reference
counting purposes. Using this method allows you to avoid that allocation.<br/>
This method returns false if the index is out of range.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceEffect.GetInput(System.Int32)">
<summary>
Gets the given input image by index.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceEffect.SetInput(System.Int32,PaintDotNet.Direct2D1.IDeviceImage,System.Boolean)">
<summary>
Sets the given input image by index.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IDeviceEffectContext">
<summary>
Provides factory methods and other state management for effect and transform authors.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1effectauthor/nn-d2d1effectauthor-id2d1effectcontext">ID2D1EffectContext2</a>
</summary>
<remarks>
This interface is passed to an effect implementation through the <see cref="M:PaintDotNet.Direct2D1.IDeviceEffectImpl.Initialize(PaintDotNet.Direct2D1.IDeviceEffectContext,PaintDotNet.Direct2D1.ITransformGraph)"/> 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 CreateRef() between the <see cref="T:PaintDotNet.Direct2D1.IDeviceContext"/> and the
<see cref="T:PaintDotNet.Direct2D1.IDeviceEffectContext"/>. Each call to <see cref="M:PaintDotNet.Direct2D1.IDeviceEffectImpl.Initialize(PaintDotNet.Direct2D1.IDeviceEffectContext,PaintDotNet.Direct2D1.ITransformGraph)"/> will be provided a different
<see cref="T:PaintDotNet.Direct2D1.IDeviceEffectContext"/> object. This interface tracks resource allocations for the effect. When the effect is
released, the corresponding allocations will also be released.
</remarks>
</member>
<member name="P:PaintDotNet.Direct2D1.IDeviceEffectContext.Dpi">
<summary>
Gets the unit mapping that an effect will use for properties that could be in either dots per inch (dpi) or pixels.
</summary>
<remarks>
If the UnitMode is UnitMode.Pixels, both X and Y will be set to 96.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceEffectContext.CheckFeatureSupport(PaintDotNet.Direct2D1.DeviceFeature,System.Span{System.Byte})">
<summary>
Checks whether an optional capability is supported by the D3D device.
</summary>
<remarks>The use of the CheckFeatureSupport<TResult>(DeviceFeatures.*) extension method is recommended</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceEffectContext.CreateBlendTransform(System.Int32,PaintDotNet.Direct2D1.BlendDescription@)">
<summary>
This creates a blend transform that can be inserted into a transform graph.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceEffectContext.CreateBorderTransform(PaintDotNet.Direct2D1.ExtendMode,PaintDotNet.Direct2D1.ExtendMode)">
<summary>
Creates a transform that extends its input infinitely in every direction based on the passed in extend mode.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceEffectContext.CreateBoundsAdjustmentTransform(PaintDotNet.Rendering.RectInt32)">
<summary>
Creates and returns a bounds adjustment transform.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceEffectContext.CreateOffsetTransform(PaintDotNet.Rendering.Point2Int32)">
<summary>
Creates and returns an offset transform.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceEffectContext.CreateTransformNodeFromEffect(PaintDotNet.Direct2D1.IDeviceEffect)">
<summary>
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.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceEffectContext.GetMaximumSupportedFeatureLevel(System.ReadOnlySpan{PaintDotNet.Direct3D.D3DFeatureLevel})">
<summary>
Gets the maximum feature level from the provided list which is supported by the device. If none of the provided levels
are supported, then this method returns null.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceEffectContext.LoadPixelShader(PaintDotNet.Direct2D1.ShaderID@,System.ReadOnlySpan{System.Byte})">
<summary>
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.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceEffectContext.IsShaderLoaded(PaintDotNet.Direct2D1.ShaderID@)">
<summary>
This tests to see if the given shader is loaded.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceEffectContext.CreateResourceTexture(System.Nullable{System.Guid}@,PaintDotNet.Direct2D1.ResourceTextureProperties@,PaintDotNet.ExtentPtr{System.Byte},System.Nullable{PaintDotNet.Direct2D1.ResourceTextureStrides})">
<summary>
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.
</summary>
<param name="resourceID">An optional unique ID that identifies the resource texture.</param>
<param name="resourceTextureProperties">The properties used to create the resource texture.</param>
<param name="data">The optional data to be loaded into the resource texture. If this is empty/null/default, the resource texture will not have data loaded into it.</param>
<param name="dataStrides">The stride to advance through the resource texture, per dimension. This must be non-null if data is non-empty, even for 1D textures.</param>
<returns></returns>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceEffectContext.FindResourceTexture(System.Guid@)">
<summary>
Finds the given resource texture if it has already been created with <see cref="M:PaintDotNet.Direct2D1.IDeviceEffectContext.CreateResourceTexture(System.Nullable{System.Guid}@,PaintDotNet.Direct2D1.ResourceTextureProperties@,PaintDotNet.ExtentPtr{System.Byte},System.Nullable{PaintDotNet.Direct2D1.ResourceTextureStrides})"/> with
the same <see cref="T:System.Guid"/>.
</summary>
<param name="resourceID"></param>
<returns></returns>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceEffectContext.IsBufferPrecisionSupported(PaintDotNet.Direct2D1.BufferPrecision)">
<summary>
Indicates whether the buffer precision is supported by the underlying Direct2D device.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IDeviceEffectFactory">
<summary>
Serves as a base interface for <see cref="T:PaintDotNet.Direct2D1.IDeviceContext"/> and <see cref="T:PaintDotNet.Direct2D1.IDeviceEffectContext"/> to provide
the <see cref="M:PaintDotNet.Direct2D1.IDeviceEffectFactory.CreateEffect(PaintDotNet.Direct2D1.DeviceEffectID@)"/> method.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceEffectFactory.CreateEffect(PaintDotNet.Direct2D1.DeviceEffectID@)">
<summary>
Creates an effect for the specified effect ID.
</summary>
<param name="effectID">The class ID of the effect to create. See <see cref="T:PaintDotNet.Direct2D1.DeviceEffectIDs"/> for a list of the built-in Direct2D effects.</param>
<returns>The new effect.</returns>
</member>
<member name="T:PaintDotNet.Direct2D1.IDeviceEffectImpl">
<summary>
Implemented by a custom effect.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1effectauthor/nn-d2d1effectauthor-id2d1effectimpl">ID2D1EffectImpl</a>
</summary>
<remarks>
For more info, see: <a href="https://msdn.microsoft.com/en-us/library/windows/desktop/jj710194(v=vs.85).aspx">Direct2D Custom effects</a>
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceEffectImpl.Initialize(PaintDotNet.Direct2D1.IDeviceEffectContext,PaintDotNet.Direct2D1.ITransformGraph)">
<summary>
The effect can use this method to do one time initialization tasks.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1effectauthor/nf-d2d1effectauthor-id2d1effectimpl-initialize">ID2D1EffectImpl::Initialize</a>
</summary>
<param name="effectContext">An internal context interface that creates and returns effect author–centric types.</param>
<param name="transformGraph">The effect can populate the transform graph with a topology and can update it later.</param>
<remarks>
If the effectContext or transformGraph are stored by the implementation of this interface, a new ref must be created
with the CreateRef() extension method. The object "refs" passed to this method will be disposed once it
returns, but creating a new ref extends the lifetime of the underlying object.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceEffectImpl.PrepareForRender(PaintDotNet.Direct2D1.ChangeType)">
<summary>
Prepares an effect for the rendering process.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1effectauthor/nf-d2d1effectauthor-id2d1effectimpl-prepareforrender">ID2D1EffectImpl::PrepareForRender</a>
</summary>
<param name="changeType">Indicates the type of change the effect should expect.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceEffectImpl.SetGraph(PaintDotNet.Direct2D1.ITransformGraph)">
<summary>
The renderer calls this method to provide the effect implementation with a way to specify its transform graph and transform graph changes.<br/>
The renderer calls this method when:<br/>
* When the effect is first initialized.<br/>
* If the number of inputs to the effect changes.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1effectauthor/nf-d2d1effectauthor-id2d1effectimpl-setgraph">ID2D1EffectImpl::SetGraph</a>
</summary>
<param name="transformGraph">The graph to which the effect describes its transform topology.</param>
<remarks>
You usually don't need to implement this method. Instead, perform one-time initialization tasks in <see cref="M:PaintDotNet.Direct2D1.IDeviceEffectImpl.Initialize(PaintDotNet.Direct2D1.IDeviceEffectContext,PaintDotNet.Direct2D1.ITransformGraph)"/>,
and then update or create the effect graph in <see cref="M:PaintDotNet.Direct2D1.IDeviceEffectImpl.PrepareForRender(PaintDotNet.Direct2D1.ChangeType)"/>.<br/>
If the transformGraph is stored by the implementation of this interface, a new ref must be created with the
CreateRef() extension method. The object "refs" passed to this method will be disposed once it
returns, but creating a new ref extends the lifetime of the underlying object.
</remarks>
</member>
<member name="T:PaintDotNet.Direct2D1.IDeviceEffectProperties">
<summary>
Represents a set of run-time bindable and discoverable properties that allow a data-driven application to modify the state of a Direct2D effect.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_1/nn-d2d1_1-id2d1properties">ID2D1Properties</a>
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IDeviceEffectPropertyMarshaler">
<summary>
Handles the marshaling of binary property value data between native and managed for
a custom effect. One instance of this is needed for each registered custom effect.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IDeviceImage">
<summary>
Represents a producer of pixels that can fill an arbitrary 2D plane.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/nn-d2d1-id2d1image">ID2D1Image</a>
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IDeviceInk">
<summary>
Represents a single continuous stroke of variable-width ink, as defined by a series of Bezier segments and widths.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_3/nn-d2d1_3-id2d1ink">ID2D1Ink</a>
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IDeviceInkStyle">
<summary>
Represents a collection of style properties to be used by methods like IDeviceContext.DrawInk() when rendering ink.
The ink style defines the nib (pen tip) shape and transform.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_3/nn-d2d1_3-id2d1inkstyle">ID2D1InkStyle</a>
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IDeviceLayer">
<summary>
Represents the backing store required to render a layer.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/nn-d2d1-id2d1layer">ID2D1Layer</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IDeviceLayer.Size">
<summary>
Gets the size of the layer in device-independent pixels.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IDeviceMesh">
<summary>
Represents a set of vertices that form a list of triangles.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/nn-d2d1-id2d1mesh">ID2D1Mesh</a>
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDeviceMesh.Open">
<summary>
Opens the mesh for population.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IDirect2DFactory">
<summary>
Creates Direct2D resources.<br/>
This interface corresponds to the following Direct2D interfaces:
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/nn-d2d1-id2d1factory">ID2D1Factory</a>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_1/nn-d2d1_1-id2d1factory1">ID2D1Factory1</a>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_2/nn-d2d1_2-id2d1factory2">ID2D1Factory2</a>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_3/nn-d2d1_3-id2d1factory3">ID2D1Factory3</a>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_3/nn-d2d1_3-id2d1factory4">ID2D1Factory4</a>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_3/nn-d2d1_3-id2d1factory5">ID2D1Factory5</a>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_3/nn-d2d1_3-id2d1factory6">ID2D1Factory6</a>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_3/nn-d2d1_3-id2d1factory7">ID2D1Factory7</a>
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDirect2DFactory.CreateBitmapDeviceContext(PaintDotNet.Imaging.IBitmap,PaintDotNet.Direct2D1.DeviceContextProperties@)">
<summary>
Creates a device context that renders to a <see cref="T:PaintDotNet.Imaging.IBitmap"/>.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDirect2DFactory.CreateDCDeviceContext(PaintDotNet.Direct2D1.DeviceContextProperties@)">
<summary>
Creates a render target that draws to a Windows Graphics Device Interface (GDI) device context.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDirect2DFactory.CreateDevice(PaintDotNet.Dxgi.IDxgiDevice)">
<summary>
Creates an <see cref="T:PaintDotNet.Direct2D1.IDevice"/> object.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDirect2DFactory.CreateDrawingStateBlock(System.Nullable{PaintDotNet.Direct2D1.DrawingStateDescription}@,PaintDotNet.DirectWrite.ITextRenderingParameters)">
<summary>
Creates an <see cref="T:PaintDotNet.Direct2D1.IDrawingStateBlock"/> that can be used with the <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.SaveDrawingState(PaintDotNet.Direct2D1.IDrawingStateBlock)"/>
and <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.RestoreDrawingState(PaintDotNet.Direct2D1.IDrawingStateBlock)"/> methods.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDirect2DFactory.CreateGdiMetafile(System.IO.Stream)">
<summary>
Creates a new <see cref="T:PaintDotNet.Direct2D1.IGdiMetafile"/> object that you can use to replay metafile content.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDirect2DFactory.CreateHwndDeviceContext(PaintDotNet.Direct2D1.DeviceContextProperties@,PaintDotNet.Direct2D1.HwndDeviceContextProperties@)">
<summary>
Creates an <see cref="T:PaintDotNet.Direct2D1.IHwndDeviceContext"/>, a device context that renders to a window.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDirect2DFactory.CreateEllipseGeometry(PaintDotNet.Direct2D1.Ellipse)">
<summary>
Creates an <see cref="T:PaintDotNet.Direct2D1.IEllipseGeometry"/>.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDirect2DFactory.CreateGeometryGroup(PaintDotNet.Direct2D1.FillMode,System.ReadOnlySpan{PaintDotNet.Direct2D1.IGeometry})">
<summary>
Creates an <see cref="T:PaintDotNet.Direct2D1.IGeometryGroup"/>, which is an object that holds other geometries.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDirect2DFactory.CreatePathGeometry">
<summary>
Creates an empty <see cref="T:PaintDotNet.Direct2D1.IPathGeometry"/>.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDirect2DFactory.CreateRectangleGeometry(PaintDotNet.Rendering.RectFloat)">
<summary>
Creates an <see cref="T:PaintDotNet.Direct2D1.IRectangleGeometry"/>.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDirect2DFactory.CreateRoundedRectangleGeometry(PaintDotNet.Direct2D1.RoundedRect@)">
<summary>
Creates an <see cref="T:PaintDotNet.Direct2D1.IRoundedRectangleGeometry"/>.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDirect2DFactory.CreateStrokeStyle(PaintDotNet.Direct2D1.StrokeStyleProperties@,System.ReadOnlySpan{System.Single})">
<summary>
Creates an <see cref="T:PaintDotNet.Direct2D1.IStrokeStyle"/> that describes start cap, dash pattern, and other features of a stroke.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDirect2DFactory.CreateTransformedGeometry(PaintDotNet.Direct2D1.IGeometry,PaintDotNet.Rendering.Matrix3x2Float@)">
<summary>
Transforms the specified geometry and stores the result as an <see cref="T:PaintDotNet.Direct2D1.ITransformedGeometry"/> object.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDirect2DFactory.RegisterEffect(PaintDotNet.Direct2D1.EffectRegistrationInfo)">
<summary>
Registers an effect within the factory instance.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDirect2DFactory.UnregisterEffect(PaintDotNet.Direct2D1.DeviceEffectID@)">
<summary>
Unregisters an effect within the factory instance.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDirect2DFactory.GetEffectProperties(PaintDotNet.Direct2D1.DeviceEffectID@)">
<summary>
Retrieves the properties of an effect.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDirect2DFactory.GetRegisteredEffects">
<summary>
Returns the IDs of the currently registered effects and global effects on this factory.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IDirect2DMultithread">
<summary>
A locking mechanism from a Direct2D factory that Direct2D uses to control exclusive resource access in an app that is uses multiple threads.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_1/nn-d2d1_1-id2d1multithread">ID2D1Multithread</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IDirect2DMultithread.IsMultithreadProtected">
<summary>
Returns whether the Direct2D factory was created with the <see cref="F:PaintDotNet.Direct2D1.FactoryType.Multithreaded"/> option.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDirect2DMultithread.Enter">
<summary>
Enters the Direct2D API critical section, if it exists.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDirect2DMultithread.Leave">
<summary>
Leaves the Direct2D API critical section, if it exists.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IDirect2DResource">
<summary>
Represents a Direct2D drawing resource.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/nn-d2d1-id2d1resource">ID2D1Resource</a>
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IDrawInfo">
<summary>
This interface is used to describe a GPU rendering pass on a vertex or pixel shader. It is passed to <see cref="T:PaintDotNet.Direct2D1.IDrawTransform"/>.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1effectauthor/nn-d2d1effectauthor-id2d1drawinfo">ID2D1DrawInfo</a>
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDrawInfo.SetPixelShaderConstantBuffer(System.ReadOnlySpan{System.Byte})">
<summary>
Sets the constant buffer for this transform's pixel shader.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDrawInfo.SetPixelShader(PaintDotNet.Direct2D1.ShaderID@,PaintDotNet.Direct2D1.PixelOptions)">
<summary>
Set the shader instructions for this transform.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IDrawInfo.SetResourceTexture(System.Int32,PaintDotNet.Direct2D1.IResourceTexture)">
<summary>
Sets the resource texture corresponding to the given shader texture index.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IDrawingStateBlock">
<summary>
Represents the drawing state of a render target: the antialiasing mode, transform, tags, and text-rendering options.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_1/nn-d2d1_1-id2d1drawingstateblock1">ID2D1DrawingStateBlock1</a>
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IDrawTransform">
<summary>
A specialized implementation of the Shantzis calculations to a transform implemented on the GPU. These calculations
are described in the paper <a href="https://dl.acm.org/citation.cfm?id=192191">A model for efficient and flexible image computing</a>.<br/>
<br/>
The information required to specify a "Pass" in the rendering algorithm on a Pixel Shader is passed to the
implementation through the SetDrawInfo method.<br/>
<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effectauthor/nn-d2d1effectauthor-id2d1drawtransform">ID2D1DrawTransform</a>
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IEllipseGeometry">
<summary>
Represents an ellipse.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/nn-d2d1-id2d1ellipsegeometry">ID2D1EllipseGeometry</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IFactoryProperty.Factory">
<summary>
Retrieves the factory associated with this resource.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IGdiMetafile">
<summary>
A Direct2D resource that wraps a WMF, EMF, or EMF+ metafile.<br/>
See <a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_1/nn-d2d1_1-id2d1gdimetafile">ID2D1GdiMetafile</a>
and <a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_3/nn-d2d1_3-id2d1gdimetafile1">ID2D1GdiMetafile1</a>
for more information.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IGdiMetafile.Bounds">
<summary>
Gets the bounds of the metafile, in device-independent pixels (DIPs), as reported in the metafile’s header.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IGdiMetafile.SourceBounds">
<summary>
Gets the bounds of the metafile in source space in DIPs. This corresponds to the frame rect in an EMF/EMF+.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IGdiMetafile.Dpi">
<summary>
Gets the DPI reported by the metafile.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IGdiMetafile.Stream(PaintDotNet.Direct2D1.IGdiMetafileSink)">
<summary>
Streams the contents of the command to the given metafile sink.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IGdiMetafileSink">
<summary>
A developer implemented interface that allows a metafile to be replayed.<br/>
See <a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_1/nn-d2d1_1-id2d1gdimetafilesink">ID2D1GdiMetafileSink</a>
and <a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_3/nn-d2d1_3-id2d1gdimetafilesink1">ID2D1GdiMetafileSink1</a>
for more information.
</summary>
<remarks>
To implement this, create a class that derives from <see cref="T:PaintDotNet.ComponentModel.RefTrackedObject"/> and that also derives from this interface.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IGdiMetafileSink.ProcessRecord(PaintDotNet.Gdi.GdiMetafileRecordType,System.ReadOnlySpan{System.Byte},System.UInt32)">
<summary>
Provides access to metafile records, including their type, data, and flags.
</summary>
<param name="recordType">
The type of metafile record being processed.
Please see See <a href="https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-emf/91c257d7-c39d-4a36-9b1f-63e3f73d30ca">MS-EMF</a>
and <a href="https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-emfplus/5f92c789-64f2-46b5-9ed4-15a9bb0946c6">MS_EMFPLUS</a>
for a list of record types.
</param>
<param name="recordData">The data contained in this record.</param>
<param name="flags">The set of flags set for this record.</param>
<remarks>
For details on the EMF and EMF+ formats, please see Microsoft technical documents
<a href="https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-emf/91c257d7-c39d-4a36-9b1f-63e3f73d30ca">MS-EMF</a>
and <a href="https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-emfplus/5f92c789-64f2-46b5-9ed4-15a9bb0946c6">MS-EMFPLUS</a>
</remarks>
</member>
<member name="T:PaintDotNet.Direct2D1.IGeometry">
<summary>
Represents a geometry resource and defines a set of helper methods for manipulating and measuring geometric shapes. Interfaces that inherit from IGeometry define specific shapes.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1/nn-d2d1-id2d1geometry">ID2D1Geometry</a>
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IGeometry.CompareWithGeometry(PaintDotNet.Direct2D1.IGeometry,System.Nullable{PaintDotNet.Rendering.Matrix3x2Float}@,System.Nullable{System.Single})">
<summary>
Describes the intersection between this geometry and the specified geometry. The comparison is performed by using the specified flattening tolerance.
</summary>
<param name="inputGeometry">The geometry to test.</param>
<param name="inputGeometryTransform">The transform to apply to inputGeometry, or null for no transform.</param>
<param name="flatteningTolerance">
The maximum error allowed when constructing a polygonal approximation of the geometry, or null to use FlatteningTolerance.Default.
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.
</param>
<returns>A value describing how this geometry is related to inputGeometry.</returns>
<remarks>
When interpreting the returned relation value, it is important to remember that a result of GeometryRelation.IsContained
means that this geometry is contained inside inputGeometry, not that this geometry contains inputGeometry.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IGeometry.ComputeArea(System.Nullable{PaintDotNet.Rendering.Matrix3x2Float}@,System.Nullable{System.Single})">
<summary>
Computes the area of the geometry after it has been transformed by the specified matrix and flattened using the specified tolerance.
</summary>
<param name="worldTransform">The transform to apply to this geometry before computing its area, or null for no transform.</param>
<param name="flatteningTolerance">
The maximum error allowed when constructing a polygonal approximation of the geometry, or null to use FlatteningTolerance.Default.
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.
</param>
<returns>The area of the transformed, flattened version of this geometry.</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.IGeometry.ComputeLength(System.Nullable{PaintDotNet.Rendering.Matrix3x2Float}@,System.Nullable{System.Single})">
<summary>
Calculates the length of the geometry as though each segment were unrolled into a line.
</summary>
<param name="worldTransform">The transform to apply to the geometry before calculating its length, or null for no transform.</param>
<param name="flatteningTolerance">
The maximum error allowed when constructing a polygonal approximation of the geometry, or null to use FlatteningTolerance.Default.
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.
</param>
<returns>Returns the length of the geometry. For closed geometries, the length includes an implicit closing segment.</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.IGeometry.ComputePointAtLength(System.Single,System.Nullable{PaintDotNet.Rendering.Matrix3x2Float}@,System.Nullable{System.Single},PaintDotNet.Rendering.Vector2Float@)">
<summary>
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.
</summary>
<param name="length">
The distance along the geometry of the point and tangent to find. If this distance is less than 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.</param>
<param name="worldTransform">The transform to apply to the geometry before calculating the specified point and tangent, or null for no transform.</param>
<param name="flatteningTolerance">
The maximum error allowed when constructing a polygonal approximation of the geometry, or null to use FlatteningTolerance.Default.
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.
</param>
<param name="unitTangentVector">
On return, contains 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.
</param>
<returns>Returns the location at the specified distance along the geometry. If the geometry is empty, this point contains NaN as its x and y values.</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.IGeometry.FillContainsPoint(PaintDotNet.Rendering.Point2Float,System.Nullable{PaintDotNet.Rendering.Matrix3x2Float}@,System.Nullable{System.Single})">
<summary>
Indicates whether the area filled by the geometry would contain the specified point given the specified flattening tolerance.
</summary>
<param name="point">The point to test.</param>
<param name="worldTransform">The transform to apply to the geometry prior to testing for containment, or null for no transform.</param>
<param name="flatteningTolerance">
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. If this value is null,
FlatteningTolerance.Default will be used.
</param>
<returns>true if the area filled by the geometry contains point; otherwise, false.</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.IGeometry.GetBounds(System.Nullable{PaintDotNet.Rendering.Matrix3x2Float}@)">
<summary>
Retrieves the bounds of the geometry.
</summary>
<param name="worldTransform">The transform to apply to this geometry before calculating its bounds, or null for no transform.</param>
<returns>The bounds of the geometry. This method will return RectFloat.Empty if the geometry is empty.</returns>
<remarks>
This method does not include hollow regions. Use GetWidenedBounds() with a zero strokeWidth if you need to include hollow regions.
</remarks>
(Regarding the remarks, see also: PaintDotNet.UI.Media.Geometry.get_Bounds)
</member>
<member name="M:PaintDotNet.Direct2D1.IGeometry.GetWidenedBounds(System.Single,PaintDotNet.Direct2D1.IStrokeStyle,System.Nullable{PaintDotNet.Rendering.Matrix3x2Float}@,System.Nullable{System.Single})">
<summary>
Gets the bounds of the geometry after it has been widened by the specified stroke width and style and transformed by the specified matrix.
</summary>
<param name="strokeWidth">The amount by which to widen the geometry by stroking its outline.</param>
<param name="strokeStyle">The style of the stroke that widens the geometry. May be null.</param>
<param name="worldTransform">A transform to apply to the geometry after the geometry is transformed and after the geometry has been stroked, or null for no transform.</param>
<param name="flatteningTolerance">
The maximum error allowed when constructing a polygonal approximation of the geometry, or null to use FlatteningTolerance.Default.
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.
</param>
<returns>The bounds of the widened geometry.</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.IGeometry.StrokeContainsPoint(PaintDotNet.Rendering.Point2Float,System.Single,PaintDotNet.Direct2D1.IStrokeStyle,System.Nullable{PaintDotNet.Rendering.Matrix3x2Float}@,System.Nullable{System.Single})">
<summary>
Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform.
</summary>
<param name="point">The point to test for containment.</param>
<param name="strokeWidth">The thickness of the stroke to apply.</param>
<param name="strokeStyle">The style of stroke to apply. May be null.</param>
<param name="worldTransform">The transform to apply to the stroked geometry, or null for no transform.</param>
<param name="flatteningTolerance">
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. If this value is null,
FlatteningTolerance.Default will be used.
</param>
<returns>true if the geometry's stroke contains the specified point; otherwise, false.</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.IGeometry.CombineWithGeometry(PaintDotNet.Direct2D1.ISimplifiedGeometrySink,PaintDotNet.Direct2D1.IGeometry,PaintDotNet.Rendering.GeometryCombineMode,System.Nullable{PaintDotNet.Rendering.Matrix3x2Float}@,System.Nullable{System.Single})">
<summary>
Combines this geometry with the specified geometry and writes the result to an ISimplifiedGeometrySink.
</summary>
<param name="geometrySink">Receives the result of the combine operation.</param>
<param name="inputGeometry">The geometry to combine with this instance.</param>
<param name="combineMode">The type of combine operation to perform.</param>
<param name="inputGeometryTransform">The transform to apply to inputGeometry before combining, or null for no transform.</param>
<param name="flatteningTolerance">
The maximum error allowed when constructing a polygonal approximation of the geometry, or null to use FlatteningTolerance.Default.
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.
</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IGeometry.Outline(PaintDotNet.Direct2D1.ISimplifiedGeometrySink,System.Nullable{PaintDotNet.Rendering.Matrix3x2Float}@,System.Nullable{System.Single})">
<summary>
Computes the outline of the geometry and writes the result to an ISimplifiedGeometrySink.
</summary>
<param name="geometrySink">The ISimplifiedGeometrySink to which the geometry's transformed outline is appended.</param>
<param name="worldTransform">The transform to apply to the geometry outline, or null for no transform.</param>
<param name="flatteningTolerance">
The maximum error allowed when constructing a polygonal approximation of the geometry, or null to use FlatteningTolerance.Default.
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.
</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IGeometry.Simplify(PaintDotNet.Direct2D1.ISimplifiedGeometrySink,PaintDotNet.Direct2D1.GeometrySimplificationOption,System.Nullable{PaintDotNet.Rendering.Matrix3x2Float}@,System.Nullable{System.Single})">
<summary>
Creates a simplified version of the geometry that contains only lines and (optionally) cubic Bezier curves and writes the result to an ISimplifiedGeometrySink.
</summary>
<param name="geometrySink">The ISimplifiedGeometrySink to which the simplified geometry is appended.</param>
<param name="simplificationOption">A value that specifies whether the simplified geometry should contain curves.</param>
<param name="worldTransform">The transform to apply to the simplified geometry, or null for no transform.</param>
<param name="flatteningTolerance">
The maximum error allowed when constructing a polygonal approximation of the geometry, or null to use FlatteningTolerance.Default.
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.
</param>
<remarks>
Other graphics frameworks may call this "flattening" (e.g. Windows Presentation Foundation).
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IGeometry.Tessellate(PaintDotNet.Direct2D1.ITessellationSink,System.Nullable{PaintDotNet.Rendering.Matrix3x2Float}@,System.Nullable{System.Single})">
<summary>
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.
</summary>
<param name="tessellationSink">The ITessellationSink to which the tesselation is appended to.</param>
<param name="worldTransform">The transform to apply to this geometry, or null for no transform.</param>
<param name="flatteningTolerance">
The maximum error allowed when constructing a polygonal approximation of the geometry, or null to use FlatteningTolerance.Default.
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.
</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IGeometry.Widen(PaintDotNet.Direct2D1.ISimplifiedGeometrySink,System.Single,PaintDotNet.Direct2D1.IStrokeStyle,System.Nullable{PaintDotNet.Rendering.Matrix3x2Float}@,System.Nullable{System.Single})">
<summary>
Widens the geometry by the specified stroke and writes the result to an ISimplifiedGeometrySink after it has been transformed by
the specified matrix and flattened using the specified tolerance.
</summary>
<param name="geometrySink">The ISimplifiedGeometrySink to which the widened geometry is appended.</param>
<param name="strokeWidth">The amount by which to widen the geometry.</param>
<param name="strokeStyle">The style of stroke to apply to the geometry, or null.</param>
<param name="worldTransform">The transform to apply to the geometry after widening it, or null for no transform.</param>
<param name="flatteningTolerance">
The maximum error allowed when constructing a polygonal approximation of the geometry, or null to use FlatteningTolerance.Default.
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.
</param>
</member>
<member name="T:PaintDotNet.Direct2D1.IGeometryGroup">
<summary>
Represents a composite geometry, composed of other <see cref="T:PaintDotNet.Direct2D1.IGeometry"/> objects.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/nn-d2d1-id2d1geometrygroup">ID2D1GeometryGroup</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IGeometryGroup.FillMode">
<summary>
Indicates how the intersecting areas of the geometries contained in this geometry group are combined.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IGeometryGroup.SourceGeometries">
<summary>
Retrieves the geometries in the geometry group.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IGeometryRealization">
<summary>
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.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_2/nn-d2d1_2-id2d1geometryrealization">ID2D1GeometryRealization</a>
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IGeometrySink">
<summary>
Describes a geometric path that can contain lines, arcs, cubic Bezier curves, and quadratic Bezier curves.<br/>
See <a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1/nn-d2d1-id2d1geometrysink">ID2D1GeometrySink</a>
for more information.
</summary>
<remarks>
An implementation of this interface is provided when using <see cref="M:PaintDotNet.Direct2D1.IPathGeometry.Open"/>.<br/>
<br/>
To implement this yourself, such as to capture the data provided from various methods on <see cref="T:PaintDotNet.Direct2D1.IGeometry"/>, create
a class that derives from <see cref="T:PaintDotNet.ComponentModel.RefTrackedObject"/> and that also derives from this interface.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.IGeometrySink.AddArc(PaintDotNet.Direct2D1.ArcSegment@)">
<summary>
Adds a single arc to the path geometry.
</summary>
<param name="arc">The arc segment to add to the figure.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IGeometrySink.AddBezier(PaintDotNet.Direct2D1.BezierSegment@)">
<summary>
Creates a cubic Bezier curve between the current point and the specified end point.
</summary>
<param name="bezier">A structure that describes the control points and end point of the Bezier curve to add.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IGeometrySink.AddLine(PaintDotNet.Rendering.Point2Float)">
<summary>
Creates a line segment between the current point and the specified end point and adds it to the geometry sink.
</summary>
<param name="point">The end point of the line to draw.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IGeometrySink.AddQuadraticBezier(PaintDotNet.Direct2D1.QuadraticBezierSegment)">
<summary>
Creates a quadratic Bezier curve between the current point and the specified end point.
</summary>
<param name="bezier">A structure that describes the control point and the end point of the quadratic Bezier curve to add.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.IGeometrySink.AddQuadraticBeziers(System.ReadOnlySpan{PaintDotNet.Direct2D1.QuadraticBezierSegment})">
<summary>
Adds a sequence of quadratic Bezier segments as an array in a single call.
</summary>
<param name="beziers">An array of a sequence of quadratic Bezier segments.</param>
</member>
<member name="T:PaintDotNet.Direct2D1.IGradientBrush">
<summary>
The base interface for <see cref="T:PaintDotNet.Direct2D1.ILinearGradientBrush"/> and <see cref="T:PaintDotNet.Direct2D1.IRadialGradientBrush"/>.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IGradientBrush.GradientStopCollection">
<summary>
Retrieves the <see cref="T:PaintDotNet.Direct2D1.IGradientStopCollection"/> associated with this gradient brush.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IGradientMesh">
<summary>
Represents a device-dependent representation of a gradient mesh composed of patches.<br/>
Use IDeviceContext.CreateGradientMesh() to create an instance of an IGradientMesh.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_3/nn-d2d1_3-id2d1gradientmesh">ID2D1GradientMesh</a>
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IGradientStopCollection">
<summary>
Represents a collection of <see cref="T:PaintDotNet.Direct2D1.GradientStop"/> objects for linear and radial gradient brushes.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/nn-d2d1-id2d1gradientstopcollection">ID2D1GradientStopCollection</a><br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_1/nn-d2d1_1-id2d1gradientstopcollection1">ID2D1GradientStopCollection1</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IGradientStopCollection.ColorInterpolationGamma">
<summary>
Indicates the gamma space in which the gradient stops are interpolated.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IGradientStopCollection.ExtendMode">
<summary>
Indicates the behavior of the gradient outside the normalized gradient range.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IGradientStopCollection.PreInterpolationSpace">
<summary>
Gets the color space of the input colors as well as the space in which gradient stops are interpolated.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IGradientStopCollection.PostInterpolationSpace">
<summary>
Gets the color space after interpolation has occurred.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IGradientStopCollection.BufferPrecision">
<summary>
Gets the precision of the gradient buffer.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IGradientStopCollection.ColorInterpolationMode">
<summary>
Retrieves the color interpolation mode that the gradient stop collection uses.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IGradientStopCollection.GradientStops">
<summary>
Retrieves the original gradient stop values used when creating the collection.
</summary>
<remarks>
This corresponds to a call to ID2D1GradientStopCollection::GetGradientStops().
</remarks>
</member>
<member name="P:PaintDotNet.Direct2D1.IGradientStopCollection.GammaTransformedGradientStops">
<summary>
Retrieves the gradient stop values transformed into the color space specified by the ColorInterpolationGamma value.
If the value is <see cref="F:PaintDotNet.Direct2D1.GradientStopGamma.Srgb"/>, or if the CreateGradientStopCollection() overload which does not take a
gamma parameter was used, then these will be the same as the values used when creating the collection.
</summary>
<remarks>
This corresponds to a call to ID2D1GradientStopCollection1::GetGradientStops1().
</remarks>
</member>
<member name="T:PaintDotNet.Direct2D1.IHwndDeviceContext">
<summary>
Renders drawing instructions to a window.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/nn-d2d1-id2d1hwndrendertarget">ID2D1HwndRenderTarget</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IHwndDeviceContext.Hwnd">
<summary>
Returns the HWND associated with this render target.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IHwndDeviceContext.CheckWindowState">
<summary>
Indicates whether the HWND associated with this render target is occluded.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IHwndDeviceContext.Resize(PaintDotNet.Rendering.SizeInt32)">
<summary>
Changes the size of the render target to the specified pixel size.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IImageBrush">
<summary>
Represents a brush based on an <see cref="T:PaintDotNet.Direct2D1.IDeviceImage"/>.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_1/nn-d2d1_1-id2d1imagebrush">ID2D1ImageBrush</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IImageBrush.ExtendModeX">
<summary>
Gets or sets the extend mode of the image brush on the x-axis.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IImageBrush.ExtendModeY">
<summary>
Gets or sets the extend mode of the image brush on the y-axis of the image.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IImageBrush.InterpolationMode">
<summary>
Gets or sets the interpolation mode of the image brush.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IImageBrush.SourceRectangle">
<summary>
Gets or sets the rectangle that will be used as the bounds of the image when drawn as an image brush.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IImageBrush.GetImage">
<summary>
Gets the image associated with the image brush.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IImageBrush.SetImage(PaintDotNet.Direct2D1.IDeviceImage)">
<summary>
Sets the image associated with the provided image brush.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IImageSource">
<summary>
Represents a producer of pixels that can fill an arbitrary 2D plane.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_3/nn-d2d1_3-id2d1imagesource">ID2D1ImageSource</a>
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IImageSource.OfferResources">
<summary>
Allows the operating system to free the video memory of resources by discarding their content.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IImageSource.TryReclaimResources">
<summary>
Restores access to resources that were previously offered by calling OfferResources.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IImageSourceFromBitmap">
<summary>
Produces 2D pixel data that has been sourced from an <see cref="T:PaintDotNet.Imaging.IBitmapSource"/>.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IImageSourceFromBitmap.Source">
<summary>
Retrieves the underlying bitmap image source.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IImageSourceFromBitmap.EnsureCached(PaintDotNet.Rendering.RectInt32)">
<summary>
Ensures that a specified region of the image source cache is populated.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IImageSourceFromBitmap.TrimCache(System.Nullable{PaintDotNet.Rendering.RectInt32}@)">
<summary>
Trims the populated regions of the image source cache to just the specified rectangle.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ILinearGradientBrush">
<summary>
Paints an area with a linear gradient.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/nn-d2d1-id2d1lineargradientbrush">ID2D1LinearGradientBrush</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ILinearGradientBrush.StartPoint">
<summary>
Gets or sets the starting coordinates of the linear gradient in the brush's coordinate space.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ILinearGradientBrush.EndPoint">
<summary>
Gets or sets the ending coordinates of the linear gradient in the brush's coordinate space.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ILookupTable3D">
<summary>
A container for 3D lookup table data that can be passed to the LookupTable3D effect.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_3/nn-d2d1_3-id2d1lookuptable3d">ID2D1LookupTable3D</a>
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ILookupTable3DFactory">
<summary>
Serves as a base interface for <see cref="T:PaintDotNet.Direct2D1.IDeviceContext"/> and <see cref="T:PaintDotNet.Direct2D1.IDeviceEffectContext"/> to provide
the <see cref="M:PaintDotNet.Direct2D1.ILookupTable3DFactory.CreateLookupTable3D(PaintDotNet.Direct2D1.BufferPrecision,System.Int32,System.Int32,System.Int32,PaintDotNet.ExtentPtr{System.Byte},System.UInt32,System.UInt32)"/> method.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ILookupTable3DFactory.CreateLookupTable3D(PaintDotNet.Direct2D1.BufferPrecision,System.Int32,System.Int32,System.Int32,PaintDotNet.ExtentPtr{System.Byte},System.UInt32,System.UInt32)">
<summary>
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.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_3/nf-d2d1_3-id2d1devicecontext2-createlookuptable3d">ID2D1DeviceContext2::CreateLookupTable3D()</a><br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1effectauthor_1/nf-d2d1effectauthor_1-id2d1effectcontext1-createlookuptable3d">ID2D1EffectContext1::CreateLookupTable3D()</a>
</summary>
<param name="precision">Precision of the input lookup table data.</param>
<param name="extentX">The number of elements in the X dimension, which corresponds to the blue channel.</param>
<param name="extentY">The number of elements, or rows, in the Y dimension, which corresponds to the green channel.</param>
<param name="extentZ">The number of elements, or planes, in the Z dimension, which corresponds to the red channel.</param>
<param name="data">Buffer holding the lookup table data. This total byte size of the data buffer must be appropriate for the given precision and extents.</param>
<param name="rowStride">The number of bytes from one row (X dimension) of LUT data to the next.</param>
<param name="planeStride">The number of bytes from one LUT data plane (X and Y dimensions) to the next.</param>
<remarks>
The maximum extent in any direction is 256, which means that a 256x256x256 table using 32-bits per component will consume 64MB.
Because lookup uses linear interpolation, much smaller tables will usually give good results.<br/>
</remarks>
</member>
<member name="T:PaintDotNet.Direct2D1.ImageBrushProperties">
<summary>
Describes image brush features.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_1/ns-d2d1_1-d2d1_image_brush_properties">D2D1_IMAGE_BRUSH_PROPERTIES</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ImageBrushProperties.SourceRectangle">
<summary>
The source rectangle in the image space from which the image will be tiled or interpolated.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ImageBrushProperties.ExtendModeX">
<summary>
The extend mode in the image x-axis.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ImageBrushProperties.ExtendModeY">
<summary>
The extend mode in the image y-axis.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ImageBrushProperties.InterpolationMode">
<summary>
The interpolation mode to use when scaling the image brush.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ImageSourceLoadingOptions">
<summary>
Controls option flags for a new <see cref="T:PaintDotNet.Direct2D1.IImageSource"/> when it is created.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_3/ne-d2d1_3-d2d1_image_source_loading_options">D2D1_IMAGE_SOURCE_LOADING_OPTIONS</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ImageSourceLoadingOptions.ReleaseSource">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ImageSourceLoadingOptions.CacheOnDemand">
<summary>
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 the ReleaseSource option.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.InkBezierSegment">
<summary>
Represents a Bezier segment to be used in the creation of an IInk object. This structure differs from BezierSegmentFloat
in that it is composed of InkPoints, which contain a radius in addition to x- and y-coordinates.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_3/ns-d2d1_3-d2d1_ink_bezier_segment">D2D1_INK_BEZIER_SEGMENT</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.InkBezierSegment.Point1">
<summary>
The first control point for the Bezier segment.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.InkBezierSegment.Point2">
<summary>
The second control point for the Bezier segment.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.InkBezierSegment.Point3">
<summary>
The end point for the Bezier segment.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.InkNibShape">
<summary>
Specifies the appearance of the ink nib (pen tip) as part of an InkStyleProperties structure.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_3/ne-d2d1_3-d2d1_ink_nib_shape">D2D1_INK_NIB_SHAPE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.InkNibShape.Round">
<summary>
The pen tip is circular.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.InkNibShape.Square">
<summary>
The pen tip is square.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.InkPoint">
<summary>
Represents a point, radius pair that makes up part of a InkBezierSegment.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_3/ns-d2d1_3-d2d1_ink_point">D2D1_INK_POINT</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.InkPoint.X">
<summary>
The x-coordinate of the point.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.InkPoint.Y">
<summary>
The y-coordinate of the point.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.InkPoint.Radius">
<summary>
The radius of this point. Corresponds to the width of the ink stroke at this point in the stroke.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.InkStyleProperties">
<summary>
Defines the general pen tip shape and the transform used in an <see cref="T:PaintDotNet.Direct2D1.IDeviceInkStyle"/> object.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_3/ns-d2d1_3-d2d1_ink_style_properties">D2D1_INK_STYLE_PROPERTIES</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.InkStyleProperties.NibShape">
<summary>
The pre-transform shape of the nib (pen tip) used to draw a given ink object.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.InkStyleProperties.NibTransform">
<summary>
The transform applied to the nib. Note that the translation components of the
transform matrix are ignored for the purposes of rendering.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.InputDescription">
<summary>
Describes the options that transforms may set on input textures.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1effectauthor/ns-d2d1effectauthor-d2d1_input_description">D2D1_INPUT_DESCRIPTION</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.InputDescription.Filter">
<summary>
The type of filter to apply to the input texture.
</summary>
<remarks>
The most common choice is <see cref="F:PaintDotNet.Direct2D1.TextureFilter.MinMagMipLinear"/> or <see cref="F:PaintDotNet.Direct2D1.TextureFilter.MinMagMipPoint"/>.
</remarks>
</member>
<member name="P:PaintDotNet.Direct2D1.InputDescription.LevelOfDetailCount">
<summary>
The mip level to retrieve from the upstream transform, if specified.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.InterpolationMode">
<summary>
This is used to specify the quality of image scaling with <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.DrawImage(PaintDotNet.Direct2D1.IDeviceImage,System.Nullable{PaintDotNet.Rendering.Point2Float},System.Nullable{PaintDotNet.Rendering.RectFloat}@,PaintDotNet.Direct2D1.InterpolationMode,PaintDotNet.Direct2D1.CompositeMode)"/>.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.InterpolationMode.NearestNeighbor">
<summary>
Samples the nearest single point and uses that. This mode uses less processing time, but outputs the lowest quality image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.InterpolationMode.Linear">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.InterpolationMode.Cubic">
<summary>
Uses a 16 sample cubic kernel for interpolation. This mode uses the most processing time, but outputs a higher quality image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.InterpolationMode.MultisampleLinear">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.InterpolationMode.Anisotropic">
<summary>
Uses anisotropic filtering to sample a pattern according to the transformed shape of the bitmap.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.InterpolationMode.HighQualityCubic">
<summary>
Uses a variable size high quality cubic kernel to perform a pre-downscale of the image if downscaling is involved in the transform matrix. Then uses the cubic interpolation mode for the final output.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.InterpolationModeDefinition">
<summary>
Defines the standard constant values used to specify interpolation modes.
All Direct2D InterpolationMode enums (e.g. <see cref="T:PaintDotNet.Direct2D1.AffineTransform2DInterpolationMode"/>) use these values.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.InterpolationModeDefinition.NearestNeighbor">
<summary>
Samples the nearest single point and uses that. This mode uses less processing time, but outputs the lowest quality image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.InterpolationModeDefinition.Linear">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.InterpolationModeDefinition.Cubic">
<summary>
Uses a 16 sample cubic kernel for interpolation. This mode uses the most processing time, but outputs a higher quality image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.InterpolationModeDefinition.MultisampleLinear">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.InterpolationModeDefinition.Anisotropic">
<summary>
Uses anisotropic filtering to sample a pattern according to the transformed shape of the bitmap.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.InterpolationModeDefinition.HighQualityCubic">
<summary>
Uses a variable size high quality cubic kernel to perform a pre-downscale of the image if downscaling is involved in the transform matrix. Then uses the cubic interpolation mode for the final output.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.InterpolationModeDefinition.Fant">
<summary>
Uses the WIC Fant interpolation, the same as the IWICBitmapScaler interface. Doesn't generate a mipmap.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.InterpolationModeDefinition.MipmapLinear">
<summary>
Generates mipmap chain in system memory using bilinear interpolation. For each mipmap the effect scales to the nearest multiple of 0.5 using bilinear interpolation and then scales the remaining amount using linear interpolation.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IOffsetTransform">
<summary>
Instructs the effect-rendering system to offset an input bitmap without inserting a rendering pass.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effectauthor/nn-d2d1effectauthor-id2d1offsettransform">ID2D1OffsetTransform</a>
</summary>
<remarks>
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.
</remarks>
</member>
<member name="P:PaintDotNet.Direct2D1.IOffsetTransform.Offset">
<summary>
Gets the offset currently in the offset transform.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IPathGeometry">
<summary>
Represents a complex shape that may be composed of arcs, curves, and lines.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_1/nn-d2d1_1-id2d1pathgeometry1">ID2D1PathGeometry1</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IPathGeometry.FigureCount">
<summary>
Retrieves the number of figures in the path geometry.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IPathGeometry.SegmentCount">
<summary>
Retrieves the number of segments in the path geometry.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IPathGeometry.Open">
<summary>
Retrieves the geometry sink that is used to populate the path geometry with figures and segments.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IPathGeometry.Stream(PaintDotNet.Direct2D1.IGeometrySink)">
<summary>
Copies the contents of the path geometry to the specified <see cref="T:PaintDotNet.Direct2D1.IGeometrySink"/>.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IPathGeometry.ComputePointAndSegmentAtLength(System.Single,System.Int32,System.Nullable{PaintDotNet.Rendering.Matrix3x2Float}@,System.Nullable{System.Single})">
<summary>
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.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IRadialGradientBrush">
<summary>
Paints an area with a radial gradient.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/nn-d2d1-id2d1radialgradientbrush">ID2D1RadialGradientBrush</a>
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IRectangleGeometry">
<summary>
Describes a two-dimensional rectangle.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/nn-d2d1-id2d1rectanglegeometry">ID2D1RectangleGeometry</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IRectangleGeometry.Rect">
<summary>
Retrieves the rectangle that describes the rectangle geometry's dimensions.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IRenderInfo">
<summary>
Describes the render information common to all of the various transform implementations.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effectauthor/nn-d2d1effectauthor-id2d1renderinfo">ID2D1RenderInfo</a>
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IRenderInfo.SetCached(System.Boolean)">
<summary>
Specifies that the output of the transform in which the render information is encapsulated is or is not cached.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IRenderInfo.SetInputDescription(System.Int32,PaintDotNet.Direct2D1.InputDescription)">
<summary>
Sets how a specific input to the transform should be handled by the renderer in terms of sampling.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IRenderInfo.SetInstructionCountHint(System.Int32)">
<summary>
Provides an estimated hint of shader execution cost to Direct2D.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IRenderInfo.SetOutputBuffer(PaintDotNet.Direct2D1.BufferPrecision,PaintDotNet.Direct2D1.ChannelDepth)">
<summary>
Allows a caller to control the output precision and channel-depth of the transform in which the render information is encapsulated.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IResourceTexture">
<summary>
Tracks a transform-created resource texture.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1effectauthor/nn-d2d1effectauthor-id2d1resourcetexture">ID2D1ResourceTexture</a>
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.IResourceTexture.Update(System.Int32,System.Nullable{PaintDotNet.Direct2D1.ResourceTextureExtents}@,PaintDotNet.ExtentPtr{System.Byte},PaintDotNet.Direct2D1.ResourceTextureStrides)">
<summary>
Updates the specific resource texture inside the specific range or box using the supplied data.
</summary>
<param name="dimensions">The number of dimensions in the resource texture. This must match the number used to load the texture.</param>
<param name="extents">The extents of the data to be updated, or null to update the whole texture.</param>
<param name="data">The data to be placed into the resource texture.</param>
<param name="dataStrides">The number of bytes between the start of rows (for 2D textures) and planes (for 3D textures).</param>
</member>
<member name="T:PaintDotNet.Direct2D1.IRoundedRectangleGeometry">
<summary>
Describes a rounded rectangle.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/nn-d2d1-id2d1roundedrectanglegeometry">ID2D1RoundedRectangleGeometry</a>
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ISimplifiedGeometrySink">
<summary>
Describes a geometric path that does not contain quadratic bezier curves or arcs.<br/>
See <a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1/nn-d2d1-id2d1simplifiedgeometrysink">ID2D1SimplifiedGeometrySink</a>
for more information.
</summary>
<remarks>
An implementation of this interface is provided when using <see cref="M:PaintDotNet.Direct2D1.IPathGeometry.Open"/>.<br/>
<br/>
To implement this yourself, such as to capture the data provided from various methods on <see cref="T:PaintDotNet.Direct2D1.IGeometry"/>,
create a class that derives from <see cref="T:PaintDotNet.ComponentModel.RefTrackedObject"/> and that also derives from this interface.<br/>
<br/>
For better performance, implement the <see cref="T:PaintDotNet.Direct2D1.IGeometrySink"/> interface, which derives from this interface.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.ISimplifiedGeometrySink.AddBeziers(System.ReadOnlySpan{PaintDotNet.Direct2D1.BezierSegment})">
<summary>
Creates a sequence of cubic Bezier curves and adds them to the geometry sink.
</summary>
<param name="beziers">
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 <see cref="M:PaintDotNet.Direct2D1.ISimplifiedGeometrySink.BeginFigure(PaintDotNet.Rendering.Point2Float,PaintDotNet.Direct2D1.FigureBegin)"/>) 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.
</param>
</member>
<member name="M:PaintDotNet.Direct2D1.ISimplifiedGeometrySink.AddLines(System.ReadOnlySpan{PaintDotNet.Rendering.Point2Float})">
<summary>
Creates a sequence of lines using the specified points and adds them to the geometry sink.
</summary>
<param name="points">
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
<see cref="M:PaintDotNet.Direct2D1.ISimplifiedGeometrySink.BeginFigure(PaintDotNet.Rendering.Point2Float,PaintDotNet.Direct2D1.FigureBegin)"/>) 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.
</param>
</member>
<member name="M:PaintDotNet.Direct2D1.ISimplifiedGeometrySink.BeginFigure(PaintDotNet.Rendering.Point2Float,PaintDotNet.Direct2D1.FigureBegin)">
<summary>
Starts a new figure at the specified point.
</summary>
<param name="startPoint">The point at which to begin the new figure.</param>
<param name="figureBegin">Whether the new figure should be hollow or filled.</param>
<remarks>
If this method is called while a figure is currently in progress, the interface is invalidated and
all future methods will fail.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.ISimplifiedGeometrySink.Close">
<summary>
Closes the geometry sink, indicates whether it is in an error state, and resets the sink's error state.
</summary>
<remarks>
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 <see cref="M:PaintDotNet.Direct2D1.ISimplifiedGeometrySink.EndFigure(PaintDotNet.Direct2D1.FigureEnd)"/>
call for each call to <see cref="M:PaintDotNet.Direct2D1.ISimplifiedGeometrySink.BeginFigure(PaintDotNet.Rendering.Point2Float,PaintDotNet.Direct2D1.FigureBegin)"/><br/>
<br/>
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.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.ISimplifiedGeometrySink.EndFigure(PaintDotNet.Direct2D1.FigureEnd)">
<summary>
Ends the current figure; optionally, closes it.
</summary>
<param name="figureEnd">
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 <see cref="M:PaintDotNet.Direct2D1.ISimplifiedGeometrySink.BeginFigure(PaintDotNet.Rendering.Point2Float,PaintDotNet.Direct2D1.FigureBegin)"/>.
</param>
</member>
<member name="M:PaintDotNet.Direct2D1.ISimplifiedGeometrySink.SetFillMode(PaintDotNet.Direct2D1.FillMode)">
<summary>
Specifies the method used to determine which points are inside the geometry described by this geometry
sink and which points are outside.
</summary>
<param name="fillMode">The method used to determine whether a given point is part of the geometry.</param>
<remarks>
The fill mode defaults to <see cref="F:PaintDotNet.Direct2D1.FillMode.Alternate"/>. To set the fill mode, call <see cref="M:PaintDotNet.Direct2D1.ISimplifiedGeometrySink.SetFillMode(PaintDotNet.Direct2D1.FillMode)"/>
before the first call to <see cref="M:PaintDotNet.Direct2D1.ISimplifiedGeometrySink.BeginFigure(PaintDotNet.Rendering.Point2Float,PaintDotNet.Direct2D1.FigureBegin)"/>. Not doing so will put the geometry sink into an error
state.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.ISimplifiedGeometrySink.SetSegmentOptions(PaintDotNet.Direct2D1.PathSegmentOptions)">
<summary>
Specifies stroke and join options to be applied to new segments added to the geometry sink.
</summary>
<param name="options">Stroke and join options to be applied to new segments added to the geometry sink.</param>
<remarks>
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.
</remarks>
</member>
<member name="T:PaintDotNet.Direct2D1.ISolidColorBrush">
<summary>
Paints an area with a solid color.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/nn-d2d1-id2d1solidcolorbrush">ID2D1SolidColorBrush</a>
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ISourceTransform">
<summary>
Represents a CPU-based rasterization stage in the transform pipeline graph.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effectauthor/nn-d2d1effectauthor-id2d1sourcetransform">ID2D1SourceTransform</a>
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ISourceTransform.SetRenderInfo(PaintDotNet.Direct2D1.IRenderInfo)">
<summary>
Sets the render information for the transform.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ISourceTransform.Draw(PaintDotNet.Direct2D1.IDeviceBitmap,PaintDotNet.Rendering.RectInt32,PaintDotNet.Rendering.Point2Int32)">
<summary>
Draws the transform to the graphics processing unit (GPU)–based Direct2D pipeline.
</summary>
<param name="target">The target to which the transform should be written.</param>
<param name="drawRect">The area within the source from which the image should be drawn.</param>
<param name="targetOrigin">The origin within the target bitmap to which the source data should be drawn.</param>
</member>
<member name="T:PaintDotNet.Direct2D1.ISpriteBatch">
<summary>
Represents a single group of sprites with their associated drawing properties.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_3/nn-d2d1_3-id2d1spritebatch">ID2D1SpriteBatch</a>
</summary>
<remarks>
Sprites are a way for apps to draw a large number of images very efficiently. They are commonly used to render
characters and backgrounds in 2D games, or to render particle systems such as smoke and flames. If your app has
performance demands and needs to draw hundreds or thousands of images every frame, then consider taking
advantage of sprite batches and the fine-grained control they offer, instead of the general-purpose DrawImage
method.
</remarks>
</member>
<member name="P:PaintDotNet.Direct2D1.ISpriteBatch.SpriteCount">
<summary>
Gets the number of sprites in this sprite batch.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ISpriteBatch.Clear">
<summary>
Removes all sprites from this sprite batch.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ISpriteBatch.AddSprites(System.Int32,System.ReadOnlySpan{PaintDotNet.Rendering.RectFloat},System.ReadOnlySpan{PaintDotNet.Rendering.RectInt32},System.ReadOnlySpan{PaintDotNet.Imaging.ColorRgba128Float},System.ReadOnlySpan{PaintDotNet.Rendering.Matrix3x2Float})">
<summary>
Adds the given sprites to the end of this sprite batch. You may use a 1-length span for any of the properties
to use the same value for each sprite. You may use a 0-length span (using the C# `default` keyword, or
ReadOnlySpan<T>.Empty) for sourceRectangles, colors, or transforms in order to use the default policy
associated with that property. This can reduce memory usage and increase performance.
</summary>
<param name="spriteCount">The number of sprites to be added.</param>
<param name="destinationRectangles">The destination rectangles specifying where to draw the sprites.</param>
<param name="sourceRectangles">
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 if RectInt32.LogicallyInfinite is used.
If this span is empty, Direct2D will use the entire source bitmap for all of the added sprites.
</param>
<param name="colors">
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 span is empty, then Direct2D will not change the
color of any of the added sprites.
</param>
<param name="transforms">
The transforms to apply to each sprite's destination recangle. Direct2D will not transform the destination
rectangle of any sprites that are assigned a null value. If this span is empty then Direct2D will not
transform the destination rectangle of any of the added sprites.
</param>
<remarks>
Always use an empty span 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).
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.ISpriteBatch.GetSprites(System.Int32,System.Span{PaintDotNet.Rendering.RectFloat},System.Span{PaintDotNet.Rendering.RectInt32},System.Span{PaintDotNet.Imaging.ColorRgba128Float},System.Span{PaintDotNet.Rendering.Matrix3x2Float})">
<summary>
Retrieves the specified subset of sprites from this sprite batch. For the best performance, use an empty Span
(using the C# default keyword, or Span<T>.Empty) for properties that you do not need to retrieve.
</summary>
<param name="startIndex">
The index of the first sprite in this sprite batch to retrieve.
</param>
<param name="destinationRectangles">
When this method returns, contains the destination rectangles for the retrieved sprites.
</param>
<param name="sourceRectangles">
When this method returns, contains the source rectangles for the retrieved sprites. RectInt32.LogicallyInfinite
is returned for any sprites that were not assigned a source rectangle.
</param>
<param name="colors">
When this method returns, contains the colors to be applied to the retrieved sprites.
The color { 1, 1, 1, 1 } (opaque white) is returned for any sprites that were not assigned a color.
</param>
<param name="transforms">
When this method returns, contains the transforms to be applied to the retrived sprites.
The identity matrix is returned for any sprites that were not assigned a transform.
</param>
</member>
<member name="M:PaintDotNet.Direct2D1.ISpriteBatch.SetSprites(System.Int32,System.Int32,System.ReadOnlySpan{PaintDotNet.Rendering.RectFloat},System.ReadOnlySpan{PaintDotNet.Rendering.RectInt32},System.ReadOnlySpan{PaintDotNet.Imaging.ColorRgba128Float},System.ReadOnlySpan{PaintDotNet.Rendering.Matrix3x2Float})">
<summary>
Updates the properties of the specified sprites in the sprite batch. Providing an empty span
for any property will leave that property unmodified for the sprites. Providing a 1-length
span for any property will use the same value for all of the sprites.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.IStrokeStyle">
<summary>
Describes the caps, miter limit, line join, and dash information for a stroke.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/nn-d2d1-id2d1strokestyle">ID2D1StrokeStyle1</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IStrokeStyle.DashCap">
<summary>
Gets a value that specifies how the ends of each dash are drawn.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IStrokeStyle.Dashes">
<summary>
Gets the dash pattern.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IStrokeStyle.DashOffset">
<summary>
Retrieves a value that specifies how far in the dash sequence the stroke will start.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IStrokeStyle.DashStyle">
<summary>
Gets a value that describes the stroke's dash pattern.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IStrokeStyle.EndCap">
<summary>
Retrieves the type of shape used at the end of a stroke.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IStrokeStyle.LineJoin">
<summary>
Retrieves the type of joint used at the vertices of a shape's outline.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IStrokeStyle.MiterLimit">
<summary>
Retrieves the limit on the ratio of the miter length to half the stroke's thickness.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IStrokeStyle.StartCap">
<summary>
Retrieves the type of shape used at the beginning of a stroke.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.IStrokeStyle.StrokeTransformType">
<summary>
Gets the stroke transform type.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ISvgAttribute">
<summary>
Interface describing an SVG attribute.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1svg/nn-d2d1svg-id2d1svgattribute">ID2D1SvgAttribute</a>
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgAttribute.Clone">
<summary>
Creates a clone of this attribute value. On creation, the cloned attribute is not set on any element.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgAttribute.GetElement">
<summary>
Returns the element on which this attribute is set. Returns null if the attribute is not set on any element.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ISvgDocument">
<summary>
Represents an SVG document.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1svg/nn-d2d1svg-id2d1svgdocument">ID2D1SvgDocument</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ISvgDocument.ViewportSize">
<summary>
Gets or sets the size of the initial viewport.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgDocument.GetRoot">
<summary>
Gets the root element of the document, or null if the document is empty.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgDocument.SetRoot(PaintDotNet.Direct2D1.ISvgElement)">
<summary>
Sets the root element of the document.The root element must be an svg element. If the element already exists within an svg
tree, it is first removed.
</summary>
<param name="root">The new root element of the document.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgDocument.FindElementByID(System.String)">
<summary>
Gets the SVG element with the specified ID.
</summary>
<param name="id">ID of the element to retrieve.</param>
<returns>The element matching the specified ID. If the element cannot be found, the returned element will be null.</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgDocument.Serialize(System.IO.Stream,PaintDotNet.Direct2D1.ISvgElement)">
<summary>
Serializes an element and its subtree to XML. The output XML is encoded as UTF-8.
</summary>
<param name="outputXmlStream">An output stream to contain the SVG XML subtree.</param>
<param name="subtree">The root of the subtree. If null, the entire document is serialized.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgDocument.Deserialize(System.IO.Stream)">
<summary>
Deserializes a subtree from the stream. The stream must have only one root element, but that root element need not be an 'svg'
element. The output element is not inserted into this document tree.
</summary>
<param name="inputXmlStream">An input stream containing the SVG XML subtree.</param>
<returns>The root of the subtree.</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgDocument.CreatePaint(PaintDotNet.Direct2D1.SvgPaintType,PaintDotNet.Imaging.ColorRgba128Float,System.String)">
<summary>
Creates a paint object which can be used to set the 'fill' or 'stroke' properties.
</summary>
<param name="paintType">Specifies the type of paint object to create.</param>
<param name="color">The color used if the paintType is PaintType.Color.</param>
<param name="id">The element id which acts as the paint server. This id is used if the paint type is SvgPaintType.Uri.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgDocument.CreatePathData(System.ReadOnlySpan{System.Single},System.ReadOnlySpan{PaintDotNet.Direct2D1.SvgPathCommand})">
<summary>
Creates a path data object which can be used to set a 'd' attribute on a 'path' element.
</summary>
<param name="segmentData">An array of segment data.</param>
<param name="commands">An array of path commands.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgDocument.CreatePointCollection(System.ReadOnlySpan{PaintDotNet.Rendering.Point2Float})">
<summary>
Creates a points object which can be used to set a points attribute on a polygon or polyline element.
</summary>
<param name="points">The points in the point collection.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgDocument.CreateStrokeDashArray(System.ReadOnlySpan{PaintDotNet.Direct2D1.SvgLength})">
<summary>
Creates a dash array object which can be used to set the stroke-dasharray property.
</summary>
<param name="dashes">An array of dashes.</param>
</member>
<member name="T:PaintDotNet.Direct2D1.ISvgElement">
<summary>
Interface for all SVG elements.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1svg/nn-d2d1svg-id2d1svgelement">ID2D1SvgElement</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ISvgElement.IsTextContent">
<summary>
Returns a boolean indicating whether this element represents text content, e.g. the content of a 'title' or 'desc' element.
Text content does not have a tag name.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ISvgElement.HasChildren">
<summary>
Returns a boolean indicating whether this element has children.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ISvgElement.SpecifiedAttributeCount">
<summary>
Returns the number of specified attributes on this element. Attributes are only considered specified if
they are explicitly set on the element or present within an inline style. Properties that receive their
value through CSS inheritance are not considered specified. An attribute can become specified if it is
set through a method call. It can become unspecified if it is removed via RemoveAttribute.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ISvgElement.TextValue">
<summary>
Gets or sets the value of a text content element.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ISvgElement.TagName">
<summary>
Gets the tag name.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgElement.GetDocument">
<summary>
Gets the document that contains this element.
</summary>
<returns>
The document that contains this element. This will be null if the element has been removed from the tree.
</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgElement.GetParent">
<summary>
Gets the parent element.
</summary>
<returns>The parent element, or null if this element has no parent.</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgElement.GetFirstChild">
<summary>
Gets the first child of this element.
</summary>
<returns>The first child of this element, or null if there are no child elements.</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgElement.GetLastChild">
<summary>
Gets the last child of this element.
</summary>
<returns>The last child of this element, or null if there are no child elements.</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgElement.GetPreviousChild(PaintDotNet.Direct2D1.ISvgElement)">
<summary>
Gets the previous sibling of the referenceChild element.
</summary>
<param name="referenceChild">The referenceChild must be an immediate child of this element.</param>
<returns>Non-null if the referenceChild has a previous sibling. If the referenceChild is the first child, the return value is null.</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgElement.GetNextChild(PaintDotNet.Direct2D1.ISvgElement)">
<summary>
Gets the next sibling of the referenceChild element.
</summary>
<param name="referenceChild">The referenceChild must be an immediate child of this element.</param>
<returns>Non-null if the referenceChild has a next sibling. If the referenceChild is the last child, the return value is null.</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgElement.InsertChildBefore(PaintDotNet.Direct2D1.ISvgElement,PaintDotNet.Direct2D1.ISvgElement)">
<summary>
Inserts newChild as a child of this element, before the referenceChild element. If the newChild element already has a parent, it is removed
from this parent as part of the insertion.
</summary>
<param name="newChild">The element to be inserted.</param>
<param name="referenceChild">
The element that the child should be inserted before. If referenceChild is null, the newChild is placed as the last child. If referenceChild
is non-null, it must be an immediate child of this element.
</param>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgElement.AppendChild(PaintDotNet.Direct2D1.ISvgElement)">
<summary>
Appends an element to the list of children. If the element already has a parent, it is removed from this parent as part of the append operation.
</summary>
<param name="newChild">The element to append.</param>
<remarks>
Throws an exception if this element cannot accept children of the type of newChild.
Throws an exception if the newChild is an ancestor of this element.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgElement.ReplaceChild(PaintDotNet.Direct2D1.ISvgElement,PaintDotNet.Direct2D1.ISvgElement)">
<summary>
Replaces the oldChild element with the newChild. This operation removes the oldChild from the tree. If the newChild element already has a parent,
it is removed from this parent as part of the replace operation.
</summary>
<param name="newChild">The element to be inserted.</param>
<param name="oldChild">The child element to be replaced. The oldChild element must be an immediate child of this element.</param>
<remarks>
Throws an exception if this element cannot accept children of the type of newChild.<br/>
Throws an exception if the newChild is an ancestor of this element.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgElement.RemoveChild(PaintDotNet.Direct2D1.ISvgElement)">
<summary>
Removes the oldChild from the tree. Children of oldChild remain children of oldChild.
</summary>
<param name="oldChild">The child element to be removed. The oldChild element must be an immediate child of this element.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgElement.CreateChild(System.String)">
<summary>
Creates an element from a tag name. The element is appended to the list of children.
</summary>
<param name="tagName">The tag name of the new child. An empty string is interpreted to be a text content element.</param>
<returns>The new child element.</returns>
<remarks>
Throws an exception if this element cannot accept children of the specified type.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgElement.IsAttributeSpecified(System.String,System.Boolean@)">
<summary>
Returns a boolean indicating if the attribute is explicitly set on the element.
</summary>
<param name="name">The name of the attribute.</param>
<param name="inherited">Outputs whether the attribute is set to the inherit value.</param>
<returns>
Returns true if the attribute is explicitly set on the element or if it is present within an inline style.<br/>
Returns false if the attribute is not a valid attribute on this element.
</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgElement.GetSpecifiedAttributeName(System.Int32,System.Boolean@)">
<summary>
Gets the name of the attribute at the given index.
</summary>
<param name="index">The index of the attribute.</param>
<param name="inherited">Outputs whether the attribute is set to the inherit value.</param>
<returns>The name of the attribute.</returns>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgElement.RemoveAttribute(System.String)">
<summary>
Removes the attribute from this element. Also removes this attribute from within an inline style if present.
</summary>
<param name="name">The name of the attribute to remove.</param>
<remarks>
Throws an exception if the attribute name is not valid on this element.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgElement.GetAttributeValue(System.String,PaintDotNet.Direct2D1.SvgAttributeStringType)">
<summary>
Gets an attribute of this element as a string.
</summary>
<param name="name">The name of the attribute.</param>
<param name="type">The string type.</param>
<returns>The value of the attribute.</returns>
<remarks>
Throws an exception if the attribute name is not valid on this element.<br/>
Throws an exception if the attribute cannot be expressed as the specified string type.<br/>
Throws an exception if the attribute is not specified.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgElement.TryGetAttributeValue(System.String,PaintDotNet.Direct2D1.SvgAttributeStringType,System.String@)">
<summary>
Gets an attribute of this element as a string.
</summary>
<param name="name">The name of the attribute.</param>
<param name="type">The string type.</param>
<param name="value">The attribute value.</param>
<returns>The value of the attribute.</returns>
<remarks>
Returns false if the attribute name is not valid on this element.<br/>
Returns false if the attribute cannot be expressed as the specified string type.<br/>
Returns false if the attribute is not specified.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgElement.SetAttributeValue(System.String,PaintDotNet.Direct2D1.SvgAttributeStringType,System.String)">
<summary>
Sets an attribute of this element using a string.
</summary>
<param name="name">Name of the attribute to set.</param>
<param name="type">The type of the string.</param>
<param name="value">The new value of the attribute.</param>
<remarks>
Throws an exception if the attribute name is not valid on this element.<br/>
Throws an exception if the attribute cannot be expressed as the specified type.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgElement.GetAttributeValue(System.String,PaintDotNet.Direct2D1.SvgAttributePodType,System.Span{System.Byte})">
<summary>
Gets an attribute of this element as a POD (plain old data) type.
</summary>
<param name="name">The name of the attribute.</param>
<param name="type">The POD type of the value.</param>
<param name="value">The buffer to receive the value.</param>
<remarks>
Throws an exception if the attribute is not specified.<br/>
Throws an exception if the attribute name is not valid on this element.<br/>
Throws an exception if the attribute cannot be expressed as the specified POD type.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgElement.TryGetAttributeValue(System.String,PaintDotNet.Direct2D1.SvgAttributePodType,System.Span{System.Byte})">
<summary>
Gets an attribute of this element as a POD (plain old data) type.
</summary>
<param name="name">The name of the attribute.</param>
<param name="type">The POD type of the value.</param>
<param name="value">The buffer to receive the value.</param>
<remarks>
Returns false if the attribute is not specified.<br/>
Returns false if the attribute name is not valid on this element.<br/>
Returns false if the attribute cannot be expressed as the specified POD type.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgElement.SetAttributeValue(System.String,PaintDotNet.Direct2D1.SvgAttributePodType,System.ReadOnlySpan{System.Byte})">
<summary>
Sets an attribute of this element using a POD (plain old date) type.
</summary>
<param name="name">Name of the attribute to set.</param>
<param name="type">The POD type of the attribute.</param>
<param name="value">A buffer with the new value of the attribute.</param>
<remarks>
Throws an exception if the attribute name is not valid on this element.<br/>
Throws an exception if the attribute cannot be expressed as the specified type.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgElement.GetAttributeValueRef(System.String,System.Type)">
<summary>
Gets an attribute of this element as an object reference.
</summary>
<returns>The value of the attribute.</returns>
<remarks>
Throws an exception if the attribute is not specified.<br/>
Throws an exception if the attribute name is not valid on this element.<br/>
Throws an exception if the attribute cannot be expressed as the specified interface type.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgElement.TryGetAttributeValueRef(System.String,System.Type,PaintDotNet.ComponentModel.IObjectRef@)">
<summary>
Gets an attribute of this element as an object reference.
</summary>
<returns>The value of the attribute.</returns>
<remarks>
Returns false if the attribute is not specified.<br/>
Returns false if the attribute name is not valid on this element.<br/>
Returns false if the attribute cannot be expressed as the specified interface type.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgElement.SetAttributeValue(System.String,PaintDotNet.Direct2D1.ISvgAttribute)">
<summary>
Sets an attribute of this element using an object reference. A given attribute object may only set on one element in
one attribute location at a time.
</summary>
<param name="name">Name of the attribute to set.</param>
<param name="value">The new value of the attribute.</param>
<remarks>
Throws an exception if the attribute name is not valid on this element.<br/>
Throws an exception if the attribute cannot be expressed as the specified interface type.<br/>
Throws an exception if the attribute object is already set on an element.
</remarks>
</member>
<member name="T:PaintDotNet.Direct2D1.ISvgGlyphStyle">
<summary>
This object supplies the values for context-fill, context-stroke, and context-value that are used when rendering SVG glyphs.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_3/nn-d2d1_3-id2d1svgglyphstyle">ID2D1SvgGlyphStyle</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ISvgGlyphStyle.StrokeDashesCount">
<summary>
Gets the length of the stroke dashes array.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ISvgGlyphStyle.StrokeDashOffset">
<summary>
Gets the 'context-value' for the 'stroke-dashoffset' property.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ISvgGlyphStyle.StrokeWidth">
<summary>
Gets the 'context-value' for the 'stroke-width' property.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgGlyphStyle.GetFill">
<summary>
Returns the requested fill parameters.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgGlyphStyle.SetFill(PaintDotNet.Direct2D1.IDeviceBrush)">
<summary>
Provides values to an SVG glyph for fill.
</summary>
<param name="brush">
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.
</param>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgGlyphStyle.GetStrokeDashes(System.Span{System.Single})">
<summary>
Gets the 'context-value' for the 'stroke-dasharray' property.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgGlyphStyle.GetStrokeBrush">
<summary>
Describes how the stroke is painted.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgGlyphStyle.SetStroke(PaintDotNet.Direct2D1.IDeviceBrush,System.Single,System.ReadOnlySpan{System.Single},System.Single)">
<summary>
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.
</summary>
<param name="brush">Describes how the stroke is painted. A null brush will cause the context-stroke value to be none.</param>
<param name="strokeWidth">Specifies the 'context-value' for the 'stroke-width' property.</param>
<param name="dashes">Specifies the 'context-value' for the 'stroke-dasharray' property. An empty span will cause the stroke-dasharray to be set to 'none'.</param>
<param name="dashOffset">Specifies the 'context-value' for the 'stroke-dashoffset' property.</param>
</member>
<member name="T:PaintDotNet.Direct2D1.ISvgPaint">
<summary>
Interface describing an SVG fill or stroke value.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1svg/nn-d2d1svg-id2d1svgpaint">ID2D1SvgPaint</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ISvgPaint.PaintType">
<summary>
Gets or sets the paint type.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ISvgPaint.Color">
<summary>
Gets or sets the paint color that is used if the paint type is SvgPaintType.Color.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ISvgPaint.ID">
<summary>
Gets the element id which acts as the paint server. This id is used if the paint type is SvgPaintType.Uri.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgPaint.Clone">
<summary>
Creates a clone of this attribute value. On creation, the cloned attribute is not set on any element.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ISvgPathData">
<summary>
Interface describing SVG path data. Path data can be set as the 'd' attribute on a 'path' element. The
path data set is factored into two arrays. The segment data array stores all numbers and the commands
array stores the set of commands. Unlike the string data set in the d attribute, each command in this
representation uses a fixed number of elements in the segment data array. Therefore, the path
'M 0,0 100,0 0,100 Z' is represented as: 'M0,0 L100,0 L0,100 Z'. This is split into two arrays, with
the segment data containing '0,0 100,0 0,100', and the commands containing 'M L L Z'.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1svg/nn-d2d1svg-id2d1svgpathdata">ID2D1SvgPathData</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ISvgPathData.CommandsCount">
<summary>
Gets the size of the commands array.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ISvgPathData.SegmentDataCount">
<summary>
Gets the size of the segment data array.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgPathData.Clone">
<summary>
Creates a clone of this attribute value. On creation, the cloned attribute is not set on any element.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgPathData.CreatePathGeometry(PaintDotNet.Direct2D1.FillMode)">
<summary>
Creates a path geometry object representing the path data.
</summary>
<param name="fillMode">Fill mode for the path geometry object.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgPathData.GetCommands(System.Span{PaintDotNet.Direct2D1.SvgPathCommand},System.Int32)">
<summary>
Gets commands from the commands array.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgPathData.GetSegmentData(System.Span{System.Single},System.Int32)">
<summary>
Gets data from the segment data array.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgPathData.RemoveCommandsAtEnd(System.Int32)">
<summary>
Removes commands from the end of the commands array.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgPathData.RemoveSegmentDataAtEnd(System.Int32)">
<summary>
Removes data from the end of the segment data array.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgPathData.UpdateCommands(System.ReadOnlySpan{PaintDotNet.Direct2D1.SvgPathCommand},System.Int32)">
<summary>
Updates the commands array. Existing commands not updated by this method are preserved.
The array is resized larger if necessary to accommodate the new commands.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgPathData.UpdateSegmentData(System.ReadOnlySpan{System.Single},System.Int32)">
<summary>
Updates the segment data array. Existing segment data not updated by this method are preserved.
The array is resized larger if necessary to accommodate the new segment data.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ISvgPointCollection">
<summary>
Interface describing an SVG points value in a polyline or polygon element.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1svg/nn-d2d1svg-id2d1svgpointcollection">ID2D1SvgPointCollection</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ISvgPointCollection.PointsCount">
<summary>
Gets the number of points in the array.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgPointCollection.Clone">
<summary>
Creates a clone of this attribute value. On creation, the cloned attribute is not set on any element.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgPointCollection.GetPoints(System.Span{PaintDotNet.Rendering.Point2Float},System.Int32)">
<summary>
Gets points from the points array.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgPointCollection.UpdatePoints(System.ReadOnlySpan{PaintDotNet.Rendering.Point2Float},System.Int32)">
<summary>
Updates the points array. Existing points not updated by this method are preserved.
The array is resized larger if necessary to accommodate the new points.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgPointCollection.RemovePointsAtEnd(System.Int32)">
<summary>
Removes points from the end of the array.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ISvgStrokeDashArray">
<summary>
Interface describing an SVG stroke-dasharray value.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1svg/nn-d2d1svg-id2d1svgstrokedasharray">ID2D1SvgStrokeDashArray</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ISvgStrokeDashArray.DashesCount">
<summary>
Gets the number of the dashes in the array.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgStrokeDashArray.Clone">
<summary>
Creates a clone of this attribute value. On creation, the cloned attribute is not set on any element.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgStrokeDashArray.GetDashes(System.Span{PaintDotNet.Direct2D1.SvgLength},System.Int32)">
<summary>
Gets dashes from the array.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgStrokeDashArray.GetDashes(System.Span{System.Single},System.Int32)">
<summary>
Gets dashes from the array.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgStrokeDashArray.UpdateDashes(System.ReadOnlySpan{PaintDotNet.Direct2D1.SvgLength},System.Int32)">
<summary>
Updates the array. Existing dashes not updated by this method are preserved.
The array is resized larger if necessary to accommodate the new dashes.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgStrokeDashArray.UpdateDashes(System.ReadOnlySpan{System.Single},System.Int32)">
<summary>
Updates the array. Existing dashes not updated by this method are preserved.
The array is resized larger if necessary to accommodate the new dashes.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ISvgStrokeDashArray.RemoveDashesAtEnd(System.Int32)">
<summary>
Removes dashes from the end of the array.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ITessellationSink">
<summary>
Populates an <see cref="T:PaintDotNet.Direct2D1.IDeviceMesh"/> object with triangles.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/nn-d2d1-id2d1tessellationsink">ID2D1TessellationSink</a>
</summary>
<remarks>
An implementation of this interface is provided when using <see cref="M:PaintDotNet.Direct2D1.IDeviceMesh.Open"/>.<br/>
<br/>
To implement this yourself, such as to capture the data provided by <see cref="M:PaintDotNet.Direct2D1.IGeometry.Tessellate(PaintDotNet.Direct2D1.ITessellationSink,System.Nullable{PaintDotNet.Rendering.Matrix3x2Float}@,System.Nullable{System.Single})"/> for custom
purposes, create a class that derives from <see cref="T:PaintDotNet.ComponentModel.RefTrackedObject"/> and that also derives from this interface.
</remarks>
</member>
<member name="T:PaintDotNet.Direct2D1.ITransform">
<summary>
Represents the base interface for all of the transforms implemented by the transform author.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1effectauthor/nn-d2d1effectauthor-id2d1transform">ID2D1Transform</a>
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ITransform.MapInputRectsToOutputRect(System.ReadOnlySpan{PaintDotNet.Rendering.RectInt32},System.ReadOnlySpan{PaintDotNet.Rendering.RectInt32},PaintDotNet.Rendering.RectInt32@,PaintDotNet.Rendering.RectInt32@)">
<summary>
Performs the inverse mapping to MapOutputRectToInputRects.
</summary>
<remarks>
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.
</remarks>
<param name="inputRects">An array of input rectangles to be mapped to the output rectangle. The inputRects parameter is always equal to the input bounds.</param>
<param name="inputOpaqueSubRects">An array of input rectangles to be mapped to the opaque output rectangle.</param>
<param name="outputRect">The output rectangle that maps to the corresponding input rectangle.</param>
<param name="outputOpaqueSubRect">The output rectangle that maps to the corresponding opaque input rectangle. Set this to RectInt32.Zero to indicate that the whole output region may have transparency.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.ITransform.MapOutputRectToInputRects(PaintDotNet.Rendering.RectInt32,System.Span{PaintDotNet.Rendering.RectInt32})">
<summary>
Allows a transform to state how it would map a rectangle requested on its output to a set of sample
rectangles on its input.
</summary>
<remarks>
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.
</remarks>
<param name="outputRect">The output rectangle from which the inputs must be mapped.</param>
<param name="inputRects">The corresponding set of inputs. The inputs will directly correspond to the transform inputs.</param>
</member>
<member name="M:PaintDotNet.Direct2D1.ITransform.MapInvalidRect(System.Int32,PaintDotNet.Rendering.RectInt32,PaintDotNet.Rendering.RectInt32@)">
<summary>
Sets the input rectangles for this rendering pass into the transform.
</summary>
<remarks>
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.
</remarks>
<param name="inputIndex">The index of the input rectangle.</param>
<param name="invalidInputRect">The invalid input rectangle.</param>
<param name="invalidOutputRect">The output rectangle to which the input rectangle must be mapped.</param>
</member>
<member name="T:PaintDotNet.Direct2D1.ITransformedGeometry">
<summary>
Represents a geometry that has been transformed.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/nn-d2d1-id2d1transformedgeometry">ID2D1TransformedGeometry</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ITransformedGeometry.SourceGeometry">
<summary>
Retrieves the source geometry of this transformed geometry object.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ITransformedGeometry.Transform">
<summary>
Retrieves the matrix used to transform the ID2D1TransformedGeometry object's source geometry.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ITransformedImageSource">
<summary>
Represents an image source which shares resources with an original image source.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_3/nn-d2d1_3-id2d1transformedimagesource">ID2D1TransformedImageSource</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ITransformedImageSource.Source">
<summary>
Retrieves the source image used to create the transformed image source.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ITransformedImageSource.Properties">
<summary>
Retrieves the properties specified when the transformed image source was created.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ITransformGraph">
<summary>
Represents a graph of transform nodes.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1effectauthor/nn-d2d1effectauthor-id2d1transformgraph">ID2D1TransformGraph</a>
</summary>
<remarks>
To implement this, create a class that derives from <see cref="T:PaintDotNet.ComponentModel.RefTrackedObject"/> and this interface.
</remarks>
</member>
<member name="P:PaintDotNet.Direct2D1.ITransformGraph.InputCount">
<summary>
Returns the number of inputs to the transform graph.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ITransformGraph.SetSingleTransformNode(PaintDotNet.Direct2D1.ITransformNode)">
<summary>
Sets a single transform node as being equivalent to the whole graph.<br/>
This is equivalent to calling Clear(), adding a single node, connecting all of the node inputs
to the effect inputs in order, and setting the transform node as the graph output.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ITransformGraph.AddNode(PaintDotNet.Direct2D1.ITransformNode)">
<summary>
Adds the provided node to the transform graph.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ITransformGraph.RemoveNode(PaintDotNet.Direct2D1.ITransformNode)">
<summary>
Removes the provided node from the transform graph.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ITransformGraph.SetOutputNode(PaintDotNet.Direct2D1.ITransformNode)">
<summary>
Sets the output node for the transform graph.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ITransformGraph.ConnectNode(PaintDotNet.Direct2D1.ITransformNode,PaintDotNet.Direct2D1.ITransformNode,System.Int32)">
<summary>
Connects two nodes inside the transform graph.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ITransformGraph.ConnectToEffectInput(System.Int32,PaintDotNet.Direct2D1.ITransformNode,System.Int32)">
<summary>
Connects a transform node inside the graph to the corresponding effect input of the encapsulating effect.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ITransformGraph.Clear">
<summary>
Clears the transform nodes and all connections from the transform graph.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ITransformGraph.SetPassthroughGraph(System.Int32)">
<summary>
Uses the specified input as the effect output.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ITransformNode">
<summary>
Describes a node in a transform topology.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effectauthor/nn-d2d1effectauthor-id2d1transformnode">ID2D1TransformNode</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.ITransformNode.InputCount">
<summary>
Gets the number of inputs to the transform node.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.LayerOptions">
<summary>
Specifies how the layer contents should be prepared.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_1/ne-d2d1_1-d2d1_layer_options1">D2D1_LAYER_OPTIONS1</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.LayerOptions.None">
<summary>
Default layer behavior. A premultiplied layer target is pushed and its contents are cleared to transparent black.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.LayerOptions.InitializeFromBackground">
<summary>
The layer is not cleared to transparent black.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.LayerOptions.IgnoreAlpha">
<summary>
The layer is always created as ignore alpha. All content rendered into the layer will be treated as opaque.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.LayerParameters">
<summary>
Contains the content bounds, mask information, opacity settings, and other options for a layer resource.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_1/ns-d2d1_1-d2d1_layer_parameters1">D2D1_LAYER_PARAMETERS1</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.LayerParameters.ContentBounds">
<summary>
The content bounds of the layer. Content outside these bounds is not guaranteed to render.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.LayerParameters.GeometricMask">
<summary>
The geometric mask specifies the area of the layer that is composited into the render target.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.LayerParameters.MaskAntialiasMode">
<summary>
A value that specifies the antialiasing mode for the geometricMask.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.LayerParameters.MaskTransform">
<summary>
A value that specifies the transform that is applied to the geometric mask when composing the layer.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.LayerParameters.Opacity">
<summary>
An opacity value that is applied uniformly to all resources in the layer when compositing to the target.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.LayerParameters.OpacityBrush">
<summary>
An optional 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.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.LayerParameters.LayerOptions">
<summary>
Additional options for the layer creation.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.LinearGradientBrushProperties">
<summary>
Contains the starting point and endpoint of the gradient axis for an <see cref="T:PaintDotNet.Direct2D1.ILinearGradientBrush"/>.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ns-d2d1-d2d1_linear_gradient_brush_properties">D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES</a>
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.LineJoin">
<summary>
Describes the shape that joins two lines or segments.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ne-d2d1-d2d1_line_join">D2D1_LINE_JOIN</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.LineJoin.Miter">
<summary>
Regular angular vertices.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.LineJoin.Bevel">
<summary>
Beveled vertices.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.LineJoin.Round">
<summary>
Rounded vertices.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.LineJoin.MiterOrBevel">
<summary>
Regular angular vertices unless the join would extend beyond the miter limit; otherwise, beveled vertices.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.LookupTable3DFactoryExtensions.CreateLookupTable3D``1(PaintDotNet.Direct2D1.ILookupTable3DFactory,PaintDotNet.Direct2D1.BufferPrecision,System.Int32,System.Int32,System.Int32,System.ReadOnlySpan{``0})">
<summary>
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.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_3/nf-d2d1_3-id2d1devicecontext2-createlookuptable3d">ID2D1DeviceContext2::CreateLookupTable3D()</a><br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1effectauthor_1/nf-d2d1effectauthor_1-id2d1effectcontext1-createlookuptable3d">ID2D1EffectContext1::CreateLookupTable3D()</a>
</summary>
<param name="factory">The factory to use.</param>
<param name="precision">Precision of the input lookup table data.</param>
<param name="extentX">The number of elements in the X dimension, which corresponds to the blue channel.</param>
<param name="extentY">The number of elements, or rows, in the Y dimension, which corresponds to the green channel.</param>
<param name="extentZ">The number of elements, or planes, in the Z dimension, which corresponds to the red channel.</param>
<param name="data">Buffer holding the lookup table data. This total byte size of the buffer must be appropriate for the given precision and extents.</param>
<remarks>
The maximum extent in any direction is 256, which means that a 256x256x256 table using 32-bits per component will consume 64MB.
Because lookup uses linear interpolation, much smaller tables will usually give good results.<br/>
T may be any unmanaged type, but it is recommended to use a type that is appropriate for the given precision and to simplify working with it. For example:<br/>
<list type="bullet">
<item>For <see cref="F:PaintDotNet.Direct2D1.BufferPrecision.UInt8Normalized"/> or <see cref="F:PaintDotNet.Direct2D1.BufferPrecision.UInt8NormalizedSrgb"/>, use <see cref="T:PaintDotNet.Imaging.ColorRgba32"/>. You can also use <see cref="T:System.Byte"/> with 4 times as many elements.</item>
<item>For <see cref="F:PaintDotNet.Direct2D1.BufferPrecision.UInt16Normalized"/>, use <see cref="T:PaintDotNet.Imaging.ColorRgba64"/>. You can also use <see cref="T:System.UInt16"/> with 4 times as many elements.</item>
<item>For <see cref="F:PaintDotNet.Direct2D1.BufferPrecision.Float16"/>, use <see cref="T:System.Half"/> with each lookup table entry spanning 4 elements.</item>
<item>For <see cref="F:PaintDotNet.Direct2D1.BufferPrecision.Float32"/>, use <see cref="T:PaintDotNet.Imaging.ColorRgba128Float"/>, <see cref="T:PaintDotNet.Rendering.Vector4Float"/>, or <see cref="T:System.Numerics.Vector4"/>. You can also use <see cref="T:System.Single"/> with 4 times as many elements.</item>
</list>
The total number of elements when using a 4-component data type must be extentX * extentY * extentZ.<br/>
If using <see cref="T:System.Byte"/>, <see cref="T:System.UInt16"/>, <see cref="T:System.Half"/>, or <see cref="T:System.Single"/>, the number of elements must be 4 * extentX * extentY * extentZ.<br/>
The total byte size of the data buffer must be appropriate for the given precision and extents. The elements of type T are bitwise reinterpreted; they are neither converted nor cast.
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.LookupTable3DFactoryExtensions.CreateLookupTable3D``1(PaintDotNet.Direct2D1.ILookupTable3DFactory,PaintDotNet.Direct2D1.BufferPrecision,System.Int32,System.Int32,System.Int32,``0[])">
<inheritdoc cref="M:PaintDotNet.Direct2D1.LookupTable3DFactoryExtensions.CreateLookupTable3D``1(PaintDotNet.Direct2D1.ILookupTable3DFactory,PaintDotNet.Direct2D1.BufferPrecision,System.Int32,System.Int32,System.Int32,System.ReadOnlySpan{``0})" />
</member>
<member name="T:PaintDotNet.Direct2D1.MapOptions">
<summary>
Specifies how the memory to be mapped from the corresponding <see cref="T:PaintDotNet.Direct2D1.IDeviceBitmap"/> should be treated.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_1/ne-d2d1_1-d2d1_map_options">D2D1_MAP_OPTIONS</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.MapOptions.None">
<summary>
No additional options.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.MapOptions.Read">
<summary>
Allow CPU Read access.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.MapOptions.Write">
<summary>
Allow CPU Write access.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.MapOptions.Discard">
<summary>
Discard the previous contents of the resource when it is mapped.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.MappedRect">
<summary>
Describes mapped memory from the <see cref="M:PaintDotNet.Direct2D1.IDeviceBitmap.Map(PaintDotNet.Direct2D1.MapOptions)"/> method.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_1/ns-d2d1_1-d2d1_mapped_rect">D2D1_MAPPED_RECT</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.MappedRect.Stride">
<summary>
The size in bytes of an individual scanline in the bitmap.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.MappedRect.Buffer">
<summary>
The data inside the bitmap.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.MorphologyMode">
<summary>
The mode for the Morphology effect.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects/ne-d2d1effects-d2d1_morphology_mode">D2D1_MORPHOLOGY_MODE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.MorphologyMode.Erode">
<summary>
The maximum value from each RGB channel in the kernel is used.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.MorphologyMode.Dilate">
<summary>
The minimum value from each RGB channel in the kernel is used.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.Orientation">
<summary>
Specifies the flip and rotation at which an image appears.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_3/ne-d2d1_3-d2d1_orientation">D2D1_ORIENTATION</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.Orientation.Default">
<summary>
The orientation is unchanged.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.Orientation.FlipHorizontal">
<summary>
The image is flipped horizontally.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.Orientation.RotateClockwise180">
<summary>
The image is rotated clockwise 180 degrees.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.Orientation.RotateClockwise180FlipHorizontal">
<summary>
The image is rotated clockwise 180 degrees, then flipped horizontally.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.Orientation.RotateClockwise90FlipHorizontal">
<summary>
The image is rotated clockwise 90 degrees, then flipped horizontally.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.Orientation.RotateClockwise270">
<summary>
The image is rotated clockwise 270 degrees.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.Orientation.RotateClockwise270FlipHorizontal">
<summary>
The image is rotated clockwise 270 degrees, then flipped horizontally.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.Orientation.RotateClockwise90">
<summary>
The image is rotated clockwise 90 degrees.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.PatchEdgeMode">
<summary>
Specifies how to render gradient mesh edges.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_3/ne-d2d1_3-d2d1_patch_edge_mode">D2D1_PATCH_EDGE_MODE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PatchEdgeMode.Aliased">
<summary>
Render this patch edge aliased. Use this value for the internal edges of your gradient mesh.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PatchEdgeMode.Antialiased">
<summary>
Render this patch edge antialiased. Use this value for the external (boundary) edges of your mesh.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PatchEdgeMode.AliasedInflated">
<summary>
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.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.PathPointDescription">
<summary>
Describes a point on a path geometry.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_1/ns-d2d1_1-d2d1_point_description">D2D1_POINT_DESCRIPTION</a>
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.PathSegmentOptions">
<summary>
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.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ne-d2d1-d2d1_path_segment">D2D1_PATH_SEGMENT</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PathSegmentOptions.None">
<summary>
The segment is joined as specified by the <see cref="T:PaintDotNet.Direct2D1.IStrokeStyle"/> interface, and it is stroked.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PathSegmentOptions.ForceUnstroked">
<summary>
The segment is not stroked.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PathSegmentOptions.ForceRoundLineJoin">
<summary>
The segment is always joined with the one preceding it using a round line join, regardless of
which <see cref="T:PaintDotNet.Direct2D1.LineJoin"/> enumeration is specified by the <see cref="T:PaintDotNet.Direct2D1.IStrokeStyle"/> 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 <see cref="M:PaintDotNet.Direct2D1.ISimplifiedGeometrySink.SetSegmentOptions(PaintDotNet.Direct2D1.PathSegmentOptions)"/>
is called just before <see cref="M:PaintDotNet.Direct2D1.ISimplifiedGeometrySink.EndFigure(PaintDotNet.Direct2D1.FigureEnd)"/>, the join between the
closing segment and the last explicitly specified segment is affected.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.PerspectiveTransform3DInterpolationMode">
<summary>
The interpolation mode the PerspectiveTransform3D effect uses on the image. There are 5 scale modes that range in quality and speed.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects/ne-d2d1effects-d2d1_3dperspectivetransform_interpolation_mode">D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PerspectiveTransform3DInterpolationMode.NearestNeighbor">
<summary>
Samples the nearest single point and uses that. This mode uses less processing time, but outputs the lowest quality image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PerspectiveTransform3DInterpolationMode.Linear">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PerspectiveTransform3DInterpolationMode.Cubic">
<summary>
Uses a 16 sample cubic kernel for interpolation. This mode uses the most processing time, but outputs a higher quality image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PerspectiveTransform3DInterpolationMode.MultisampleLinear">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PerspectiveTransform3DInterpolationMode.Anisotropic">
<summary>
Uses anisotropic filtering to sample a pattern according to the transformed shape of the bitmap.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.PixelOptions">
<summary>
Indicates how pixel shader sampling will be restricted.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effectauthor/ne-d2d1effectauthor-d2d1_pixel_options">D2D1_PIXEL_OPTIONS</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PixelOptions.None">
<summary>
The pixel shader is not restricted in its sampling.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PixelOptions.TrivialSampling">
<summary>
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.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.PointDiffuseScaleMode">
<summary>
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.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects/ne-d2d1effects-d2d1_pointdiffuse_scale_mode">D2D1_POINTDIFFUSE_SCALE_MODE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PointDiffuseScaleMode.NearestNeighbor">
<summary>
Samples the nearest single point and uses that. This mode uses less processing time, but outputs the lowest quality image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PointDiffuseScaleMode.Linear">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PointDiffuseScaleMode.Cubic">
<summary>
Uses a 16 sample cubic kernel for interpolation. This mode uses the most processing time, but outputs a higher quality image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PointDiffuseScaleMode.MultisampleLinear">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PointDiffuseScaleMode.Anisotropic">
<summary>
Uses anisotropic filtering to sample a pattern according to the transformed shape of the bitmap.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PointDiffuseScaleMode.HighQualityCubic">
<summary>
Uses a variable size high quality cubic kernel to perform a pre-downscale of the image if downscaling is involved in the transform matrix. Then uses the cubic interpolation mode for the final output.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.PointSpecularScaleMode">
<summary>
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.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects/ne-d2d1effects-d2d1_pointspecular_scale_mode">D2D1_POINTSPECULAR_SCALE_MODE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PointSpecularScaleMode.NearestNeighbor">
<summary>
Samples the nearest single point and uses that. This mode uses less processing time, but outputs the lowest quality image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PointSpecularScaleMode.Linear">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PointSpecularScaleMode.Cubic">
<summary>
Uses a 16 sample cubic kernel for interpolation. This mode uses the most processing time, but outputs a higher quality image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PointSpecularScaleMode.MultisampleLinear">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PointSpecularScaleMode.Anisotropic">
<summary>
Uses anisotropic filtering to sample a pattern according to the transformed shape of the bitmap.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PointSpecularScaleMode.HighQualityCubic">
<summary>
Uses a variable size high quality cubic kernel to perform a pre-downscale of the image if downscaling is involved in the transform matrix. Then uses the cubic interpolation mode for the final output.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.PresentOptions">
<summary>
Describes how a render target behaves when it presents its content. This enumeration allows a bitwise combination of its member values.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1/ne-d2d1-d2d1_present_options">D2D1_PRESENT_OPTIONS</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PresentOptions.None">
<summary>
The render target waits until the display refreshes to present and discards the frame upon presenting.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PresentOptions.RetainContents">
<summary>
The render target does not discard the frame upon presenting.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PresentOptions.Immediately">
<summary>
The render target does not wait until the display refreshes to present.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.PrimitiveBlend">
<summary>
Used to specify the geometric blend mode for all Direct2D primitives.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_1/ne-d2d1_1-d2d1_primitive_blend">D2D1_PRIMITIVE_BLEND</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PrimitiveBlend.SourceOver">
<summary>
The standard source-over-destination blend mode.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PrimitiveBlend.Copy">
<summary>
The source is copied to the destination; the destination pixels are ignored.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PrimitiveBlend.Min">
<summary>
The resulting pixel values use the minimum of the source and destination pixel values.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PrimitiveBlend.Add">
<summary>
The resulting pixel values are the sum of the source and destination pixel values.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.PrimitiveBlend.Max">
<summary>
The resulting pixel values use the maximum of the source and destination pixel values.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.QuadraticBezierSegment">
<summary>
Contains the control point and end point for a quadratic Bezier segment.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ns-d2d1-d2d1_quadratic_bezier_segment">D2D1_QUADRATIC_BEZIER_SEGMENT</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.QuadraticBezierSegment.Point1">
<summary>
The control point of the quadratic Bezier segment.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.QuadraticBezierSegment.Point2">
<summary>
The end point of the quadratic Bezier segment.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.RadialGradientBrushProperties">
<summary>
Contains the gradient origin offset and the size and position of the gradient ellipse for an <see cref="T:PaintDotNet.Direct2D1.IRadialGradientBrush"/>.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ns-d2d1-d2d1_radial_gradient_brush_properties">D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.RadialGradientBrushProperties.Center">
<summary>
In the brush's coordinate space, the center of the gradient ellipse.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.RadialGradientBrushProperties.GradientOriginOffset">
<summary>
In the brush's coordinate space, the offset of the gradient origin relative to the gradient ellipse's center.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.RadialGradientBrushProperties.RadiusX">
<summary>
In the brush's coordinate space, the x-radius of the gradient ellipse.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.RadialGradientBrushProperties.RadiusY">
<summary>
In the brush's coordinate space, the y-radius of the gradient ellipse.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.RenderingPriority">
<summary>
The rendering priority affects the extent to which Direct2D will throttle its rendering workload.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_2/ne-d2d1_2-d2d1_rendering_priority">D2D1_RENDERING_PRIORITY</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.RenderingPriority.Normal">
<summary>
No change in rendering workload priority.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.RenderingPriority.Low">
<summary>
The device and its associated device contexts are given a lower priority than others.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ResourceTextureProperties">
<summary>
Defines a resource texture when the original resource texture is created.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effectauthor/ns-d2d1effectauthor-d2d1_resource_texture_properties">D2D1_RESOURCE_TEXTURE_PROPERTIES</a>
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ResourceTextureStrides.#ctor">
<summary>
Initializes for 1D stride information.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ResourceTextureStrides.#ctor(System.UInt32)">
<summary>
Initializes for 2D stride information.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.ResourceTextureStrides.#ctor(System.UInt32,System.UInt32)">
<summary>
Initializes for 3D stride information.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.RgbToHueOutputColorSpace">
<summary>
Values for the OutputColorSpace property of the RgbToHue effect.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects_2/ne-d2d1effects_2-d2d1_rgbtohue_output_color_space">D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.RgbToHueOutputColorSpace.HueSaturationValue">
<summary>
The effect converts from RGB to Hue Saturation Value (HSV).
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.RgbToHueOutputColorSpace.HueSaturationLightness">
<summary>
The effect converts from RGB to Hue Saturation Lightness (HSL).
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.RoundedRect">
<summary>
Contains the dimensions and corner radii of a rounded rectangle.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ns-d2d1-d2d1_rounded_rect">D2D1_ROUNDED_RECT</a>
</summary>
<remarks>
Each corner of the rectangle specified by rect is replaced with a quarter ellipse, with a radius in each direction specified by radiusX and radiusY.<br/>
<br/>
If radiusX is greater than or equal to half the width of the rectangle, and radiusY is greater than or equal to one-half the height, then the rounded rectangle is an ellipse with the same width and height of rect.<br/>
<br/>
Even when both radiusX 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).
</remarks>
</member>
<member name="P:PaintDotNet.Direct2D1.RoundedRect.Rect">
<summary>
The coordinates of the rectangle.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.RoundedRect.RadiusX">
<summary>
The x-radius for the quarter ellipse that is drawn to replace every corner of the rectangle.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.RoundedRect.RadiusY">
<summary>
The y-radius for the quarter ellipse that is drawn to replace every corner of the rectangle.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ScaleInterpolationMode">
<summary>
The interpolation mode the Scale effect uses to scale the image. There are 6 scale modes that range in quality and speed.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects/ne-d2d1effects-d2d1_scale_interpolation_mode">D2D1_SCALE_INTERPOLATION_MODE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ScaleInterpolationMode.NearestNeighbor">
<summary>
Samples the nearest single point and uses that. This mode uses less processing time, but outputs the lowest quality image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ScaleInterpolationMode.Linear">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ScaleInterpolationMode.Cubic">
<summary>
Uses a 16 sample cubic kernel for interpolation. This mode uses the most processing time, but outputs a higher quality image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ScaleInterpolationMode.MultisampleLinear">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ScaleInterpolationMode.Anisotropic">
<summary>
Uses anisotropic filtering to sample a pattern according to the transformed shape of the bitmap.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ScaleInterpolationMode.HighQualityCubic">
<summary>
Uses a variable size high quality cubic kernel to perform a pre-downscale of the image if downscaling is involved in the transform matrix. Then uses the cubic interpolation mode for the final output.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.ShadowOptimization">
<summary>
The level of performance optimization for the Shadow effect.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects/ne-d2d1effects-d2d1_shadow_optimization">D2D1_SHADOW_OPTIMIZATION</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ShadowOptimization.Speed">
<summary>
Applies internal optimizations such as pre-scaling at relatively small radii. Uses linear filtering.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ShadowOptimization.Balanced">
<summary>
Uses the same optimization thresholds as Speed mode, but uses trilinear filtering.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.ShadowOptimization.Quality">
<summary>
Only uses internal optimizations with large blur radii, where approximations are less likely to be visible. Uses trilinear filtering.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.SharedBitmapProperties">
<summary>
Describes the DPI and pixel format for a shared bitmap.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ns-d2d1-d2d1_bitmap_properties">D2D1_BITMAP_PROPERTIES</a>
</summary>
<remarks>
A shared bitmap can be created using the <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.CreateSharedBitmap(PaintDotNet.Direct2D1.IDeviceBitmap,System.Nullable{PaintDotNet.Direct2D1.SharedBitmapProperties}@)"/>
or <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.CreateSharedBitmap(PaintDotNet.Imaging.IBitmapLock,System.Nullable{PaintDotNet.Direct2D1.SharedBitmapProperties}@)"/> method.
</remarks>
</member>
<member name="T:PaintDotNet.Direct2D1.SimpleColorProfile">
<summary>
Simple description of a color space.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_3/ns-d2d1_3-d2d1_simple_color_profile">D2D1_SIMPLE_COLOR_PROFILE</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.SimpleColorProfile.RedPrimary">
<summary>
The xy coordinates of the red primary in the CIExyY color space.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.SimpleColorProfile.GreenPrimary">
<summary>
The xy coordinates of the green primary in the CIExyY color space.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.SimpleColorProfile.BluePrimary">
<summary>
The xy coordinates of the blue primary in the CIExyY color space.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.SimpleColorProfile.WhitePointXZ">
<summary>
The XZ tristimulus values for the whitepoint in the CIEXYZ color space, normalized to luminance (Y) of 1.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.SimpleColorProfile.Gamma">
<summary>
The gamma encoding to use for this color space.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.SimpleColorProfileGamma">
<summary>
Determines what gamma is used for interpolation and blending.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_3/ne-d2d1_3-d2d1_gamma1">D2D1_GAMMA1</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SimpleColorProfileGamma.G22">
<summary>
Colors are manipulated in 2.2 gamma color space.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SimpleColorProfileGamma.G10">
<summary>
Colors are manipulated in 1.0 gamma color space.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SimpleColorProfileGamma.G2084">
<summary>
Colors are manipulated in ST.2084 PQ gamma color space.<br/>
<a href="https://en.wikipedia.org/wiki/Perceptual_quantizer">Perceptual quantizer</a>
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.SpotDiffuseScaleMode">
<summary>
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.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects/ne-d2d1effects-d2d1_spotdiffuse_scale_mode">D2D1_SPOTDIFFUSE_SCALE_MODE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SpotDiffuseScaleMode.NearestNeighbor">
<summary>
Samples the nearest single point and uses that. This mode uses less processing time, but outputs the lowest quality image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SpotDiffuseScaleMode.Linear">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SpotDiffuseScaleMode.Cubic">
<summary>
Uses a 16 sample cubic kernel for interpolation. This mode uses the most processing time, but outputs a higher quality image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SpotDiffuseScaleMode.MultisampleLinear">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SpotDiffuseScaleMode.Anisotropic">
<summary>
Uses anisotropic filtering to sample a pattern according to the transformed shape of the bitmap.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SpotDiffuseScaleMode.HighQualityCubic">
<summary>
Uses a variable size high quality cubic kernel to perform a pre-downscale of the image if downscaling is involved in the transform matrix. Then uses the cubic interpolation mode for the final output.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.SpotSpecularScaleMode">
<summary>
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.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects/ne-d2d1effects-d2d1_spotspecular_scale_mode">D2D1_SPOTSPECULAR_SCALE_MODE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SpotSpecularScaleMode.NearestNeighbor">
<summary>
Samples the nearest single point and uses that. This mode uses less processing time, but outputs the lowest quality image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SpotSpecularScaleMode.Linear">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SpotSpecularScaleMode.Cubic">
<summary>
Uses a 16 sample cubic kernel for interpolation. This mode uses the most processing time, but outputs a higher quality image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SpotSpecularScaleMode.MultisampleLinear">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SpotSpecularScaleMode.Anisotropic">
<summary>
Uses anisotropic filtering to sample a pattern according to the transformed shape of the bitmap.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SpotSpecularScaleMode.HighQualityCubic">
<summary>
Uses a variable size high quality cubic kernel to perform a pre-downscale of the image if downscaling is involved in the transform matrix. Then uses the cubic interpolation mode for the final output.
</summary>
</member>
<member name="M:PaintDotNet.Direct2D1.SpriteBatchExtensions.AddSprite(PaintDotNet.Direct2D1.ISpriteBatch,PaintDotNet.Rendering.RectFloat,System.Nullable{PaintDotNet.Rendering.RectInt32}@,System.Nullable{PaintDotNet.Imaging.ColorRgba128Float}@,System.Nullable{PaintDotNet.Rendering.Matrix3x2Float}@)">
<summary>
Adds a single sprite to the end of this sprite batch.
</summary>
<param name="spriteBatch">The sprite batch object.</param>
<param name="destinationRectangle">The destination rectangle specifying where to draw the sprite.</param>
<param name="sourceRectangle">
The source rectangle specifying the region of the source bitmap to draw as a sprite. The entire source bitmap
will be used if this parameter is null or RectInt32.LogicallyInfinite.
</param>
<param name="color">
The color to apply to the 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
the sprite if null is provided.
</param>
<param name="transform">
The transform to apply to the sprite's destination rectangle. Direct2D will not transform the destination
rectangle of any sprite that is assigned a null value.
</param>
<remarks>
Always use 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).
</remarks>
</member>
<member name="M:PaintDotNet.Direct2D1.SpriteBatchExtensions.AddSprites(PaintDotNet.Direct2D1.ISpriteBatch,System.ReadOnlySpan{PaintDotNet.Rendering.RectFloat},System.ReadOnlySpan{PaintDotNet.Rendering.RectInt32},System.ReadOnlySpan{PaintDotNet.Imaging.ColorRgba128Float},System.ReadOnlySpan{PaintDotNet.Rendering.Matrix3x2Float})">
<summary>
Adds the given sprites to the end of this sprite batch. The number of sprites is governed by the length of the
destinationRectangles parameter. You may use a 1-length span for the other spans to apply the same value for
that property to each of the sprites. You may use a 0-length span for the other spans to use the default value
associated with those properties, which can reduce memory usage and increase performance.
</summary>
<param name="spriteBatch">The sprite batch object.</param>
<param name="destinationRectangles">The destination rectangles specifying where to draw the sprites.</param>
<param name="sourceRectangles">
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 if RectInt32.LogicallyInfinite is used.
If this span is empty, Direct2D will use the entire source bitmap for all of the added sprites.
</param>
<param name="colors">
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 span is empty, then Direct2D will not change the
color of any of the added sprites.
</param>
<param name="transforms">
The transforms to apply to each sprite's destination recangle. Direct2D will not transform the destination
rectangle of any sprites that are assigned a null value. If this span is empty then Direct2D will not
transform the destination rectangle of any of the added sprites.
</param>
<remarks>
Always use an empty span 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).
</remarks>
</member>
<member name="T:PaintDotNet.Direct2D1.SpriteOptions">
<summary>
Specifies additional aspects of how a sprite batch is to be drawn.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_3/ne-d2d1_3-d2d1_sprite_options">D2D1_SPRITE_OPTIONS</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SpriteOptions.None">
<summary>
Default value. No special drawing configuration. This option yields the best drawing performance.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SpriteOptions.ClampToSourceRectangle">
<summary>
Interpolation of bitmap pixels will be clamped to the sprite’s source rectangle.
If the sub-images in your source bitmap have no pixels separating them, then you may see color bleeding
when drawing them with D2D1_SPRITE_OPTIONS_NONE. In that case, consider adding borders between them with
your sprite-packing tool, or use this option. Note that drawing sprites with this option enabled is
slower than using SpriteOptions.None.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.StraightenScaleMode">
<summary>
Values for the ScaleMode property of the Straighten effect.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects_2/ne-d2d1effects_2-d2d1_straighten_scale_mode">D2D1_STRAIGHTEN_SCALE_MODE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.StraightenScaleMode.NearestNeighbor">
<summary>
Samples the nearest single point and uses that. This mode uses less processing time, but outputs the lowest quality image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.StraightenScaleMode.Linear">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.StraightenScaleMode.Cubic">
<summary>
Uses a 16 sample cubic kernel for interpolation. This mode uses the most processing time, but outputs a higher quality image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.StraightenScaleMode.MultisampleLinear">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.StraightenScaleMode.Anisotropic">
<summary>
Uses anisotropic filtering to sample a pattern according to the transformed shape of the bitmap.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.StrokeStyleProperties">
<summary>
Describes the stroke that outlines a shape.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_1/ns-d2d1_1-d2d1_stroke_style_properties1">D2D1_STROKE_STYLE_PROPERTIES1</a>
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.StrokeTransformType">
<summary>
Defines how the world transform, dots per inch (dpi), and stroke width affect the shape of the pen used to stroke a primitive.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1_1/ne-d2d1_1-d2d1_stroke_transform_type">D2D1_STROKE_TRANSFORM_TYPE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.StrokeTransformType.Normal">
<summary>
The stroke respects the currently set world transform, the dpi, and the stroke width.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.StrokeTransformType.Fixed">
<summary>
The stroke does not respect the world transform but it does respect the dpi and stroke width.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.StrokeTransformType.Hairline">
<summary>
The stroke is forced to 1 pixel wide (in device space) and does not respect the world transform, the dpi, or the stroke width.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.SvgAspectAlign">
<summary>
The alignment portion of the SVG preserveAspectRatio attribute.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1svg/ne-d2d1svg-d2d1_svg_aspect_align">D2D1_SVG_ASPECT_ALIGN</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgAspectAlign.None">
<summary>
The alignment is set to SVG's 'none' value.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgAspectAlign.XMinYMin">
<summary>
The alignment is set to SVG's 'xMinYMin' value.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgAspectAlign.XMidYMin">
<summary>
The alignment is set to SVG's 'xMidYMin' value.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgAspectAlign.XMaxYMin">
<summary>
The alignment is set to SVG's 'xMaxYMin' value.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgAspectAlign.XMinYMid">
<summary>
The alignment is set to SVG's 'xMinYMid' value.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgAspectAlign.XMidYMid">
<summary>
The alignment is set to SVG's 'xMidYMid' value.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgAspectAlign.XMaxYMid">
<summary>
The alignment is set to SVG's 'xMaxYMid' value.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgAspectAlign.XMinYMax">
<summary>
The alignment is set to SVG's 'xMinYMax' value.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgAspectAlign.XMidYMax">
<summary>
The alignment is set to SVG's 'xMidYMax' value.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgAspectAlign.XMaxYMax">
<summary>
The alignment is set to SVG's 'xMaxYMax' value.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.SvgAspectScaling">
<summary>
The meetOrSlice portion of the SVG preserveAspectRatio attribute.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1svg/ne-d2d1svg-d2d1_svg_aspect_scaling">D2D1_SVG_ASPECT_SCALING</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgAspectScaling.Meet">
<summary>
Scale the viewBox up as much as possible such that the entire viewBox is visible within the viewport.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgAspectScaling.Slice">
<summary>
Scale the viewBox down as much as possible such that the entire viewport is covered by the viewBox.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.SvgAttributePodType">
<summary>
Defines the type of SVG POD attribute to set or get.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1svg/ne-d2d1svg-d2d1_svg_attribute_pod_type">D2D1_SVG_ATTRIBUTE_POD_TYPE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgAttributePodType.Float">
<summary>
The attribute is a <see cref="T:System.Single"/>.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgAttributePodType.Color">
<summary>
The attribute is a <see cref="T:PaintDotNet.Imaging.ColorRgba128Float"/>.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgAttributePodType.FillMode">
<summary>
The attribute is a <see cref="F:PaintDotNet.Direct2D1.SvgAttributePodType.FillMode"/>.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgAttributePodType.Display">
<summary>
The attribute is a <see cref="T:PaintDotNet.Direct2D1.SvgDisplay"/>.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgAttributePodType.Overflow">
<summary>
The attribute is a <see cref="T:PaintDotNet.Direct2D1.SvgOverflow"/>.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgAttributePodType.LineCap">
<summary>
The attribute is a <see cref="T:PaintDotNet.Direct2D1.SvgLineCap"/>.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgAttributePodType.LineJoin">
<summary>
The attribute is a <see cref="T:PaintDotNet.Direct2D1.SvgLineJoin"/>.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgAttributePodType.Visibility">
<summary>
The attribute is a <see cref="T:PaintDotNet.Direct2D1.SvgVisibility"/>.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgAttributePodType.Matrix">
<summary>
The attribute is a <see cref="T:PaintDotNet.Rendering.Matrix3x2Float"/>.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgAttributePodType.UnitType">
<summary>
The attribute is a <see cref="T:PaintDotNet.Direct2D1.SvgUnitType"/>.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgAttributePodType.ExtendMode">
<summary>
The attribute is a <see cref="F:PaintDotNet.Direct2D1.SvgAttributePodType.ExtendMode"/>.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgAttributePodType.PreserveAspectRatio">
<summary>
The attribute is a <see cref="T:PaintDotNet.Direct2D1.SvgPreserveAspectRatio"/>.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgAttributePodType.ViewBox">
<summary>
The attribute is a <see cref="T:PaintDotNet.Direct2D1.SvgViewBox"/>.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgAttributePodType.Length">
<summary>
The attribute is a <see cref="T:PaintDotNet.Direct2D1.SvgLength"/>.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.SvgAttributeStringType">
<summary>
Defines the type of SVG string attribute to set or get.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1svg/ne-d2d1svg-d2d1_svg_attribute_string_type">D2D1_SVG_ATTRIBUTE_STRING_TYPE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgAttributeStringType.Svg">
<summary>
The attribute is a string in the same form as it would appear in the SVG XML.
Note that when getting values of this type, the value returned may not exactly
match the value that was set. Instead, the output value is a normalized version
of the value. For example, an input color of 'red' may be output as '#FF0000'.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgAttributeStringType.ID">
<summary>
The attribute is an element ID.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.SvgDisplay">
<summary>
Specifies a value for the SVG display property.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1svg/ne-d2d1svg-d2d1_svg_display">D2D1_SVG_DISPLAY</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgDisplay.Inline">
<summary>
The element uses the default display behavior.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgDisplay.None">
<summary>
The element and all children are not rendered directly.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.SvgLength">
<summary>
Represents an SVG length.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1svg/ns-d2d1svg-d2d1_svg_length">D2D1_SVG_LENGTH</a>
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.SvgLengthUnits">
<summary>
Specifies the units for an SVG length.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1svg/ne-d2d1svg-d2d1_svg_length_units">D2D1_SVG_LENGTH_UNITS</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgLengthUnits.Number">
<summary>
The length is unitless.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgLengthUnits.Percentage">
<summary>
The length is a percentage value.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.SvgLineCap">
<summary>
Specifies a value for the SVG stroke-linecap property.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1svg/ne-d2d1svg-d2d1_svg_line_cap">D2D1_SVG_LINE_CAP</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgLineCap.Butt">
<summary>
The property is set to SVG's 'butt' value.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgLineCap.Square">
<summary>
The property is set to SVG's 'square' value.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgLineCap.Round">
<summary>
The property is set to SVG's 'round' value.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.SvgLineJoin">
<summary>
Specifies a value for the SVG stroke-linejoin property.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1svg/ne-d2d1svg-d2d1_svg_line_join">D2D1_SVG_LINE_JOIN</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgLineJoin.Bevel">
<summary>
The property is set to SVG's 'bevel' value.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgLineJoin.Miter">
<summary>
The property is set to SVG's 'miter' value. Note that this is equivalent to LineJoin.MiterOrBevel, not LineJoin.Miter.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgLineJoin.Round">
<summary>
The property is set to SVG's 'round' value.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.SvgOverflow">
<summary>
Specifies a value for the SVG overflow property.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1svg/ne-d2d1svg-d2d1_svg_overflow">D2D1_SVG_OVERFLOW</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgOverflow.Visible">
<summary>
The element is not clipped to its viewport.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgOverflow.Hidden">
<summary>
The element is clipped to its viewport.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.SvgPaintType">
<summary>
Specifies the paint type for an SVG fill or stroke.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1svg/ne-d2d1svg-d2d1_svg_paint_type">D2D1_SVG_PAINT_TYPE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgPaintType.None">
<summary>
The fill or stroke is not rendered.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgPaintType.Color">
<summary>
A solid color is rendered.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgPaintType.CurrentColor">
<summary>
The current color is rendered.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgPaintType.Uri">
<summary>
A paint server, defined by another element in the SVG document, is used.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgPaintType.UriNone">
<summary>
A paint server, defined by another element in the SVG document, is used.
If the paint server reference is invalid, fall back to SvgPaintType.None.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgPaintType.UriColor">
<summary>
A paint server, defined by another element in the SVG document, is used.
If the paint server reference is invalid, fall back to SvgPaintType.Color.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgPaintType.UriCurrentColor">
<summary>
A paint server, defined by another element in the SVG document, is used.
If the paint server reference is invalid, fall back to SvgPaintType.CurrentColor.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.SvgPathCommand">
<summary>
Represents a path commmand. Each command may reference floats from the segment data.<br/>
Commands ending in Absolute interpret data as absolute coordinate.<br/>
Commands ending in Relative interpret data as being relative to the previous point.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1svg/ne-d2d1svg-d2d1_svg_path_command">D2D1_SVG_PATH_COMMAND</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgPathCommand.ClosePath">
<summary>
Closes the current subpath. Uses no segment data.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgPathCommand.MoveAbsolute">
<summary>
Starts a new subpath at the coordinate (x y). Uses 2 floats of segment data.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgPathCommand.MoveRelative">
<summary>
Starts a new subpath at the coordinate (x y). Uses 2 floats of segment data.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgPathCommand.LineAbsolute">
<summary>
Draws a line to the coordinate (x y). Uses 2 floats of segment data.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgPathCommand.LineRelative">
<summary>
Draws a line to the coordinate (x y). Uses 2 floats of segment data.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgPathCommand.CubicAbsolute">
<summary>
Draws a cubic Bezier curve (x1 y1 x2 y2 x y). The curve ends at (x, y) and is defined by the two control points (x1, y1) and (x2, y2). Uses 6 floats of segment data.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgPathCommand.CubicRelative">
<summary>
Draws a cubic Bezier curve (x1 y1 x2 y2 x y). The curve ends at (x, y) and is defined by the two control points (x1, y1) and (x2, y2). Uses 6 floats of segment data.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgPathCommand.QuadraticAbsolute">
<summary>
Draws a quadratic Bezier curve (x1 y1 x y). The curve ends at (x, y) and is defined by the control point (x1 y1). Uses 4 floats of segment data.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgPathCommand.QuadraticRelative">
<summary>
Draws a quadratic Bezier curve (x1 y1 x y). The curve ends at (x, y) and is defined by the control point (x1 y1). Uses 4 floats of segment data.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgPathCommand.ArcAbsolute">
<summary>
Draws an elliptical arc (rx ry x-axis-rotation large-arc-flag sweep-flag x y). The curve ends at (x, y) and is defined by the arc parameters. The two flags are
considered set if their values are non-zero. Uses 7 floats of segment data.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgPathCommand.ArcRelative">
<summary>
Draws an elliptical arc (rx ry x-axis-rotation large-arc-flag sweep-flag x y). The curve ends at (x, y) and is defined by the arc parameters. The two flags are
considered set if their values are non-zero. Uses 7 floats of segment data.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgPathCommand.HorizontalAbsolute">
<summary>
Draws a horizontal line to the coordinate (x). Uses 1 float of segment data.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgPathCommand.HorizontalRelative">
<summary>
Draws a horizontal line to the coordinate (x). Uses 1 float of segment data.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgPathCommand.VerticalAbsolute">
<summary>
Draws a vertical line to the coordinate (y). Uses 1 float of segment data.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgPathCommand.VerticalRelative">
<summary>
Draws a vertical line to the coordinate (y). Uses 1 float of segment data.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgPathCommand.CubicSmoothAbsolute">
<summary>
Draws a smooth cubic Bezier curve (x2 y2 x y). The curve ends at (x, y) and is defined by the control point (x2, y2). Uses 4 floats of segment data.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgPathCommand.CubicSmoothRelative">
<summary>
Draws a smooth cubic Bezier curve (x2 y2 x y). The curve ends at (x, y) and is defined by the control point (x2, y2). Uses 4 floats of segment data.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgPathCommand.QuadraticSmoothAbsolute">
<summary>
Draws a smooth quadratic Bezier curve ending at (x, y). Uses 2 floats of segment data.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgPathCommand.QuadraticSmoothRelative">
<summary>
Draws a smooth quadratic Bezier curve ending at (x, y). Uses 2 floats of segment data.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.SvgPreserveAspectRatio">
<summary>
Represents all SVG preserveAspectRatio settings.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1svg/ns-d2d1svg-d2d1_svg_preserve_aspect_ratio">D2D1_SVG_PRESERVE_ASPECT_RATIO</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.SvgPreserveAspectRatio.Defer">
<summary>
Gets or sets the 'defer' portion of the preserveAspectRatio settings. This field only has an effect on
an 'image' element that references another SVG document. As this is not currently supported, the field
has no impact on rendering.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.SvgPreserveAspectRatio.Align">
<summary>
Gets or sets the align portion of the preserveAspectRatio settings.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.SvgPreserveAspectRatio.MeetOrSlice">
<summary>
Gets or sets the meetOrSlice portion of the preserveAspectRatio settings.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.SvgUnitType">
<summary>
Defines the coordinate system used for SVG gradient or clipPath elements.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1svg/ne-d2d1svg-d2d1_svg_unit_type">D2D1_SVG_UNIT_TYPE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgUnitType.UserSpaceOnUse">
<summary>
The property is set to SVG's 'userSpaceOnUse' value.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgUnitType.ObjectBoundingBox">
<summary>
The property is set to SVG's 'objectBoundingBox' value.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.SvgViewBox">
<summary>
Represents an SVG viewBox.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1svg/ns-d2d1svg-d2d1_svg_viewbox">D2D1_SVG_VIEWBOX</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.SvgViewBox.X">
<summary>
Gets or sets the X coordinate of the view box.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.SvgViewBox.Y">
<summary>
Gets or sets the X coordinate of the view box.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.SvgViewBox.Width">
<summary>
Gets or sets the width of the view box.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.SvgViewBox.Height">
<summary>
Gets or sets the height of the view box.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.SvgVisibility">
<summary>
Specifies a value for the SVG visibility property.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1svg/ne-d2d1svg-d2d1_svg_visibility">D2D1_SVG_VISIBILITY</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgVisibility.Visible">
<summary>
The element is visible.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SvgVisibility.Hidden">
<summary>
The element is invisible.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.SweepDirection">
<summary>
Defines the direction that an elliptical arc is drawn.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ne-d2d1-d2d1_sweep_direction">D2D1_SWEEP_DIRECTION</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SweepDirection.Counterclockwise">
<summary>
Arcs are drawn in a counterclockwise (negative-angle) direction.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.SweepDirection.Clockwise">
<summary>
Arcs are drawn in a clockwise (positive-angle) direction.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.TextAntialiasMode">
<summary>
Describes the antialiasing mode used for drawing text.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ne-d2d1-d2d1_text_antialias_mode">D2D1_TEXT_ANTIALIAS_MODE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.TextAntialiasMode.Default">
<summary>
Use the system default. For more information, see the Remarks section of <a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ne-d2d1-d2d1_text_antialias_mode">D2D1_TEXT_ANTIALIAS_MODE</a>.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.TextAntialiasMode.ClearType">
<summary>
Use ClearType antialiasing.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.TextAntialiasMode.Grayscale">
<summary>
Use grayscale antialiasing.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.TextAntialiasMode.Aliased">
<summary>
Do not use antialiasing.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.TextureFilter">
<summary>
Represents filtering modes that a transform may select to use on input textures.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/d2d1effectauthor/ne-d2d1effectauthor-d2d1_filter">D2D1_FILTER</a>
</summary>
<remarks>
The most common choices are <see cref="F:PaintDotNet.Direct2D1.TextureFilter.MinMagMipPoint"/> (point / nearest neighbor) and <see cref="F:PaintDotNet.Direct2D1.TextureFilter.MinMagMipLinear"/> (linear / bilinear).
</remarks>
</member>
<member name="F:PaintDotNet.Direct2D1.TextureFilter.MinMagMipPoint">
<summary>
Use point sampling for minification, magnification, and mip-level sampling. This is equivalent to InterpolationMode.NearestNeighbor.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.TextureFilter.MinMagPointMipLinear">
<summary>
Use point sampling for minification and magnification; use linear interpolation for mip-level sampling.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.TextureFilter.MinPointMagLinearMipPoint">
<summary>
Use point sampling for minification; use linear interpolation for magnification; use point sampling for mip-level sampling.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.TextureFilter.MinPointMagMipLinear">
<summary>
Use point sampling for minification; use linear interpolation for magnification and mip-level sampling.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.TextureFilter.MinLinearMagMipPoint">
<summary>
Use linear interpolation for minification; use point sampling for magnification and mip-level sampling.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.TextureFilter.MinLinearMagPointMipLinear">
<summary>
Use linear interpolation for minification; use point sampling for magnification; use linear interpolation for mip-level sampling.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.TextureFilter.MinMagLinearMipPoint">
<summary>
Use linear interpolation for minification and magnification; use point sampling for mip-level sampling.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.TextureFilter.MinMagMipLinear">
<summary>
Use linear interpolation for minification, magnification, and mip-level sampling. This is equivalent to InterpolationMode.Linear.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.TextureFilter.Anisotropic">
<summary>
Use anisotropic interpolation for minification, magnification, and mip-level sampling.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.Transform3DInterpolationMode">
<summary>
The interpolation mode the Transform3D effect uses on the image. There are 5 scale modes that range in quality and speed.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects/ne-d2d1effects-d2d1_3dtransform_interpolation_mode">D2D1_3DTRANSFORM_INTERPOLATION_MODE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.Transform3DInterpolationMode.NearestNeighbor">
<summary>
Samples the nearest single point and uses that. This mode uses less processing time, but outputs the lowest quality image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.Transform3DInterpolationMode.Linear">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.Transform3DInterpolationMode.Cubic">
<summary>
Uses a 16 sample cubic kernel for interpolation. This mode uses the most processing time, but outputs a higher quality image.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.Transform3DInterpolationMode.MultisampleLinear">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.Transform3DInterpolationMode.Anisotropic">
<summary>
Uses anisotropic filtering to sample a pattern according to the transformed shape of the bitmap.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.TransformedImageSourceOptions">
<summary>
Option flags for transformed image sources.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_3/ne-d2d1_3-d2d1_transformed_image_source_options">D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.TransformedImageSourceOptions.None">
<summary>
No option flags.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.TransformedImageSourceOptions.DisableDpiScale">
<summary>
Prevents the image source from being automatically scaled (by a ratio of the context DPI divided by 96) while drawn.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.TransformedImageSourceProperties">
<summary>
Properties of a transformed image source.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_3/ns-d2d1_3-d2d1_transformed_image_source_properties">D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES</a>
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.TransformedImageSourceProperties.Orientation">
<summary>
The orientation at which the image source is drawn.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.TransformedImageSourceProperties.ScaleX">
<summary>
The horizontal scale factor at which the image source is drawn.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.TransformedImageSourceProperties.ScaleY">
<summary>
The vertical scale factor at which the image source is drawn.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.TransformedImageSourceProperties.InterpolationMode">
<summary>
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.
</summary>
</member>
<member name="P:PaintDotNet.Direct2D1.TransformedImageSourceProperties.Options">
<summary>
Image source option flags.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.Triangle">
<summary>
Contains the three vertices that describe a triangle.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ns-d2d1-d2d1_triangle">D2D1_TRIANGLE</a>
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.TurbulenceNoise">
<summary>
The turbulence noise mode for the Turbulence effect. Indicates whether to generate a bitmap based on Fractal Noise or the Turbulence function.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1effects/ne-d2d1effects-d2d1_turbulence_noise">D2D1_TURBULENCE_NOISE</a>
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.TurbulenceNoise.FractalSum">
<summary>
Computes a sum of the octaves, shifting the output range from [-1, 1], to [0, 1].
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.TurbulenceNoise.Turbulence">
<summary>
Computes a sum of the absolute value of each octave.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.UnitMode">
<summary>
Specifies how units in Direct2D will be interpreted.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1_1/ne-d2d1_1-d2d1_unit_mode">D2D1_UNIT_MODE</a>
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.Win32ErrorException">
<summary>
An unknown Win32 failure occurred.
</summary>
</member>
<member name="T:PaintDotNet.Direct2D1.WindowState">
<summary>
Describes whether a window is occluded.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/d2d1/ne-d2d1-d2d1_window_state">D2D1_WINDOW_STATE</a>
</summary>
<remarks>
If the window was occluded the last time <see cref="M:PaintDotNet.Direct2D1.IDeviceContext.EndDraw"/> was called, the next time the device
context calls <see cref="M:PaintDotNet.Direct2D1.IHwndDeviceContext.CheckWindowState"/>, it returns <see cref="F:PaintDotNet.Direct2D1.WindowState.Occluded"/>
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.
</remarks>
</member>
<member name="F:PaintDotNet.Direct2D1.WindowState.None">
<summary>
The window is not occluded.
</summary>
</member>
<member name="F:PaintDotNet.Direct2D1.WindowState.Occluded">
<summary>
The window is occluded.
</summary>
</member>
<member name="T:PaintDotNet.Direct3D11.D3D11CreateDeviceFlag">
<summary>
See: https://msdn.microsoft.com/en-us/library/windows/desktop/ff476107(v=vs.85).aspx
</summary>
</member>
<member name="T:PaintDotNet.Direct3D11.D3D11FormatSupport">
<summary>
See D3D11_FORMAT_SUPPORT: https://msdn.microsoft.com/en-us/library/windows/desktop/ff476134(v=vs.85).aspx
</summary>
</member>
<member name="T:PaintDotNet.DirectWrite.BreakCondition">
<summary>
Indicates the condition at the edges of inline object or text used to determine line-breaking behavior.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.BreakCondition.Neutral">
<summary>
Indicates whether a break is allowed by determining the condition of the neighboring text span or inline object.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.BreakCondition.CanBreak">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.BreakCondition.MayNotBreak">
<summary>
Indicates that there should be no line break, unless overruled by a "must break" condition from the neighboring text span or inline object.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.BreakCondition.MustBreak">
<summary>
Indicates that the line break must happen, regardless of the condition of the adjacent text span or inline object.
</summary>
</member>
<member name="T:PaintDotNet.DirectWrite.ClusterMetrics">
<summary>
Contains information about a glyph cluster.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.ClusterMetrics.Width">
<summary>
The total advance width of all glyphs in the cluster.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.ClusterMetrics.Length">
<summary>
The number of text positions in the cluster.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.ClusterMetrics.CanWrapLineAfter">
<summary>
Indicates whether a line can be broken right after the cluster.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.ClusterMetrics.IsWhitespace">
<summary>
Indicates whether the cluster corresponds to a whitespace character.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.ClusterMetrics.IsNewline">
<summary>
Indicates whether the cluster corresponds to a newline character.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.ClusterMetrics.IsSoftHyphen">
<summary>
Indicates whether the cluster corresponds to a soft hyphen character.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.ClusterMetrics.IsRightToLeft">
<summary>
Indicates whether the cluster is read from right to left.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.DirectWriteError.FileFormat">
<summary>
Indicates an error in an input file such as a font file.
</summary>
<remarks>DWRITE_E_FILEFORMAT</remarks>
</member>
<member name="F:PaintDotNet.DirectWrite.DirectWriteError.Unexpected">
<summary>
Indicates an error originating in DirectWrite code, which is not expected to occur but is safe to recover from.
</summary>
<remarks>DWRITE_E_UNEXPECTED</remarks>
</member>
<member name="F:PaintDotNet.DirectWrite.DirectWriteError.NoFont">
<summary>
Indicates the specified font does not exist.
</summary>
<remarks>DWRITE_E_NOFONT</remarks>
</member>
<member name="F:PaintDotNet.DirectWrite.DirectWriteError.NoColor">
<summary>
Indicates that the font has no color information. This is returned from IDWriteFactory4::TranslateColorGlyphRun().
</summary>
<remarks>DWRITE_E_NOCOLOR</remarks>
</member>
<member name="F:PaintDotNet.DirectWrite.DirectWriteError.FileNotFound">
<summary>
A font file could not be opened because the file, directory, network location, drive, or other storage
location does not exist or is unavailable.
</summary>
<remarks>DWRITE_E_FILENOTFOUND</remarks>
</member>
<member name="F:PaintDotNet.DirectWrite.DirectWriteError.FileAccess">
<summary>
A font file exists but could not be opened due to access denied, sharing violation, or similar error.
</summary>
<remarks>DWRITE_E_FILEACCESS</remarks>
</member>
<member name="F:PaintDotNet.DirectWrite.DirectWriteError.FontCollectionObsolete">
<summary>
A font collection is obsolete due to changes in the system.
</summary>
<remarks>DWRITE_E_FONTCOLLECTIONOBSOLETE</remarks>
</member>
<member name="F:PaintDotNet.DirectWrite.DirectWriteError.AlreadyRegistered">
<summary>
The given interface is already registered.
</summary>
<remarks>DWRITE_E_ALREADYREGISTERED</remarks>
</member>
<member name="F:PaintDotNet.DirectWrite.DirectWriteError.RemoteFont">
<summary>
The remote font could not be constructed.
</summary>
<remarks>DWRITE_E_REMOTEFONT</remarks>
</member>
<member name="F:PaintDotNet.DirectWrite.DirectWriteError.FontCacheFormat">
<summary>
The font cache contains invalid data.
</summary>
<remarks>DWRITE_E_CACHEFORMAT</remarks>
</member>
<member name="F:PaintDotNet.DirectWrite.DirectWriteError.FontCacheVersion">
<summary>
A font cache file corresponds to a different version of DirectWrite.
</summary>
<remarks>DWRITE_E_CACHEVERSION</remarks>
</member>
<member name="F:PaintDotNet.DirectWrite.DirectWriteError.FontDownloadFailed">
<summary>
The font download failed.
</summary>
<remarks>DWRITE_E_DOWNLOADFAILED</remarks>
</member>
<member name="F:PaintDotNet.DirectWrite.DirectWriteError.TooManyFontDownloads">
<summary>
There are too many active font downloads.
</summary>
<remarks>DWRITE_E_TOOMANYDOWNLOADS</remarks>
</member>
<member name="F:PaintDotNet.DirectWrite.DirectWriteError.FontDownloadCancelled">
<summary>
The font download was cancelled.
</summary>
<remarks>DWRITE_E_DOWNLOADCANCELLED</remarks>
</member>
<member name="F:PaintDotNet.DirectWrite.DirectWriteError.UnsupportedOperation">
<summary>
The operation is not supported for this type of font.
</summary>
<remarks>DWRITE_E_UNSUPPORTEDOPERATION</remarks>
</member>
<member name="F:PaintDotNet.DirectWrite.DirectWriteError.FlowDirectionConflicts">
<summary>
The reading direction and flow direction must be 90 degrees orthogonal to each other.
</summary>
<remarks>DWRITE_E_FLOWDIRECTIONCONFLICTS</remarks>
</member>
<member name="F:PaintDotNet.DirectWrite.DirectWriteError.TextRendererIncompatible">
<summary>
When setting a vertical text direction, you must pass an interface that implements IDWriteTextRenderer1.
</summary>
<remarks>DWRITE_E_TEXTRENDERERINCOMPATIBLE</remarks>
</member>
<member name="T:PaintDotNet.DirectWrite.FlowDirection">
<summary>
Indicates the direction of how lines of text are placed relative to one another.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.FlowDirection.TopToBottom">
<summary>
Specifies that text lines are placed from top to bottom.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.FlowDirection.BottomToTop">
<summary>
Specifies that text lines are placed from bottom to top.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.FlowDirection.LeftToRight">
<summary>
Specifies that text lines are placed from left to right.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.FlowDirection.RightToLeft">
<summary>
Specifies that text lines are placed from right to left.
</summary>
</member>
<member name="T:PaintDotNet.DirectWrite.FontFeature">
<summary>
Specifies properties used to identify and execute typographic features in the current font face.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.FontFeature.NameTag">
<summary>
The feature OpenType name identifier.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.FontFeature.Parameter">
<summary>
The execution parameter of the feature.
</summary>
</member>
<member name="T:PaintDotNet.DirectWrite.FontLineGapUsage">
<summary>
Specifies whether the FontMetrics.LineGap value should be part of the line metrics
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.FontLineGapUsage.Default">
<summary>
The usage of the font line gap depends on the method used for text layout.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.FontLineGapUsage.Disabled">
<summary>
The font line gap is excluded from line spacing.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.FontLineGapUsage.Enabled">
<summary>
The font line gap is included in line spacing.
</summary>
</member>
<member name="T:PaintDotNet.DirectWrite.FontMetrics">
<summary>
The FontMetrics structure specifies the metrics that are applicable to all glyphs within the font face.<br/>
See <a href="https://learn.microsoft.com/en-us/windows/win32/api/dwrite_1/ns-dwrite_1-dwrite_font_metrics1">DWRITE_FONT_METRICS1</a>
for more information.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.FontMetrics.DesignUnitsPerEm">
<summary>
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 indentation value.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.FontMetrics.Ascent">
<summary>
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.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.FontMetrics.Descent">
<summary>
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.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.FontMetrics.LineGap">
<summary>
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.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.FontMetrics.CapHeight">
<summary>
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.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.FontMetrics.XHeight">
<summary>
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.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.FontMetrics.UnderlinePosition">
<summary>
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.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.FontMetrics.UnderlineThickness">
<summary>
The suggested underline thickness value of the font face in font design units.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.FontMetrics.StrikethroughPosition">
<summary>
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.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.FontMetrics.StrikethroughThickness">
<summary>
The suggested strikethrough thickness value of the font face in font design units.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.FontMetrics.GlyphBoxLeft">
<summary>
Left edge of accumulated bounding blackbox of all glyphs in the font.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.FontMetrics.GlyphBoxTop">
<summary>
Top edge of accumulated bounding blackbox of all glyphs in the font.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.FontMetrics.GlyphBoxRight">
<summary>
Right edge of accumulated bounding blackbox of all glyphs in the font.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.FontMetrics.GlyphBoxBottom">
<summary>
Bottom edge of accumulated bounding blackbox of all glyphs in the font.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.FontMetrics.SubscriptPositionX">
<summary>
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.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.FontMetrics.SubscriptPositionY">
<summary>
Vertical position of the subscript relative to the baseline. This is typically negative.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.FontMetrics.SubscriptSizeX">
<summary>
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.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.FontMetrics.SubscriptSizeY">
<summary>
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.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.FontMetrics.SuperscriptPositionX">
<summary>
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.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.FontMetrics.SuperscriptPositionY">
<summary>
Vertical position of the superscript relative to the baseline. This is typically positive.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.FontMetrics.SuperscriptSizeX">
<summary>
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.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.FontMetrics.SuperscriptSizeY">
<summary>
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.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.FontMetrics.HasTypographicMetrics">
<summary>
A boolean value that indicates that the ascent, descent, and lineGap are based on newer 'typographic' values in the font, rather than legacy values.
</summary>
</member>
<member name="T:PaintDotNet.DirectWrite.FontSimulations">
<summary>
Specifies algorithmic style simulations to be applied to the font face. Bold and oblique simulations can be combined via bitwise OR operation.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.FontSimulations.None">
<summary>
Indicates that no simulations are applied to the font face.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.FontSimulations.Bold">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.FontSimulations.Oblique">
<summary>
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.
</summary>
</member>
<member name="T:PaintDotNet.DirectWrite.FontStretch">
<summary>
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.
</summary>
</member>
<member name="T:PaintDotNet.DirectWrite.FontStyle">
<summary>
Represents the style of a font face as normal, italic, or oblique.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.FontStyle.Normal">
<summary>
The characters in a normal, or roman, font are upright.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.FontStyle.Oblique">
<summary>
The characters in an oblique font are artificially slanted.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.FontStyle.Italic">
<summary>
The characters in an italic font are truly slanted and appear as they were designed.
</summary>
</member>
<member name="T:PaintDotNet.DirectWrite.FontWeight">
<summary>
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.<br/>
See <a href="https://learn.microsoft.com/en-us/windows/win32/api/dwrite/ne-dwrite-dwrite_font_weight">DWRITE_FONT_WEIGHT</a>
for more information.
</summary>
</member>
<member name="T:PaintDotNet.DirectWrite.GlyphImageFormats">
<summary>
Specifies which formats are supported in the font, either at a font-wide level or per glyph.<br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/dcommon/ne-dcommon-dwrite_glyph_image_formats">DWRITE_GLYPH_IMAGE_FORMATS</a>
</summary>
</member>
<member name="T:PaintDotNet.DirectWrite.GridFitMode">
<summary>
Specifies whether to enable grid-fitting of glyph outlines (also known as hinting).
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.GridFitMode.Default">
<summary>
Choose grid fitting based on the font's table information.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.GridFitMode.Disabled">
<summary>
Always disable grid fitting, using the ideal glyph outlines.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.GridFitMode.Enabled">
<summary>
Enable grid fitting, adjusting glyph outlines for device pixel display.
</summary>
</member>
<member name="T:PaintDotNet.DirectWrite.HitTestMetrics">
<summary>
Describes the region obtained by a hit test.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.HitTestMetrics.TextPosition">
<summary>
The first text position within the hit region.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.HitTestMetrics.Length">
<summary>
The number of text positions within the hit region.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.HitTestMetrics.Left">
<summary>
The x-coordinate of the upper-left corner of the hit region.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.HitTestMetrics.Top">
<summary>
The y-coordinate of the upper-left corner of the hit region.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.HitTestMetrics.Width">
<summary>
The width of the hit region.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.HitTestMetrics.Height">
<summary>
The height of the hit region.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.HitTestMetrics.BidiLevel">
<summary>
The BIDI level of the text positions within the hit region.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.HitTestMetrics.IsText">
<summary>
true if the hit region contains text; otherwise, false.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.HitTestMetrics.IsTrimmed">
<summary>
true if the text range is trimmed; otherwise, false.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.HitTestPointResult.IsTrailingHit">
<summary>
A flag that indicates whether the hit-test location is at the leading or the trailing side of the character.
When the IsInside value is set to FALSE, this value is set according to the output Metrics.TextPosition
value to represent the edge closest to the hit-test location.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.HitTestPointResult.IsInside">
<summary>
An output flag that indicates whether the hit-test location is inside the text string.
When FALSE, the position nearest the text's edge is returned.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.HitTestPointResult.Metrics">
<summary>
The output geometry fully enclosing the hit-test location. When the output IsInside value is set to FALSE,
this structure represents the geometry enclosing the edge closest to the hit-test location.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.HitTestTextPositionResult.Point">
<summary>
Contains the output pixel location, relative to the top-left location of the layout box.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.HitTestTextPositionResult.Metrics">
<summary>
Contains the output geometry fully enclosing the specified text position.
</summary>
</member>
<member name="T:PaintDotNet.DirectWrite.IDirectWriteFactory">
<summary>
Used to create all subsequent DirectWrite objects. This interface is the root factory interface for all DirectWrite objects.<br/>
<br/>
This interface corresponds to the following DirectWrite interfaces:<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/dwrite/nn-dwrite-idwritefactory">IDWriteFactory</a>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/dwrite_1/nn-dwrite_1-idwritefactory1">IDWriteFactory1</a>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/dwrite_2/nn-dwrite_2-idwritefactory2">IDWriteFactory2</a>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/dwrite_3/nn-dwrite_3-idwritefactory3">IDWriteFactory3</a>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/dwrite_3/nn-dwrite_3-idwritefactory4">IDWriteFactory4</a>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/dwrite_3/nn-dwrite_3-idwritefactory5">IDWriteFactory5</a>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/dwrite_3/nn-dwrite_3-idwritefactory6">IDWriteFactory6</a>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/dwrite_3/nn-dwrite_3-idwritefactory7">IDWriteFactory7</a><br/>
<br/>
<b>NOTE:</b> Not all DirectWrite functionality is supported.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.InlineObjectMetrics.Width">
<summary>
The width of the inline object.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.InlineObjectMetrics.Height">
<summary>
The height of the inline object.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.InlineObjectMetrics.Baseline">
<summary>
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.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.InlineObjectMetrics.SupportsSideways">
<summary>
A flag that indicates whether the object is to be placed upright or alongside the text baseline for vertical text.
</summary>
</member>
<member name="T:PaintDotNet.DirectWrite.LineMetrics">
<summary>
Contains information about a formatted line of text.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.LineMetrics.Length">
<summary>
The number of text positions in the text line. This includes any trailing whitespace and newline characters.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.LineMetrics.TrailingWhitespaceLength">
<summary>
The number of whitespace positions at the end of the text line. Newline sequences are considered whitespace.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.LineMetrics.NewlineLength">
<summary>
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.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.LineMetrics.Height">
<summary>
The height of the text line.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.LineMetrics.Baseline">
<summary>
The distance from the top of the text line to its baseline.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.LineMetrics.IsTrimmed">
<summary>
The line is trimmed.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.LineMetrics.LeadingBefore">
<summary>
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.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.LineMetrics.LeadingAfter">
<summary>
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.
</summary>
</member>
<member name="T:PaintDotNet.DirectWrite.LineSpacing">
<summary>
Sets the vertical spacing between lines of text.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.LineSpacing.Method">
<summary>
Method used to determine line spacing.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.LineSpacing.Height">
<summary>
Spacing between lines. The interpretation of this parameter depends upon the line spacing method, as follows:
* Default 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.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.LineSpacing.Baseline">
<summary>
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.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.LineSpacing.LeadingBefore">
<summary>
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.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.LineSpacing.FontLineGapUsage">
<summary>
Specifies whether the font metrics' line gap value should be part of the line metrics.
</summary>
</member>
<member name="T:PaintDotNet.DirectWrite.LineSpacingMethod">
<summary>
The method used for line spacing in a text layout.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.LineSpacingMethod.Default">
<summary>
Line spacing depends solely on the content, adjusting to accommodate the size of fonts and inline objects.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.LineSpacingMethod.Uniform">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.LineSpacingMethod.Proportional">
<summary>
Line spacing and baseline distances are proportional to the computed values based on the content, the size of the fonts and inline objects.
</summary>
</member>
<member name="T:PaintDotNet.DirectWrite.OverhangMetrics">
<summary>
Indicates how much any visible DIPs (device independent pixels) overshoot each side of the layout or inline objects.
</summary>
<remarks>
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.
</remarks>
</member>
<member name="P:PaintDotNet.DirectWrite.OverhangMetrics.Left">
<summary>
Gets the distance from the left-most visible DIP to its alignment edge.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.OverhangMetrics.Top">
<summary>
Gets the distance from the top-most visible DIP to its alignment edge.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.OverhangMetrics.Right">
<summary>
Gets the distance from the right-most visible DIP to its alignment edge.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.OverhangMetrics.Bottom">
<summary>
Gets the distance from the bottom-most visible DIP to its alignment edge.
</summary>
</member>
<member name="T:PaintDotNet.DirectWrite.ParagraphAlignment">
<summary>
Specifies the alignment of paragraph text along the flow direction axis, relative to the top and bottom of the flow's layout box.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.ParagraphAlignment.Near">
<summary>
The top of the text flow is aligned to the top edge of the layout box.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.ParagraphAlignment.Far">
<summary>
The bottom of the text flow is aligned to the bottom edge of the layout box.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.ParagraphAlignment.Center">
<summary>
The center of the flow is aligned to the center of the layout box.
</summary>
</member>
<member name="T:PaintDotNet.DirectWrite.PixelGeometry">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.PixelGeometry.Flat">
<summary>
The red, green, and blue color components of each pixel are assumed to occupy the same point.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.PixelGeometry.Rgb">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.PixelGeometry.Bgr">
<summary>
Each pixel is composed of three vertical stripes, with blue on the left, green in the center, and red on the right.
</summary>
</member>
<member name="T:PaintDotNet.DirectWrite.ReadingDirection">
<summary>
Specifies the direction in which reading progresses.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.TextMeasuringMode.Natural">
<summary>
Specifies that text is measured using glyph ideal metrics whose values are independent to the current display resolution.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.TextMeasuringMode.GdiClassic">
<summary>
Specifies that text is measured using glyph display-compatible metrics whose values tuned for the current display resolution.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.TextMeasuringMode.GdiNatural">
<summary>
Specifies that text is measured using the same glyph display metrics as text measured by GDI using a font created with CLEARTYPE_NATURAL_QUALITY.
</summary>
</member>
<member name="T:PaintDotNet.DirectWrite.TextMetrics">
<summary>
Contains the metrics associated with text after layout. All coordinates are in device independent pixels (DIPs).
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.TextMetrics.Left">
<summary>
A value that indicates the left-most point of formatted text relative to the layout box, while excluding any glyph overhang.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.TextMetrics.Top">
<summary>
A value that indicates the top-most point of formatted text relative to the layout box, while excluding any glyph overhang.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.TextMetrics.Width">
<summary>
A value that indicates the width of the formatted text, while ignoring trailing whitespace at the end of each line.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.TextMetrics.WidthIncludingTrailingWhitespace">
<summary>
The width of the formatted text, taking into account the trailing whitespace at the end of each line.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.TextMetrics.WidthMax">
<summary>
Gets the maximum value of Width and WidthIncludingTrailingWhitespace.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.TextMetrics.Height">
<summary>
The height of the formatted text. The height of an empty string is set to the same value as that of the default font.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.TextMetrics.HeightIncludingTrailingWhitespace">
<summary>
The height of the formatted text taking into account the trailing whitespace at the end of each line. This is pertinent for vertical text.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.TextMetrics.HeightMax">
<summary>
Gets the maximum value of Height and HeightIncludingTrailingWhitespace.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.TextMetrics.LayoutWidth">
<summary>
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.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.TextMetrics.LayoutHeight">
<summary>
Initial height given to the layout. Depending on the length of the text, it may be larger or smaller than the text content height.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.TextMetrics.MaxBidiReorderingDepth">
<summary>
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.
</summary>
</member>
<member name="T:PaintDotNet.DirectWrite.TextRenderingMode">
<summary>
Represents a method of rendering glyphs.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.TextRenderingMode.Default">
<summary>
Specifies that the rendering mode is determined automatically, based on the font and size.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.TextRenderingMode.Aliased">
<summary>
Specifies that no anti-aliasing is performed. Each pixel is either set to the foreground color of the text or retains the color of the background.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.TextRenderingMode.GdiClassic">
<summary>
Specifies that antialiasing is performed in the horizontal direction and the appearance of glyphs is layout-compatible with GDI using CLEARTYPE_QUALITY.
Use TextMeasuringMode.GdiClassic to get glyph advances. The antialiasing may be either ClearType or grayscale depending on the text antialiasing mode.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.TextRenderingMode.GdiNatural">
<summary>
Specifies that antialiasing is performed in the horizontal direction and the appearance of glyphs is layout-compatible with GDI using CLEARTYPE_NATURAL_QUALITY.
Glyph advances are close to the font design advances, but are still rounded to whole pixels. Use TextMeasuringMode.GdiNatural to get glyph advances.
The antialiasing may be either ClearType or grayscale depending on the text antialiasing mode.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.TextRenderingMode.Natural">
<summary>
Specifies that antialiasing is performed in the horizontal direction. This rendering mode allows glyphs to be positioned with subpixel precision and
is therefore suitable for natural (i.e., resolution-independent) layout.
The antialiasing may be either ClearType or grayscale depending on the text antialiasing mode.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.TextRenderingMode.NaturalSymmetric">
<summary>
Similar to natural mode except that antialiasing is performed in both the horizontal and vertical directions.
This is typically used at larger sizes to make curves and diagonal lines look smoother.
The antialiasing may be either ClearType or grayscale depending on the text antialiasing mode.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.TextRenderingMode.Outline">
<summary>
Specifies that rendering should bypass the rasterizer and use the outlines directly. This is typically used at very large sizes.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.TextRenderingMode.NaturalSymmetricDownsampled">
<summary>
Similar to natural symmetric mode except that when possible, text should be rasterized in a downsampled form.
</summary>
</member>
<member name="T:PaintDotNet.DirectWrite.TrimmingGranularity">
<summary>
Specifies the text granularity used to trim text overflowing the layout box.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.TrimmingGranularity.None">
<summary>
No trimming occurs. Text flows beyond the layout width.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.TrimmingGranularity.Character">
<summary>
Trimming occurs at a character cluster boundary.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.TrimmingGranularity.Word">
<summary>
Trimming occurs at a word boundary.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.TrimmingParameters.Granularity">
<summary>
A value that specifies the text granularity used to trim text overflowing the layout box.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.TrimmingParameters.Delimiter">
<summary>
A character code used as the delimiter that signals the beginning of the portion of text to be preserved.
Text starting from the Nth occurrence 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.
</summary>
</member>
<member name="P:PaintDotNet.DirectWrite.TrimmingParameters.DelimiterCount">
<summary>
The delimiter count, counting from the end of the text, to preserve text from.
</summary>
</member>
<member name="T:PaintDotNet.DirectWrite.UnexpectedDirectWriteException">
<summary>
Indicates an error originating in DirectWrite code, which is not expected to occur but is safe to recover from.
</summary>
</member>
<member name="T:PaintDotNet.DirectWrite.WordWrapping">
<summary>
Specifies the word wrapping to be used in a particular multiline paragraph.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.WordWrapping.Wrap">
<summary>
Indicates that words are broken across lines to avoid text overflowing the layout box.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.WordWrapping.NoWrap">
<summary>
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.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.WordWrapping.EmergencyBreak">
<summary>
Words are broken across lines to avoid text overflowing the layout box. Emergency wrapping occurs if the word is larger than the maximum width.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.WordWrapping.WholeWord">
<summary>
When emergency wrapping, only wrap whole words, never breaking words when the layout width is too small for even a single word.
</summary>
</member>
<member name="F:PaintDotNet.DirectWrite.WordWrapping.Character">
<summary>
Wrap between any valid character clusters.
</summary>
</member>
<member name="T:PaintDotNet.Dxgi.DxgiAlphaMode">
<summary>
Identifies the alpha value, transparency behavior, of a surface.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/dxgi1_2/ne-dxgi1_2-dxgi_alpha_mode">DXGI_ALPHA_MODE</a>
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiAlphaMode.Unspecified">
<summary>
Indicates that the transparency behavior is not specified.
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiAlphaMode.Premultiplied">
<summary>
Indicates that the transparency behavior is 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.
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiAlphaMode.Straight">
<summary>
Indicates that the transparency behavior is not premultiplied. The alpha channel indicates the transparency of
the color.
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiAlphaMode.Ignore">
<summary>
Indicates to ignore the transparency behavior.
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiColorSpace.RgbFullGamma22NoneP709">
<summary>
<list type="table">
<listheader>
<description>
<b>Property</b>
</description>
<description>
<b>Value</b>
</description>
</listheader>
<item>
<description>Colorspace</description>
<description>RGB</description>
</item>
<item>
<description>Range</description>
<description>0-255</description>
</item>
<item>
<description>Gamma</description>
<description>2.2</description>
</item>
<item>
<description>Siting</description>
<description>Image</description>
</item>
<item>
<description>Primaries</description>
<description>BT.709</description>
</item>
</list>
<para>This is the standard definition for sRGB.</para>
<para>Note that this is often implemented with a linear segment, but in that case the exponent is corrected to stay aligned with a gamma 2.2 curve.</para>
<para>This is usually used with 8 or 10 bit color channels.</para>
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiColorSpace.RgbFullGamma10NoneP709">
<summary>
<list type="table">
<listheader>
<description>
<b>Property</b>
</description>
<description>
<b>Value</b>
</description>
</listheader>
<item>
<description>Colorspace</description>
<description>RGB</description>
</item>
<item>
<description>Range</description>
<description>0-255</description>
</item>
<item>
<description>Gamma</description>
<description>1.0</description>
</item>
<item>
<description>Siting</description>
<description>Image</description>
</item>
<item>
<description>Primaries</description>
<description>BT.709</description>
</item>
</list>
<para>This is the standard definition for scRGB, and is usually used with 16 bit integer, 16 bit floating point, or 32 bit floating point color channels.</para>
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiColorSpace.RgbStudioGamma22NoneP709">
<summary>
<list type="table">
<listheader>
<description>
<b>Property</b>
</description>
<description>
<b>Value</b>
</description>
</listheader>
<item>
<description>Colorspace</description>
<description>RGB</description>
</item>
<item>
<description>Range</description>
<description>16-235</description>
</item>
<item>
<description>Gamma</description>
<description>2.2</description>
</item>
<item>
<description>Siting</description>
<description>Image</description>
</item>
<item>
<description>Primaries</description>
<description>BT.709</description>
</item>
</list>
<para>This is the standard definition for ITU-R Recommendation BT.709. Note that due to the inclusion of a linear segment, the transfer curve looks similar to a pure exponential gamma of 1.9.</para>
<para>This is usually used with 8 or 10 bit color channels.</para>
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiColorSpace.RgbStudioGamma22NoneP2020">
<summary>
<list type="table">
<listheader>
<description>
<b>Property</b>
</description>
<description>
<b>Value</b>
</description>
</listheader>
<item>
<description>Colorspace</description>
<description>RGB</description>
</item>
<item>
<description>Range</description>
<description>16-235</description>
</item>
<item>
<description>Gamma</description>
<description>2.2</description>
</item>
<item>
<description>Siting</description>
<description>Image</description>
</item>
<item>
<description>Primaries</description>
<description>BT.2020</description>
</item>
</list>
<para>This is usually used with 10 or 12 bit color channels.</para>
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiColorSpace.Reserved">
<summary>
<para>Reserved.</para>
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiColorSpace.YCbCrFullGamma22NoneP709X601">
<summary>
<list type="table">
<listheader>
<description>
<b>Property</b>
</description>
<description>
<b>Value</b>
</description>
</listheader>
<item>
<description>Colorspace</description>
<description>YCbCr</description>
</item>
<item>
<description>Range</description>
<description>0-255</description>
</item>
<item>
<description>Gamma</description>
<description>2.2</description>
</item>
<item>
<description>Siting</description>
<description>Image</description>
</item>
<item>
<description>Primaries</description>
<description>BT.709</description>
</item>
<item>
<description>Transfer Matrix</description>
<description>BT.601</description>
</item>
</list>
<para>This definition is commonly used for JPG, and is usually used with 8, 10, or 12 bit color channels.</para>
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiColorSpace.YCbCrStudioGamma22LeftP601">
<summary>
<list type="table">
<listheader>
<description>
<b>Property</b>
</description>
<description>
<b>Value</b>
</description>
</listheader>
<item>
<description>Colorspace</description>
<description>YCbCr</description>
</item>
<item>
<description>Range</description>
<description>16-235</description>
</item>
<item>
<description>Gamma</description>
<description>2.2</description>
</item>
<item>
<description>Siting</description>
<description>Video</description>
</item>
<item>
<description>Primaries</description>
<description>BT.601</description>
</item>
</list>
<para>This definition is commonly used for MPEG2, and is usually used with 8, 10, or 12 bit color channels.</para>
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiColorSpace.YCbCrFullGamma22LeftP601">
<summary>
<list type="table">
<listheader>
<description>
<b>Property</b>
</description>
<description>
<b>Value</b>
</description>
</listheader>
<item>
<description>Colorspace</description>
<description>YCbCr</description>
</item>
<item>
<description>Range</description>
<description>0-255</description>
</item>
<item>
<description>Gamma</description>
<description>2.2</description>
</item>
<item>
<description>Siting</description>
<description>Video</description>
</item>
<item>
<description>Primaries</description>
<description>BT.601</description>
</item>
</list>
<para>This is sometimes used for H.264 camera capture, and is usually used with 8, 10, or 12 bit color channels.</para>
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiColorSpace.YCbCrStudioG22LeftP709">
<summary>
<list type="table">
<listheader>
<description>
<b>Property</b>
</description>
<description>
<b>Value</b>
</description>
</listheader>
<item>
<description>Colorspace</description>
<description>YCbCr</description>
</item>
<item>
<description>Range</description>
<description>16-235</description>
</item>
<item>
<description>Gamma</description>
<description>2.2</description>
</item>
<item>
<description>Siting</description>
<description>Video</description>
</item>
<item>
<description>Primaries</description>
<description>BT.709</description>
</item>
</list>
<para>This definition is commonly used for H.264 and HEVC, and is usually used with 8, 10, or 12 bit color channels.</para>
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiColorSpace.YCbCrFullGamma22LeftP709">
<summary>
<list type="table">
<listheader>
<description>
<b>Property</b>
</description>
<description>
<b>Value</b>
</description>
</listheader>
<item>
<description>Colorspace</description>
<description>YCbCr</description>
</item>
<item>
<description>Range</description>
<description>0-255</description>
</item>
<item>
<description>Gamma</description>
<description>2.2</description>
</item>
<item>
<description>Siting</description>
<description>Video</description>
</item>
<item>
<description>Primaries</description>
<description>BT.709</description>
</item>
</list>
<para>This is sometimes used for H.264 camera capture, and is usually used with 8, 10, or 12 bit color channels.</para>
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiColorSpace.YCbCrStudioGamma22LeftP2020">
<summary>
<list type="table">
<listheader>
<description>
<b>Property</b>
</description>
<description>
<b>Value</b>
</description>
</listheader>
<item>
<description>Colorspace</description>
<description>YCbCr</description>
</item>
<item>
<description>Range</description>
<description>16-235</description>
</item>
<item>
<description>Gamma</description>
<description>2.2</description>
</item>
<item>
<description>Siting</description>
<description>Video</description>
</item>
<item>
<description>Primaries</description>
<description>BT.2020</description>
</item>
</list>
<para>This definition may be used by HEVC, and is usually used with 10 or 12 bit color channels.</para>
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiColorSpace.YCbCrFullGamma22LeftP2020">
<summary>
<list type="table">
<listheader>
<description>
<b>Property</b>
</description>
<description>
<b>Value</b>
</description>
</listheader>
<item>
<description>Colorspace</description>
<description>YCbCr</description>
</item>
<item>
<description>Range</description>
<description>0-255</description>
</item>
<item>
<description>Gamma</description>
<description>2.2</description>
</item>
<item>
<description>Siting</description>
<description>Video</description>
</item>
<item>
<description>Primaries</description>
<description>BT.2020</description>
</item>
</list>
<para>This is usually used with 10 or 12 bit color channels.</para>
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiColorSpace.RgbFullGamma2084NoneP2020">
<summary>
<list type="table">
<listheader>
<description>
<b>Property</b>
</description>
<description>
<b>Value</b>
</description>
</listheader>
<item>
<description>Colorspace</description>
<description>RGB</description>
</item>
<item>
<description>Range</description>
<description>0-255</description>
</item>
<item>
<description>Gamma</description>
<description>2084</description>
</item>
<item>
<description>Siting</description>
<description>Image</description>
</item>
<item>
<description>Primaries</description>
<description>BT.2020</description>
</item>
</list>
<para>This is usually used with 10 or 12 bit color channels.</para>
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiColorSpace.YCbCrStudioGamma2084LeftP2020">
<summary>
<list type="table">
<listheader>
<description>
<b>Property</b>
</description>
<description>
<b>Value</b>
</description>
</listheader>
<item>
<description>Colorspace</description>
<description>YCbCr</description>
</item>
<item>
<description>Range</description>
<description>16-235</description>
</item>
<item>
<description>Gamma</description>
<description>2084</description>
</item>
<item>
<description>Siting</description>
<description>Video</description>
</item>
<item>
<description>Primaries</description>
<description>BT.2020</description>
</item>
</list>
<para>This is usually used with 10 or 12 bit color channels.</para>
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiColorSpace.RgbStudioGamma2084NoneP2020">
<summary>
<list type="table">
<listheader>
<description>
<b>Property</b>
</description>
<description>
<b>Value</b>
</description>
</listheader>
<item>
<description>Colorspace</description>
<description>RGB</description>
</item>
<item>
<description>Range</description>
<description>16-235</description>
</item>
<item>
<description>Gamma</description>
<description>2084</description>
</item>
<item>
<description>Siting</description>
<description>Image</description>
</item>
<item>
<description>Primaries</description>
<description>BT.2020</description>
</item>
</list>
<para>This is usually used with 10 or 12 bit color channels.</para>
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiColorSpace.YCbCrStudioGamma22TopLeftP2020">
<summary>
<list type="table">
<listheader>
<description>
<b>Property</b>
</description>
<description>
<b>Value</b>
</description>
</listheader>
<item>
<description>Colorspace</description>
<description>YCbCr</description>
</item>
<item>
<description>Range</description>
<description>16-235</description>
</item>
<item>
<description>Gamma</description>
<description>2.2</description>
</item>
<item>
<description>Siting</description>
<description>Video</description>
</item>
<item>
<description>Primaries</description>
<description>BT.2020</description>
</item>
</list>
<para>This is usually used with 10 or 12 bit color channels.</para>
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiColorSpace.YCbCrStudioGamma2084TopLeftP2020">
<summary>
<list type="table">
<listheader>
<description>
<b>Property</b>
</description>
<description>
<b>Value</b>
</description>
</listheader>
<item>
<description>Colorspace</description>
<description>YCbCr</description>
</item>
<item>
<description>Range</description>
<description>16-235</description>
</item>
<item>
<description>Gamma</description>
<description>2084</description>
</item>
<item>
<description>Siting</description>
<description>Video</description>
</item>
<item>
<description>Primaries</description>
<description>BT.2020</description>
</item>
</list>
<para>This is usually used with 10 or 12 bit color channels.</para>
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiColorSpace.RgbFullGamma22NoneP2020">
<summary>
<list type="table">
<listheader>
<description>
<b>Property</b>
</description>
<description>
<b>Value</b>
</description>
</listheader>
<item>
<description>Colorspace</description>
<description>RGB</description>
</item>
<item>
<description>Range</description>
<description>0-255</description>
</item>
<item>
<description>Gamma</description>
<description>2.2</description>
</item>
<item>
<description>Siting</description>
<description>Image</description>
</item>
<item>
<description>Primaries</description>
<description>BT.2020</description>
</item>
</list>
<para>This is usually used with 10 or 12 bit color channels.</para>
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiColorSpace.YCbCrStudioGammaHlgTopLeftP2020">
<summary>
<list type="table">
<listheader>
<description>
<b>Property</b>
</description>
<description>
<b>Value</b>
</description>
</listheader>
<item>
<description>Colorspace</description>
<description>YCBCR</description>
</item>
<item>
<description>Range</description>
<description>16-235</description>
</item>
<item>
<description>Gamma</description>
<description>HLG</description>
</item>
<item>
<description>Siting</description>
<description>Video</description>
</item>
<item>
<description>Primaries</description>
<description>BT.2020</description>
</item>
</list>
<para>This is usually used with 10 or 12 bit color channels.</para>
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiColorSpace.YCbCrFullGammaHlgTopLeftP2020">
<summary>
<list type="table">
<listheader>
<description>
<b>Property</b>
</description>
<description>
<b>Value</b>
</description>
</listheader>
<item>
<description>Colorspace</description>
<description>YCBCR</description>
</item>
<item>
<description>Range</description>
<description>0-255</description>
</item>
<item>
<description>Gamma</description>
<description>HLG</description>
</item>
<item>
<description>Siting</description>
<description>Video</description>
</item>
<item>
<description>Primaries</description>
<description>BT.2020</description>
</item>
</list>
<para>This is usually used with 10 or 12 bit color channels.</para>
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiColorSpace.RgbStudioGamma24NoneP709">
<summary>
<list type="table">
<listheader>
<description>
<b>Property</b>
</description>
<description>
<b>Value</b>
</description>
</listheader>
<item>
<description>Colorspace</description>
<description>RGB</description>
</item>
<item>
<description>Range</description>
<description>16-235</description>
</item>
<item>
<description>Gamma</description>
<description>2.4</description>
</item>
<item>
<description>Siting</description>
<description>Image</description>
</item>
<item>
<description>Primaries</description>
<description>BT.709</description>
</item>
</list>
<para>This is usually used with 8, 10, or 12 bit color channels.</para>
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiColorSpace.RgbStudioGamma24NoneP2020">
<summary>
<list type="table">
<listheader>
<description>
<b>Property</b>
</description>
<description>
<b>Value</b>
</description>
</listheader>
<item>
<description>Colorspace</description>
<description>RGB</description>
</item>
<item>
<description>Range</description>
<description>16-235</description>
</item>
<item>
<description>Gamma</description>
<description>2.4</description>
</item>
<item>
<description>Siting</description>
<description>Image</description>
</item>
<item>
<description>Primaries</description>
<description>BT.2020</description>
</item>
</list>
<para>This is usually used with 10 or 12 bit color channels.</para>
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiColorSpace.YCbCrStudioGamma24LeftP709">
<summary>
<list type="table">
<listheader>
<description>
<b>Property</b>
</description>
<description>
<b>Value</b>
</description>
</listheader>
<item>
<description>Colorspace</description>
<description>YCBCR</description>
</item>
<item>
<description>Range</description>
<description>16-235</description>
</item>
<item>
<description>Gamma</description>
<description>2.4</description>
</item>
<item>
<description>Siting</description>
<description>Video</description>
</item>
<item>
<description>Primaries</description>
<description>BT.709</description>
</item>
</list>
<para>This is usually used with 8, 10, or 12 bit color channels.</para>
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiColorSpace.YCbCrStudioGamma24LeftP2020">
<summary>
<list type="table">
<listheader>
<description>
<b>Property</b>
</description>
<description>
<b>Value</b>
</description>
</listheader>
<item>
<description>Colorspace</description>
<description>YCBCR</description>
</item>
<item>
<description>Range</description>
<description>16-235</description>
</item>
<item>
<description>Gamma</description>
<description>2.4</description>
</item>
<item>
<description>Siting</description>
<description>Video</description>
</item>
<item>
<description>Primaries</description>
<description>BT.2020</description>
</item>
</list>
<para>This is usually used with 10 or 12 bit color channels.</para>
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiColorSpace.YCbCrStudioGamma24TopLeft2020">
<summary>
<list type="table">
<listheader>
<description>
<b>Property</b>
</description>
<description>
<b>Value</b>
</description>
</listheader>
<item>
<description>Colorspace</description>
<description>YCBCR</description>
</item>
<item>
<description>Range</description>
<description>16-235</description>
</item>
<item>
<description>Gamma</description>
<description>2.4</description>
</item>
<item>
<description>Siting</description>
<description>Video</description>
</item>
<item>
<description>Primaries</description>
<description>BT.2020</description>
</item>
</list>
<para>This is usually used with 10 or 12 bit color channels.</para>
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiColorSpace.Custom">
<summary>
A custom color definition is used.
</summary>
</member>
<member name="T:PaintDotNet.Dxgi.DxgiFormat">
<summary>
Resource data formats, including fully-typed and typeless formats.<br/>
See <a href="https://learn.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format">DXGI_FORMAT</a> for more information.
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiFormat.Unknown">
<summary>
The format is not known.
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiFormat.R32G32B32A32_Float">
<summary>
A four-component, 128-bit floating-point format that supports 32 bits per channel including alpha.
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiFormat.R32G32B32_Float">
<summary>
A three-component, 96-bit floating-point format that supports 32 bits per color channel.
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiFormat.R16G16B16A16_Float">
<summary>
A four-component, 64-bit floating-point format that supports 16 bits per channel including alpha.
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiFormat.R16G16B16A16_UNorm">
<summary>
A four-component, 64-bit unsigned-normalized-integer format that supports 16 bits per channel including alpha.
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiFormat.R8G8B8A8_UNorm">
<summary>
A four-component, 32-bit unsigned-normalized-integer format that supports 8 bits per channel including alpha.
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiFormat.R8G8B8A8_UNorm_Srgb">
<summary>
A four-component, 32-bit unsigned-normalized integer sRGB format that supports 8 bits per channel including alpha.
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiFormat.A8_UNorm">
<summary>
A single-component, 8-bit unsigned-normalized-integer format for alpha only.
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiFormat.B8G8R8A8_UNorm">
<summary>
A four-component, 32-bit unsigned-normalized-integer format that supports 8 bits for each color channel and 8-bit alpha.
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiFormat.B8G8R8X8_UNorm">
<summary>
A four-component, 32-bit unsigned-normalized-integer format that supports 8 bits for each color channel and 8 bits unused.
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiFormat.B8G8R8A8_UNorm_Srgb">
<summary>
A four-component, 32-bit unsigned-normalized standard RGB format that supports 8 bits for each channel including alpha.
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiFormat.B8G8R8X8_UNorm_Srgb">
<summary>
A four-component, 32-bit unsigned-normalized standard RGB format that supports 8 bits for each color channel, and 8 bits are unused.
</summary>
</member>
<member name="P:PaintDotNet.Dxgi.DxgiOutputDescription.Monitor">
<summary>
An HMONITOR handle that represents the display monitor.
</summary>
<remarks>
You can use System.Windows.Forms.Screen.FromHandle() on this value.
</remarks>
</member>
<member name="P:PaintDotNet.Dxgi.DxgiOutputDescription1.Monitor">
<summary>
An HMONITOR handle that represents the display monitor.
</summary>
<remarks>
You can use System.Windows.Forms.Screen.FromHandle() on this value.
</remarks>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiSwapChainColorSpaceSupportFlags.None">
<summary>
Color space support is not present.
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiSwapChainColorSpaceSupportFlags.Present">
<summary>
Color space support is present.
</summary>
</member>
<member name="F:PaintDotNet.Dxgi.DxgiSwapChainColorSpaceSupportFlags.OverlayPresent">
<summary>
Overlay color space support is present.
</summary>
</member>
<member name="T:PaintDotNet.Dxgi.DxgiSwapChainFlags">
<summary>
Options for swap-chain behavior.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/dxgi/ne-dxgi-dxgi_swap_chain_flag">DXGI_SWAP_CHAIN_FLAG</a>
</summary>
</member>
<member name="T:PaintDotNet.Dxgi.DxgiSwapEffect">
<summary>
Options for handling pixels in a display surface after calling <see cref="M:PaintDotNet.Dxgi.IDxgiSwapChain1.Present1(System.Int32,PaintDotNet.Dxgi.DxgiPresent,PaintDotNet.Dxgi.DxgiPresentParameters@)"/>.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/dxgi/ne-dxgi-dxgi_swap_effect">DXGI_SWAP_EFFECT</a>
</summary>
</member>
<member name="P:PaintDotNet.Dxgi.IDxgiSwapChain1.Hwnd">
<summary>
Gets the HWND associated with thie swap chain, or zero if this swap chain is not
associated with an HWND.
</summary>
</member>
<member name="T:PaintDotNet.Gdi.GdiLogFont">
<summary>
A logical font description.
</summary>
<remarks>
This is a projection of Win32's <a href="https://learn.microsoft.com/en-us/windows/win32/api/wingdi/ns-wingdi-logfontw">LOGFONTW</a>
struct. It has the same size and layout, and the two are "reinterpret-cast" compatible (such as with
<c>(LOGFONTW*)&gdiLogFont</c> or <c>(GdiLogFont*)&logFontW</c>, or with <see cref="M:System.Runtime.CompilerServices.Unsafe.As``2(``0@)"/>).
</remarks>
</member>
<member name="T:PaintDotNet.Gdi.GdiMetafileRecordType">
<summary>
The type of a GDI metafile record. This enum may not be exhaustive; it does not include
record types that were defined after this enum was created or updated.
</summary>
<remarks>
This list may not be exhaustive, as the specification for MS-EMF has been periodically updated and amended.
See <a href="https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-emf/91c257d7-c39d-4a36-9b1f-63e3f73d30ca">MS-EMF</a>
and <a href="https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-emfplus/5f92c789-64f2-46b5-9ed4-15a9bb0946c6">MS-EMFPLUS</a>
for more information.
</remarks>
</member>
<member name="T:PaintDotNet.Imaging.BitmapAlphaChannelOption">
<summary>
<inheritdoc cref="T:TerraFX.Interop.Windows.WICBitmapAlphaChannelOption" /><br/>
<a href="https://docs.microsoft.com/en-us/windows/win32/api/wincodec/ne-wincodec-wicbitmapalphachanneloption">WICBitmapAlphaChannelOption</a>
</summary>
</member>
<member name="F:PaintDotNet.Imaging.BitmapAlphaChannelOption.UseAlpha">
<summary>
<inheritdoc cref="F:TerraFX.Interop.Windows.WICBitmapAlphaChannelOption.WICBitmapUseAlpha" />
</summary>
</member>
<member name="F:PaintDotNet.Imaging.BitmapAlphaChannelOption.UsePremultipliedAlpha">
<summary>
<inheritdoc cref="F:TerraFX.Interop.Windows.WICBitmapAlphaChannelOption.WICBitmapUsePremultipliedAlpha" />
</summary>
</member>
<member name="F:PaintDotNet.Imaging.BitmapAlphaChannelOption.IgnoreAlpha">
<summary>
<inheritdoc cref="F:TerraFX.Interop.Windows.WICBitmapAlphaChannelOption.WICBitmapIgnoreAlpha" />
</summary>
</member>
<member name="T:PaintDotNet.Imaging.BitmapCreateCacheOption">
<summary>
Specifies the desired cache usage.
<a href="https://docs.microsoft.com/en-us/windows/win32/api/wincodec/ne-wincodec-wicbitmapcreatecacheoption">https://docs.microsoft.com/en-us/windows/win32/api/wincodec/ne-wincodec-wicbitmapcreatecacheoption</a>
</summary>
</member>
<member name="F:PaintDotNet.Imaging.BitmapCreateCacheOption.NoCache">
<summary>
Do not cache the bitmap.
</summary>
</member>
<member name="F:PaintDotNet.Imaging.BitmapCreateCacheOption.CacheOnDemand">
<summary>
Cache the bitmap when needed.
</summary>
</member>
<member name="F:PaintDotNet.Imaging.BitmapCreateCacheOption.CacheOnLoad">
<summary>
Cache the bitmap at initialization.
</summary>
</member>
<member name="F:PaintDotNet.Imaging.BitmapTransformOptions.None">
<summary>
No transformation.
</summary>
</member>
<member name="F:PaintDotNet.Imaging.BitmapTransformOptions.Rotate90">
<summary>
A clockwise rotation of 90 degress.
</summary>
</member>
<member name="F:PaintDotNet.Imaging.BitmapTransformOptions.Rotate180">
<summary>
A clockwise rotation of 180 degrees.
</summary>
</member>
<member name="F:PaintDotNet.Imaging.BitmapTransformOptions.Rotate270">
<summary>
A clockwise rotation of 270 degrees.
</summary>
</member>
<member name="F:PaintDotNet.Imaging.BitmapTransformOptions.FlipHorizontal">
<summary>
A horizontal flip. Pixels are flipped around the vertical y-axis.
</summary>
</member>
<member name="F:PaintDotNet.Imaging.BitmapTransformOptions.FlipVertical">
<summary>
A vertical flip. Pixels are flipped around the horizontal x-axis.
</summary>
</member>
<member name="M:PaintDotNet.Imaging.IBitmapFrameEncode.SetPixelFormat(PaintDotNet.Imaging.PixelFormat@,PaintDotNet.Imaging.PixelFormat@)">
<summary>
Requests that the encoder use the specified pixel format.
</summary>
<remarks>
The encoder might not support the requested pixel format. If not, SetPixelFormat returns the closest match. If the returned pixel format
doesn't match the requested format, you must use a format converter to convert the pixel data.</remarks>
<param name="requestedPixelFormat">The requested pixel format</param>
<param name="actualPixelFormat">The closest pixel format GUID supported by the encoder; this may be different than the requested format.</param>
</member>
<member name="M:PaintDotNet.Imaging.IBitmapFrameEncode.WritePixels(System.Int32,System.Void*,System.Int32,System.UInt32)">
<summary>
Copies scan-line data from a caller-supplied buffer.
</summary>
<remarks>
Successive WritePixels calls are assumed to be sequential scanline access in the output image.
https://docs.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-writepixels
</remarks>
</member>
<member name="P:PaintDotNet.Imaging.IBitmapSource.Resolution">
<summary>
Gets the resolution of the image, in dots per inch.
</summary>
</member>
<member name="P:PaintDotNet.Imaging.IColorContext.Type">
<summary>
Get the type of color context.
</summary>
</member>
<member name="T:PaintDotNet.Imaging.IImagingFactoryInternal">
<summary>
These methods are not part of WIC, they are Paint.NET specific but have deep support in the COM wrappers.
</summary>
</member>
<member name="F:PaintDotNet.Imaging.ImagingComponentEnumerateOptions.Default">
<summary>
Enumerate signed components.
</summary>
</member>
<member name="F:PaintDotNet.Imaging.ImagingComponentEnumerateOptions.Refresh">
<summary>
Force a read of the registry when enumerating components.
</summary>
</member>
<member name="F:PaintDotNet.Imaging.ImagingComponentEnumerateOptions.Disabled">
<summary>
Enumerate disabled components.
</summary>
</member>
<member name="F:PaintDotNet.Imaging.ImagingComponentEnumerateOptions.Unsigned">
<summary>
Enumerate unsigned components.
</summary>
</member>
<member name="F:PaintDotNet.Imaging.ImagingComponentEnumerateOptions.BuiltInOnly">
<summary>
Enumerate only built-in components.
</summary>
</member>
<member name="P:PaintDotNet.Imaging.IMetadataQueryReader.MetadataFormat">
<summary>
Gets the MetadataFormat for the query reader.
</summary>
<remarks>
NOTE: If this is the root query reader (the Location property will be "/"), then this is actually a ContainerFormat.
</remarks>
</member>
<member name="T:PaintDotNet.Imaging.IPalette">
<summary>
<inheritdoc cref="T:TerraFX.Interop.Windows.IWICPalette"/><br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nn-wincodec-iwicpalette">IWICPalette</a>
</summary>
</member>
<member name="P:PaintDotNet.Imaging.IPalette.HasAlpha">
<summary>
<inheritdoc cref="M:TerraFX.Interop.Windows.IWICPalette.HasAlpha(TerraFX.Interop.Windows.BOOL*)"/>
</summary>
</member>
<member name="P:PaintDotNet.Imaging.IPalette.IsBlackWhite">
<summary>
<inheritdoc cref="M:TerraFX.Interop.Windows.IWICPalette.IsBlackWhite(TerraFX.Interop.Windows.BOOL*)"/>
</summary>
</member>
<member name="P:PaintDotNet.Imaging.IPalette.IsGrayscale">
<summary>
<inheritdoc cref="M:TerraFX.Interop.Windows.IWICPalette.IsGrayscale(TerraFX.Interop.Windows.BOOL*)"/>
</summary>
</member>
<member name="T:PaintDotNet.Imaging.IPixelFormatInfo">
<summary>
<inheritdoc cref="T:TerraFX.Interop.Windows.IWICPixelFormatInfo"/><br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nn-wincodec-iwicpixelformatinfo">IWICPixelFormatInfo</a>
</summary>
</member>
<member name="P:PaintDotNet.Imaging.IPixelFormatInfo.BitsPerPixel">
<summary>
<inheritdoc cref="M:TerraFX.Interop.Windows.IWICPixelFormatInfo.GetBitsPerPixel(System.UInt32*)"/>
</summary>
</member>
<member name="P:PaintDotNet.Imaging.IPixelFormatInfo.ChannelCount">
<summary>
<inheritdoc cref="M:TerraFX.Interop.Windows.IWICPixelFormatInfo.GetChannelCount(System.UInt32*)"/>
</summary>
</member>
<member name="P:PaintDotNet.Imaging.IPixelFormatInfo.ChannelMasks">
<summary>
<inheritdoc cref="M:TerraFX.Interop.Windows.IWICPixelFormatInfo.GetChannelMask(System.UInt32,System.UInt32,System.Byte*,System.UInt32*)"/>
</summary>
</member>
<member name="P:PaintDotNet.Imaging.IPixelFormatInfo.ColorContext">
<summary>
Gets the pixel format's <see cref="T:PaintDotNet.Imaging.IColorContext"/>.
</summary>
</member>
<member name="P:PaintDotNet.Imaging.IPixelFormatInfo.PixelFormat">
<summary>
<inheritdoc cref="M:TerraFX.Interop.Windows.IWICPixelFormatInfo.GetFormatGUID(System.Guid*)"/>
</summary>
</member>
<member name="T:PaintDotNet.Imaging.IPixelFormatInfo2">
<summary>
<inheritdoc cref="T:TerraFX.Interop.Windows.IWICPixelFormatInfo2"/><br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nn-wincodec-iwicpixelformatinfo2">IWICPixelFormatInfo2</a>
</summary>
</member>
<member name="P:PaintDotNet.Imaging.IPixelFormatInfo2.NumericRepresentation">
<summary>
Gets the pixel format's numeric representation.
</summary>
</member>
<member name="P:PaintDotNet.Imaging.IPixelFormatInfo2.SupportsTransparency">
<summary>
Gets a flag indicating whether the pixel format supports transparent pixels.
</summary>
</member>
<member name="T:PaintDotNet.Imaging.JpegYCrCbSubsamplingOption">
<summary>
<inheritdoc cref="T:TerraFX.Interop.Windows.WICJpegYCrCbSubsamplingOption" />
</summary>
</member>
<member name="F:PaintDotNet.Imaging.JpegYCrCbSubsamplingOption.Default">
<summary>
<inheritdoc cref="F:TerraFX.Interop.Windows.WICJpegYCrCbSubsamplingOption.WICJpegYCrCbSubsamplingDefault" />
</summary>
</member>
<member name="F:PaintDotNet.Imaging.JpegYCrCbSubsamplingOption.Subsample420">
<summary>
<inheritdoc cref="F:TerraFX.Interop.Windows.WICJpegYCrCbSubsamplingOption.WICJpegYCrCbSubsampling420" />
</summary>
</member>
<member name="F:PaintDotNet.Imaging.JpegYCrCbSubsamplingOption.Subsample422">
<summary>
<inheritdoc cref="F:TerraFX.Interop.Windows.WICJpegYCrCbSubsamplingOption.WICJpegYCrCbSubsampling422" />
</summary>
</member>
<member name="F:PaintDotNet.Imaging.JpegYCrCbSubsamplingOption.Subsample444">
<summary>
<inheritdoc cref="F:TerraFX.Interop.Windows.WICJpegYCrCbSubsamplingOption.WICJpegYCrCbSubsampling444" />
</summary>
</member>
<member name="F:PaintDotNet.Imaging.JpegYCrCbSubsamplingOption.Subsample440">
<summary>
<inheritdoc cref="F:TerraFX.Interop.Windows.WICJpegYCrCbSubsamplingOption.WICJpegYCrCbSubsampling440" />
</summary>
</member>
<member name="T:PaintDotNet.Imaging.MetadataCreationOptions">
<summary>
Specifies metadata creation options.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/wincodecsdk/ne-wincodecsdk-wicmetadatacreationoptions">WICMetadataCreationOptions</a>
</summary>
</member>
<member name="F:PaintDotNet.Imaging.MetadataCreationOptions.Default">
<summary>
The default metadata creation options. This equals <see cref="F:PaintDotNet.Imaging.MetadataCreationOptions.AllowUnknown"/> and <see cref="F:PaintDotNet.Imaging.MetadataCreationOptions.PersistLittleEndian"/>.
</summary>
</member>
<member name="F:PaintDotNet.Imaging.MetadataCreationOptions.AllowUnknown">
<summary>
Allow unknown metadata creation.
</summary>
</member>
<member name="F:PaintDotNet.Imaging.MetadataCreationOptions.PersistLittleEndian">
<summary>
<inheritdoc cref="F:PaintDotNet.Imaging.MetadataPersistOptions.LittleEndian"/>
</summary>
</member>
<member name="F:PaintDotNet.Imaging.MetadataCreationOptions.PersistBigEndian">
<summary>
<inheritdoc cref="F:PaintDotNet.Imaging.MetadataPersistOptions.BigEndian"/>
</summary>
</member>
<member name="F:PaintDotNet.Imaging.MetadataCreationOptions.PersistStrictFormat">
<summary>
<inheritdoc cref="F:PaintDotNet.Imaging.MetadataPersistOptions.StrictFormat"/>
</summary>
<remarks>
<inheritdoc cref="F:PaintDotNet.Imaging.MetadataPersistOptions.StrictFormat"/>
</remarks>
</member>
<member name="F:PaintDotNet.Imaging.MetadataCreationOptions.PersistNoCacheStream">
<summary>
<inheritdoc cref="F:PaintDotNet.Imaging.MetadataPersistOptions.NoCacheStream"/>
</summary>
<remarks>
<inheritdoc cref="F:PaintDotNet.Imaging.MetadataPersistOptions.NoCacheStream"/>
</remarks>
</member>
<member name="F:PaintDotNet.Imaging.MetadataCreationOptions.PersistPreferUtf8">
<summary>
<inheritdoc cref="F:PaintDotNet.Imaging.MetadataPersistOptions.PreferUtf8"/>
</summary>
<remarks>
<inheritdoc cref="F:PaintDotNet.Imaging.MetadataPersistOptions.PreferUtf8"/>
</remarks>
</member>
<member name="F:PaintDotNet.Imaging.MetadataCreationOptions.FailUnknown">
<summary>
Fail on unknown metadata creation.
</summary>
</member>
<member name="T:PaintDotNet.Imaging.MetadataPersistOptions">
<summary>
Specifies options that are used when initializing a component with a stream.<br/>
<a href="https://learn.microsoft.com/en-us/windows/win32/api/wincodecsdk/ne-wincodecsdk-wicpersistoptions">WICPersistOptions</a>
</summary>
</member>
<member name="F:PaintDotNet.Imaging.MetadataPersistOptions.Default">
<summary>
The default persist options. The default is <see cref="F:PaintDotNet.Imaging.MetadataPersistOptions.LittleEndian"/>.
</summary>
</member>
<member name="F:PaintDotNet.Imaging.MetadataPersistOptions.LittleEndian">
<summary>
The data byte order is little endian.
</summary>
</member>
<member name="F:PaintDotNet.Imaging.MetadataPersistOptions.BigEndian">
<summary>
The data byte order is big endian.
</summary>
</member>
<member name="F:PaintDotNet.Imaging.MetadataPersistOptions.StrictFormat">
<summary>
The data format must strictly conform to the specification.
</summary>
<remarks>
<b>Warning:</b> This option is inconsistently implement and should not be relied on.
</remarks>
</member>
<member name="F:PaintDotNet.Imaging.MetadataPersistOptions.NoCacheStream">
<summary>
No cache for the metadata stream.
</summary>
<remarks>
Certain operations, such as <see cref="M:PaintDotNet.Imaging.IImagingComponentFactory.CreateMetadataWriterFromReader(PaintDotNet.Imaging.IMetadataReader,System.Nullable{PaintDotNet.Imaging.VendorID}@)"/> require that the reader
have a stream. Therefore, these operations will be unavailable if the reader is initialized with <see cref="F:PaintDotNet.Imaging.MetadataPersistOptions.NoCacheStream"/>.
</remarks>
</member>
<member name="F:PaintDotNet.Imaging.MetadataPersistOptions.PreferUtf8">
<summary>
Use UTF8 instead of the default UTF16.
</summary>
<remarks>
<b>Note:</b> This option is currently unused.
</remarks>
</member>
<member name="T:PaintDotNet.Imaging.Win32ErrorException">
<summary>
Windows Codecs received an error from the Win32 system.
</summary>
</member>
<member name="T:PaintDotNet.Interop.CustomImplementationAllowedAttribute">
<summary>
This attribute is placed on native-mapped interfaces that derive from IObjectRef.
It allows documenting which interfaces allow custom implementations. What this
means is that you can implement this interface in managed code, and over on the
native side there is a CCW (COM Callable Wrapper) that adapts this interface.
</summary>
<remarks>
If this attribute is not on an interface, then custom implementations are not
allowed, and native/COM code will only see it as an opaque IUnknown* reference.
</remarks>
</member>
<member name="T:PaintDotNet.Interop.IComObject">
<summary>
Implemented by an object that wraps a COM object.
</summary>
</member>
<member name="T:PaintDotNet.Interop.PreferDerivedInterfaceAttribute">
<summary>
When creating a proxy or RCW for a natively mapped interface, this attribute on the
managed interface will instruct the runtime to first query for the derived interface
when the base interface is requested. If that query succeeds, then the wrapper or proxy
for the derived interface will be created instead.<br/>
<br/>
This is intended to be used on interfaces that have been succeeded by newer versions.
Applying this attribute is an optimization that can help reduce the number of proxies
that must be instantiated by way of allowing casting to be employed instead.<br/>
<br/>
For example:<br/>
<code>
[PreferDerivedInterface(typeof(IStrokeStyle1))]
public interface IStrokeStyle : IObjectRef { ... }
</code>
</summary>
</member>
<member name="T:PaintDotNet.Interop.SpeciatedInterfaceAttribute">
<summary>
Indicates that an interface is "speciated". This expands a native interface into multiple
managed interfaces ("species"), including the base managed interface which maps directly to
the native interface.<br/>
<br/>
When this attribute is present, the managed wrapper must have static methods called
TryCreateSpeciesWrapper and TryCreateSpeciesProxy.<br/>
<br/>
Examples: <br/>
<br/>
IBitmapSource is speciated via IBitmapSource<TPixel>. A specific managed interface is
chosen based on the bitmap's pixel format. The base interface, IBitmapSource, is still used
when a pixel format does not have a more refined interface available.<br/>
<br/>
IColorContext is speciated based on its Type property into IExifColorSpaceColorContext or
IProfileColorContext.
</summary>
</member>
<member name="T:PaintDotNet.Interop.WeakComObjectMap">
<summary>
Maintains a mapping from COM objects, via canonical IUnknown pointers, to associated managed
objects that are associated with them. This can be used to implement an RCW cache, or something
similar.
</summary>
<remarks>
This class does not maintain references to the COM objects. Therefore, it is required that the
managed objects maintain a native reference to the COM object. This guarantees that a lookup
from the COM object pointer to the managed object will be correct, and that the COM object
pointer will not be a recycled allocation.
</remarks>
</member>
</members>
</doc>