char_metrics.dart 526 B

1234567891011121314151617181920
  1. import 'dart:ui';
  2. import 'package:xterm/src/ui/terminal_text_style.dart';
  3. Size calcCharMetrics(TerminalStyle style) {
  4. const test = 'mmmmmmmmmm';
  5. final textStyle = style.toTextStyle();
  6. final builder = ParagraphBuilder(textStyle.getParagraphStyle());
  7. builder.pushStyle(textStyle.getTextStyle());
  8. builder.addText(test);
  9. final paragraph = builder.build();
  10. paragraph.layout(ParagraphConstraints(width: double.infinity));
  11. return Size(
  12. paragraph.maxIntrinsicWidth / test.length,
  13. paragraph.height,
  14. );
  15. }