Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
Clipboard.cs
Go to the documentation of this file.
1using System.Text;
2
4
5internal abstract class Clipboard : IClipboard
6{
7 public string Value
8 {
9 get
10 {
11 return SanitizeClipboardText(GetClipboard(), allowNewLine: false);
12 }
13 set
14 {
15 SetClipboard(value);
16 }
17 }
18
19 public string MultiLineValue => SanitizeClipboardText(GetClipboard(), allowNewLine: true);
20
21 private static string SanitizeClipboardText(string clipboardText, bool allowNewLine)
22 {
23 StringBuilder stringBuilder = new StringBuilder(clipboardText.Length);
24 for (int i = 0; i < clipboardText.Length; i++)
25 {
26 if ((clipboardText[i] >= ' ' && clipboardText[i] != '\u007f') || (allowNewLine && clipboardText[i] == '\n'))
27 {
28 stringBuilder.Append(clipboardText[i]);
29 }
30 }
31 return stringBuilder.ToString();
32 }
33
34 protected abstract string GetClipboard();
35
36 protected abstract void SetClipboard(string text);
37}
static string SanitizeClipboardText(string clipboardText, bool allowNewLine)
Definition Clipboard.cs:21
void SetClipboard(string text)
override string ToString()
StringBuilder Append(char value, int repeatCount)