terminal_ui_interaction.dart 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import 'package:xterm/buffer/buffer_line.dart';
  2. import 'package:xterm/input/keys.dart';
  3. import 'package:xterm/mouse/position.dart';
  4. import 'package:xterm/mouse/selection.dart';
  5. import 'package:xterm/terminal/platform.dart';
  6. import 'package:xterm/util/observable.dart';
  7. abstract class TerminalUiInteraction with Observable {
  8. int get scrollOffsetFromBottom;
  9. int get scrollOffsetFromTop;
  10. int get scrollOffset;
  11. int get bufferHeight;
  12. int get terminalHeight;
  13. int get terminalWidth;
  14. int get invisibleHeight;
  15. Selection? get selection;
  16. bool get showCursor;
  17. List<BufferLine> getVisibleLines();
  18. int get cursorY;
  19. int get cursorX;
  20. BufferLine? get currentLine;
  21. int get cursorColor;
  22. int get backgroundColor;
  23. bool get dirty;
  24. PlatformBehavior get platform;
  25. void refresh();
  26. void clearSelection();
  27. void onMouseTap(Position position);
  28. void onPanStart(Position position);
  29. void onPanUpdate(Position position);
  30. void setScrollOffsetFromBottom(int offset);
  31. int convertViewLineToRawLine(int viewLine);
  32. void raiseOnInput(String input);
  33. void write(String text);
  34. void paste(String data);
  35. void resize(int newWidth, int newHeight);
  36. void keyInput(
  37. TerminalKey key, {
  38. bool ctrl = false,
  39. bool alt = false,
  40. bool shift = false,
  41. bool mac = false,
  42. // bool meta,
  43. });
  44. }