WindowsComponentFactory.cs 847 B

12345678910111213141516171819202122232425262728
  1. using System.Collections.Concurrent;
  2. namespace Terminal.Gui.Drivers;
  3. /// <summary>
  4. /// <see cref="IComponentFactory{T}"/> implementation for win32 only I/O.
  5. /// This factory creates instances of internal classes <see cref="WindowsInput"/>, <see cref="WindowsOutput"/> etc.
  6. /// </summary>
  7. public class WindowsComponentFactory : ComponentFactoryImpl<WindowsConsole.InputRecord>
  8. {
  9. /// <inheritdoc />
  10. public override IInput<WindowsConsole.InputRecord> CreateInput ()
  11. {
  12. return new WindowsInput ();
  13. }
  14. /// <inheritdoc />
  15. public override IInputProcessor CreateInputProcessor (ConcurrentQueue<WindowsConsole.InputRecord> inputBuffer)
  16. {
  17. return new WindowsInputProcessor (inputBuffer);
  18. }
  19. /// <inheritdoc />
  20. public override IOutput CreateOutput ()
  21. {
  22. return new WindowsOutput ();
  23. }
  24. }