LCOV - code coverage report
Current view: top level - lib/src/components - text_component.dart (source / functions) Hit Total Coverage
Test: lcov.info Lines: 11 19 57.9 %
Date: 2021-08-10 15:50:53 Functions: 0 0 -

          Line data    Source code
       1             : import 'dart:ui';
       2             : 
       3             : import 'package:flutter/painting.dart';
       4             : import 'package:meta/meta.dart';
       5             : 
       6             : import '../extensions/vector2.dart';
       7             : import '../text.dart';
       8             : import 'position_component.dart';
       9             : 
      10             : class TextComponent<T extends TextRenderer> extends PositionComponent {
      11             :   String _text;
      12             :   T _textRenderer;
      13             : 
      14           0 :   String get text => _text;
      15             : 
      16           0 :   set text(String text) {
      17           0 :     if (_text != text) {
      18           0 :       _text = text;
      19           0 :       _updateBox();
      20             :     }
      21             :   }
      22             : 
      23           2 :   T get textRenderer => _textRenderer;
      24             : 
      25           1 :   set textRenderer(T textRenderer) {
      26           1 :     _textRenderer = textRenderer;
      27           1 :     _updateBox();
      28             :   }
      29             : 
      30           1 :   TextComponent(
      31             :     this._text, {
      32             :     T? textRenderer,
      33             :     Vector2? position,
      34             :     Vector2? size,
      35             :     int? priority,
      36           1 :   })  : _textRenderer = textRenderer ?? TextRenderer.createDefault<T>(),
      37           1 :         super(position: position, size: size, priority: priority) {
      38           1 :     _updateBox();
      39             :   }
      40             : 
      41           1 :   void _updateBox() {
      42           3 :     final expectedSize = textRenderer.measureText(_text);
      43           4 :     size.setValues(expectedSize.x, expectedSize.y);
      44             :   }
      45             : 
      46           0 :   @mustCallSuper
      47             :   @override
      48             :   void render(Canvas canvas) {
      49           0 :     super.render(canvas);
      50           0 :     _textRenderer.render(canvas, text, Vector2.zero());
      51             :   }
      52             : }

Generated by: LCOV version 1.15