dispose method

void dispose({
  1. bool useAlternateScreen = false,
  2. int splitHeight = 0,
})

Releases all native renderer resources and detaches the finalizer.

Implementation

void dispose({bool useAlternateScreen = false, int splitHeight = 0}) {
  if (_disposed) return; // Already disposed
  _disposed = true;
  // Detach from finalizer before manual destruction (prevent double-free)
  _finalizer.detach(_finalizerKey);
  // Invalidate before destroying native handle so any stragglers (clipped
  // views, etc.) fail fast instead of touching freed memory.
  _nextBuffer?.invalidate();
  _bindings.destroyRenderer(
    _ptr,
    useAlternateScreen: useAlternateScreen,
    splitHeight: splitHeight,
  );
  _nextBuffer = null;
}