TerminalEngineClient constructor

TerminalEngineClient({
  1. required EngineBinding binding,
  2. required MirrorGrid grid,
  3. void schedule(
    1. void ()
    )?,
})

Implementation

TerminalEngineClient({
  required EngineBinding binding,
  required MirrorGrid grid,
  void Function(void Function())? schedule,
})  : _binding = binding,
      _grid = grid,
      _schedule = schedule ??
          ((cb) {
            final binding = SchedulerBinding.instance;
            binding.addPostFrameCallback((_) => cb());
            // A post-frame callback only fires if a frame is actually produced.
            // Request one so sporadic output/input (e.g. a single keystroke's
            // echo) refreshes even when the UI is otherwise idle.
            binding.scheduleFrame();
          });