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

          Line data    Source code
       1             : import 'dart:ui';
       2             : 
       3             : import 'package:meta/meta.dart';
       4             : 
       5             : import '../extensions/image.dart';
       6             : import '../extensions/vector2.dart';
       7             : import '../sprite.dart';
       8             : import 'component.dart';
       9             : import 'mixins/has_paint.dart';
      10             : import 'position_component.dart';
      11             : 
      12             : export '../sprite.dart';
      13             : 
      14             : /// A [PositionComponent] that renders a single [Sprite] at the designated
      15             : /// position, scaled to have the designated size and rotated to the specified
      16             : /// angle.
      17             : ///
      18             : /// This a commonly used subclass of [Component].
      19             : class SpriteComponent extends PositionComponent with HasPaint {
      20             :   /// The [sprite] to be rendered by this component.
      21             :   Sprite? sprite;
      22             : 
      23             :   /// Creates a component with an empty sprite which can be set later
      24           3 :   SpriteComponent({
      25             :     Vector2? position,
      26             :     Vector2? size,
      27             :     int? priority,
      28             :     this.sprite,
      29             :     Paint? paint,
      30           3 :   }) : super(position: position, size: size, priority: priority) {
      31             :     if (paint != null) {
      32           0 :       this.paint = paint;
      33             :     }
      34             :   }
      35             : 
      36           1 :   factory SpriteComponent.fromImage(
      37             :     Image image, {
      38             :     Vector2? position,
      39             :     Vector2? size,
      40             :     Vector2? srcPosition,
      41             :     Vector2? srcSize,
      42             :   }) =>
      43           1 :       SpriteComponent(
      44             :         position: position,
      45           1 :         size: size ?? srcSize ?? image.size,
      46           1 :         sprite: Sprite(
      47             :           image,
      48             :           srcPosition: srcPosition,
      49             :           srcSize: srcSize,
      50             :         ),
      51             :       );
      52             : 
      53           0 :   @mustCallSuper
      54             :   @override
      55             :   void render(Canvas canvas) {
      56           0 :     super.render(canvas);
      57           0 :     sprite?.render(
      58             :       canvas,
      59           0 :       size: size,
      60           0 :       overridePaint: paint,
      61             :     );
      62             :   }
      63             : }

Generated by: LCOV version 1.15