| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- using Ryujinx.HLE.Ui;
- using System.Threading;
- using System.Threading.Tasks;
- namespace Ryujinx.Headless.SDL2
- {
- /// <summary>
- /// Headless text processing class, right now there is no way to forward the input to it.
- /// </summary>
- internal class HeadlessDynamicTextInputHandler : IDynamicTextInputHandler
- {
- private bool _canProcessInput;
- public event DynamicTextChangedHandler TextChangedEvent;
- public event KeyPressedHandler KeyPressedEvent { add { } remove { } }
- public event KeyReleasedHandler KeyReleasedEvent { add { } remove { } }
- public bool TextProcessingEnabled
- {
- get
- {
- return Volatile.Read(ref _canProcessInput);
- }
- set
- {
- Volatile.Write(ref _canProcessInput, value);
- // Launch a task to update the text.
- Task.Run(() =>
- {
- Thread.Sleep(100);
- TextChangedEvent?.Invoke("Ryujinx", 7, 7, false);
- });
- }
- }
- public HeadlessDynamicTextInputHandler()
- {
- // Start with input processing turned off so the text box won't accumulate text
- // if the user is playing on the keyboard.
- _canProcessInput = false;
- }
- public void SetText(string text, int cursorBegin) { }
- public void SetText(string text, int cursorBegin, int cursorEnd) { }
- public void Dispose() { }
- }
- }
|