terminal_ui_interaction.dart 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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. bool get isReady;
  26. void refresh();
  27. void clearSelection();
  28. void onMouseTap(Position position);
  29. void onPanStart(Position position);
  30. void onPanUpdate(Position position);
  31. void setScrollOffsetFromBottom(int offset);
  32. int convertViewLineToRawLine(int viewLine);
  33. void raiseOnInput(String input);
  34. void write(String text);
  35. void paste(String data);
  36. void resize(int newWidth, int newHeight);
  37. void keyInput(
  38. TerminalKey key, {
  39. bool ctrl = false,
  40. bool alt = false,
  41. bool shift = false,
  42. bool mac = false,
  43. // bool meta,
  44. });
  45. }