Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
HtmlEncodedRawTextWriterIndent.cs
Go to the documentation of this file.
1using System.IO;
2
3namespace System.Xml;
4
6{
7 private int _indentLevel;
8
9 private int _endBlockPos;
10
11 private string _indentChars;
12
14
16 : base(writer, settings)
17 {
18 Init(settings);
19 }
20
22 : base(stream, settings)
23 {
24 Init(settings);
25 }
26
27 public override void WriteDocType(string name, string pubid, string sysid, string subset)
28 {
29 base.WriteDocType(name, pubid, sysid, subset);
31 }
32
33 public override void WriteStartElement(string prefix, string localName, string ns)
34 {
36 {
38 }
40 if (ns.Length == 0)
41 {
44 {
46 }
48 _bufChars[_bufPos++] = '<';
49 }
50 else
51 {
53 if (_endBlockPos == _bufPos)
54 {
56 }
58 _bufChars[_bufPos++] = '<';
59 if (prefix.Length != 0)
60 {
62 _bufChars[_bufPos++] = ':';
63 }
64 }
65 RawText(localName);
67 }
68
69 internal override void StartElementContent()
70 {
71 _bufChars[_bufPos++] = '>';
74 {
78 }
79 else if ((_currentElementProperties & ElementProperties.BLOCK_WS) != 0)
80 {
82 }
83 }
84
85 internal override void WriteEndElement(string prefix, string localName, string ns)
86 {
88 bool flag = (_currentElementProperties & ElementProperties.BLOCK_WS) != 0;
89 if (flag && _endBlockPos == _bufPos && _contentPos != _bufPos)
90 {
92 }
93 base.WriteEndElement(prefix, localName, ns);
94 _contentPos = 0;
95 if (flag)
96 {
98 }
99 }
100
101 public override void WriteStartAttribute(string prefix, string localName, string ns)
102 {
104 {
106 _indentLevel++;
107 WriteIndent();
108 _indentLevel--;
109 }
110 base.WriteStartAttribute(prefix, localName, ns);
111 }
112
113 protected override void FlushBuffer()
114 {
115 _endBlockPos = ((_endBlockPos == _bufPos) ? 1 : 0);
116 base.FlushBuffer();
117 }
118
119 private void Init(XmlWriterSettings settings)
120 {
121 _indentLevel = 0;
122 _indentChars = settings.IndentChars;
124 }
125
126 private void WriteIndent()
127 {
129 for (int num = _indentLevel; num > 0; num--)
130 {
132 }
133 }
134}
void Push(byte data)
Definition ByteStack.cs:21
override void WriteStartElement(string prefix, string localName, string ns)
override void WriteStartAttribute(string prefix, string localName, string ns)
override void WriteEndElement(string prefix, string localName, string ns)
HtmlEncodedRawTextWriterIndent(Stream stream, XmlWriterSettings settings)
override void WriteDocType(string name, string pubid, string sysid, string subset)
HtmlEncodedRawTextWriterIndent(TextWriter writer, XmlWriterSettings settings)
static TernaryTreeReadOnly _elementPropertySearch