Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
PlatformIme.cs
Go to the documentation of this file.
1using System;
3
5
6public abstract class PlatformIme : IImeService, IDisposable
7{
9
10 private bool _disposedValue;
11
12 public abstract string CompositionString { get; }
13
14 public abstract bool IsCandidateListVisible { get; }
15
16 public abstract uint SelectedCandidate { get; }
17
18 public abstract uint CandidateCount { get; }
19
20 public bool IsEnabled { get; private set; }
21
22 protected PlatformIme()
23 {
24 IsEnabled = false;
25 }
26
27 public void AddKeyListener(Action<char> listener)
28 {
29 _keyPressCallbacks.Add(listener);
30 }
31
32 public void RemoveKeyListener(Action<char> listener)
33 {
34 _keyPressCallbacks.Remove(listener);
35 }
36
37 protected void OnKeyPress(char character)
38 {
40 {
42 }
43 }
44
45 public abstract string GetCandidate(uint index);
46
47 public void Enable()
48 {
49 if (!IsEnabled)
50 {
51 OnEnable();
52 IsEnabled = true;
53 }
54 }
55
56 public void Disable()
57 {
58 if (IsEnabled)
59 {
60 OnDisable();
61 IsEnabled = false;
62 }
63 }
64
65 protected virtual void OnEnable()
66 {
67 }
68
69 protected virtual void OnDisable()
70 {
71 }
72
73 protected virtual void Dispose(bool disposing)
74 {
75 if (!_disposedValue)
76 {
77 _disposedValue = true;
78 }
79 }
80
82 {
83 Dispose(disposing: false);
84 }
85
86 public void Dispose()
87 {
88 Dispose(disposing: true);
89 GC.SuppressFinalize(this);
90 }
91}
virtual void Dispose(bool disposing)
void RemoveKeyListener(Action< char > listener)
void AddKeyListener(Action< char > listener)
readonly List< Action< char > > _keyPressCallbacks
Definition PlatformIme.cs:8
static void SuppressFinalize(object obj)
Definition GC.cs:202
Definition GC.cs:8