Class PdfVectorPath
- Namespace
- PDiffy
- Assembly
- PDiffy.dll
A painted vector path: its bounding box, and its fill and stroke. Unpainted parts are null.
public sealed record PdfVectorPath : IEquatable<PdfVectorPath>
- Inheritance
-
PdfVectorPath
- Implements
- Inherited Members
Properties
BlendMode
How its colors mix with what's drawn under it; Normal paints over it.
public PdfBlendMode BlendMode { get; init; }
Property Value
Clipped
Whether the clipping area (a clipping path, or the box of a form it's drawn in) leaves it out entirely, so it doesn't show. Content the clipping area cuts only partly isn't marked. A clipping path counts in its real shape, with curves traced in small straight steps. Text drawn in a clipping mode (4 to 7) clips to its letters' shapes, or to their boxes when PDiffy can't read the font's outlines, as with a standard font that isn't embedded.
public bool Clipped { get; init; }
Property Value
Covered
Whether something opaque drawn after it covers all of it, so it doesn't show. Only a shape filled with a plain color or an image without a mask counts as covering, and not when it's in a layer. It covers only what lies wholly inside its real shape. Content covered only partly isn't marked.
public bool Covered { get; init; }
Property Value
DashOffset
How far into the dash pattern the outline starts, as the PDF sets it, in whole units; usually 0.
public double DashOffset { get; init; }
Property Value
Dashes
The lengths of the dashes and gaps the outline repeats, in turn, as the PDF sets them, rounded to one decimal place, such as [3, 2]; empty for a solid outline or when the path isn't stroked.
public IReadOnlyList<double> Dashes { get; init; }
Property Value
Fill
The fill color, written like "gray:0", "#ff0000", "cmyk:0,0,0,1" or, for a gradient or tiled fill, its kind and a hash of what it draws ("pattern:shading:3f9c0a1b2d4e5f60"). An uncolored tile, which has no color of its own, also gets the color it's painted in ("pattern:tiling:3f9c0a1b2d4e5f60:#ff0000"). A color given in a color space other than a device or pattern one, such as a spot color or an ICC-based one, starts with that space's family and a hash of its definition ("separation:3f9c0a1b2d4e5f60:cmyk:0.8,0,1,0"). The fill is "gray:0" (black) when the PDF fills without choosing a color, and null when the path isn't filled.
public required string? Fill { get; init; }
Property Value
GroupBlendModes
The blend modes of the transparency groups it's drawn in that BlendMode leaves out because it already holds a mode set inside the group, innermost first. Each mixes its group as a whole with what's under it. Empty when there are none.
public IReadOnlyList<PdfBlendMode> GroupBlendModes { get; init; }
Property Value
Height
The bounding box's height, in points; 0 for a horizontal line.
public required double Height { get; init; }
Property Value
Layers
The optional-content layers the path is drawn in, outermost first, by name, such as "Draft"; empty when it's drawn outside optional content. A viewer can hide a layer, so its content may not show or print.
public IReadOnlyList<string> Layers { get; init; }
Property Value
LineCap
How the outline's ends are drawn; Butt when the path isn't stroked.
public PdfLineCap LineCap { get; init; }
Property Value
LineJoin
How the outline's corners are drawn; Miter when the path isn't stroked.
public PdfLineJoin LineJoin { get; init; }
Property Value
LineWidth
The outline's width as the PDF sets it, rounded to one decimal place; null when the path isn't stroked.
public required double? LineWidth { get; init; }
Property Value
MiterLimit
How far a sharp corner may reach past the outline before it's cut off, as a multiple of the line width; PDF's default, 10, unless the outline is stroked with Miter corners, has a corner, and sets another.
public double MiterLimit { get; init; }
Property Value
Opacity
How opaque its fill is, from 0 (invisible) to 1, rounded to two decimal places; 1 when it isn't filled or no graphics state makes it see-through.
public double Opacity { get; init; }
Property Value
Page
The page number, counted from 1.
public required int Page { get; init; }
Property Value
RenderingIntent
How colors outside what the output device can show are brought into what it can (the ri operator, or /RI in a graphics state); RelativeColorimetric, PDF's default, unless set.
public PdfRenderingIntent RenderingIntent { get; init; }
Property Value
Role
Whether the path is tagged, an artifact, or untagged.
public required PdfContentRole Role { get; init; }
Property Value
Shape
A hash of the path's outline (its points and curves, measured from the bounding box's lower-left corner, and for a filled path whether it uses the even-odd fill rule), such as "3f9c0a1b2d4e5f60". Reshaping the path changes it; moving it doesn't. Null when the box already describes the path: one horizontal or vertical line, or one rectangle drawn with the re operator whose sides are parallel to the page's edges.
public string? Shape { get; init; }
Property Value
SoftMask
A hash of the soft masks that make parts of it see-through, as a gradient fade does, including what they draw, such as "3f9c0a1b2d4e5f60", or "unreadable"; null when it has no soft mask.
public string? SoftMask { get; init; }
Property Value
Stroke
The outline's color, written the same way as Fill; null when the path isn't stroked.
public required string? Stroke { get; init; }
Property Value
StrokeOpacity
How opaque its outline is, from 0 (invisible) to 1, rounded to two decimal places; 1 when it isn't outlined or no graphics state makes it see-through.
public double StrokeOpacity { get; init; }
Property Value
Width
The bounding box's width, in points; 0 for a vertical line.
public required double Width { get; init; }
Property Value
X
The left edge of the path's bounding box, in points from the page's left edge.
public required double X { get; init; }
Property Value
Y
The bottom edge of the path's bounding box, in points from the page's bottom edge.
public required double Y { get; init; }