IConsoleDriverFacade.cs 843 B

1234567891011121314151617181920212223242526
  1. #nullable enable
  2. namespace Terminal.Gui.Drivers;
  3. /// <summary>
  4. /// Interface for v2 driver abstraction layer
  5. /// </summary>
  6. public interface IConsoleDriverFacade
  7. {
  8. /// <summary>
  9. /// Class responsible for processing native driver input objects
  10. /// e.g. <see cref="ConsoleKeyInfo"/> into <see cref="Key"/> events
  11. /// and detecting and processing ansi escape sequences.
  12. /// </summary>
  13. IInputProcessor InputProcessor { get; }
  14. /// <summary>
  15. /// Describes the desired screen state. Data source for <see cref="IConsoleOutput"/>.
  16. /// </summary>
  17. IOutputBuffer OutputBuffer { get; }
  18. /// <summary>
  19. /// Interface for classes responsible for reporting the current
  20. /// size of the terminal window.
  21. /// </summary>
  22. IConsoleSizeMonitor ConsoleSizeMonitor { get; }
  23. }