You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/Synercoding.FileFormats.Pdf/GraphicState.cs
+80-12Lines changed: 80 additions & 12 deletions
Original file line number
Diff line number
Diff line change
@@ -5,13 +5,16 @@
5
5
6
6
namespaceSynercoding.FileFormats.Pdf;
7
7
8
+
/// <summary>
9
+
/// Class representing the grahpic state of a PDF at a certain moment in time.
10
+
/// </summary>
8
11
publicsealedclassGraphicState
9
12
{
10
13
internalGraphicState()
11
14
{
12
15
CTM=Matrix.Identity;
13
-
FillColor=PredefinedColors.Black;
14
-
StrokeColor=PredefinedColors.Black;
16
+
Fill=PredefinedColors.Black;
17
+
Stroke=PredefinedColors.Black;
15
18
LineWidth=1.0;
16
19
LineCap=LineCapStyle.ButtCap;
17
20
LineJoin=LineJoinStyle.MiterJoin;
@@ -27,30 +30,95 @@ internal GraphicState()
27
30
TextRise=0.0;
28
31
}
29
32
30
-
publicMatrixCTM{get;internalset;}
31
-
publicColorFillColor{get;internalset;}
32
-
publicColorStrokeColor{get;internalset;}
33
-
publicdoubleLineWidth{get;internalset;}
34
-
publicLineCapStyleLineCap{get;internalset;}
33
+
/// <summary>
34
+
/// The current transformation matrix, which maps positions from user coordinates to device coordinates.
35
+
/// This matrix is modified by each application of the coordinate transformation operator, cm
36
+
/// </summary>
37
+
publicMatrixCTM{get;internalset;}
38
+
39
+
/// <summary>
40
+
/// The color used for filling operations
41
+
/// </summary>
42
+
publicColorFill{get;internalset;}
43
+
44
+
/// <summary>
45
+
/// The color used for stroking operations
46
+
/// </summary>
47
+
publicColorStroke{get;internalset;}
48
+
49
+
/// <summary>
50
+
/// The thickness, in user space units, of paths to be stroked.
51
+
/// </summary>
52
+
publicdoubleLineWidth{get;internalset;}
53
+
54
+
/// <summary>
55
+
/// A code specifying the shape of the endpoints for any open path that is stroked.
56
+
/// </summary>
57
+
publicLineCapStyleLineCap{get;internalset;}
58
+
59
+
/// <summary>
60
+
/// A code specifying the shape of joints between connected segments of a stroked path.
61
+
/// </summary>
35
62
publicLineJoinStyleLineJoin{get;internalset;}
63
+
64
+
/// <summary>
65
+
/// The maximum length of mitered line joins for stroked paths.
66
+
/// This parameter limits the length of “spikes” produced when line segments join at sharp angles.
67
+
/// </summary>
36
68
publicdoubleMiterLimit{get;internalset;}
37
-
publicDashDashPattern{get;internalset;}
38
-
publicdoubleCharacterSpacing{get;internalset;}
39
-
publicdoubleWordSpacing{get;internalset;}
69
+
70
+
/// <summary>
71
+
/// A description of the dash pattern to be used when paths are stroked.
72
+
/// </summary>
73
+
publicDashDashPattern{get;internalset;}
74
+
75
+
/// <summary>
76
+
/// The spacing between characters
77
+
/// </summary>
78
+
publicdoubleCharacterSpacing{get;internalset;}
79
+
80
+
/// <summary>
81
+
/// The spacing between words
82
+
/// </summary>
83
+
publicdoubleWordSpacing{get;internalset;}
84
+
85
+
/// <summary>
86
+
/// The horizontal scaling is a number specifying the percentage of the normal width.
87
+
/// </summary>
40
88
publicdoubleHorizontalScaling{get;internalset;}
89
+
90
+
/// <summary>
91
+
/// The text leading is a number expressed in unscaled text space units.
92
+
/// </summary>
41
93
publicdoubleTextLeading{get;internalset;}
94
+
95
+
/// <summary>
96
+
/// The font used when placing text on the page
97
+
/// </summary>
42
98
publicFont?Font{get;internalset;}
99
+
100
+
/// <summary>
101
+
/// The font size used when placing text on the page
102
+
/// </summary>
43
103
publicdouble?FontSize{get;internalset;}
104
+
105
+
/// <summary>
106
+
/// The text rendering mode, determines whether showing text causes glyph outlines to be stroked, filled, used as a clipping boundary, or some combination of the three.
0 commit comments