onRendered method

  1. @override
void onRendered({
  1. required int renderGeneration,
  2. required Object view,
  3. required DegradationLevel degradationLevel,
  4. required Duration renderDuration,
  5. int? width,
  6. int? height,
  7. TerminalNativeFrame? nativeFrame,
  8. TerminalNativeDeltaFrame? nativeDelta,
  9. TerminalNativeCellDeltaFrame? nativeCellDelta,
  10. List<TerminalNativeSpanDelta>? nativeSpanDelta,
})
override

Called after a render has completed.

Implementation

@override
void onRendered({
  required int renderGeneration,
  required Object view,
  required DegradationLevel degradationLevel,
  required Duration renderDuration,
  int? width,
  int? height,
  TerminalNativeFrame? nativeFrame,
  TerminalNativeDeltaFrame? nativeDelta,
  TerminalNativeCellDeltaFrame? nativeCellDelta,
  List<TerminalNativeSpanDelta>? nativeSpanDelta,
}) {
  final summary = ProgramRenderChangeSummary.fromNative(
    nativeDelta: nativeDelta,
    nativeCellDelta: nativeCellDelta,
    nativeSpanDelta: nativeSpanDelta,
  );
  _totalRenders += 1;
  if (summary.hasChanges) {
    _changedRenders += 1;
  }
  _totalChangedCells += summary.changedCellCount;
  _totalChangedSpans += summary.changedSpanCount;
  if (summary.dirtyLineCount > _maxDirtyLines) {
    _maxDirtyLines = summary.dirtyLineCount;
  }
  if (summary.changedCellCount > _maxChangedCells) {
    _maxChangedCells = summary.changedCellCount;
  }
  if (summary.changedSpanCount > _maxChangedSpans) {
    _maxChangedSpans = summary.changedSpanCount;
  }
  _totalRenderDuration += renderDuration;
  _lastRenderGeneration = renderGeneration;
  _lastDegradationLevel = degradationLevel;
  _lastChangeSummary = summary;
}