LCOV - code coverage report
Current view: top level - src - reused_gradient.dart (source / functions) Hit Total Coverage
Test: lcov.info Lines: 7 10 70.0 %
Date: 2020-03-09 19:58:44 Functions: 0 0 -

          Line data    Source code
       1             : import 'package:flutter/cupertino.dart';
       2             : 
       3             : /// Wrapper for [Gradient], we don't want to re-create instance frequently in
       4             : /// hot method, such as paint().
       5             : class ReusedGradient {
       6             :   Gradient _gradient;
       7             : 
       8             :   Shader _shader;
       9             :   Rect _size;
      10             : 
      11             :   /// Create gradient
      12           1 :   ReusedGradient();
      13             : 
      14             :   /// Setter to reset the [Gradient] instance
      15           1 :   set gradient(Gradient gradient) {
      16           1 :     _gradient = gradient;
      17           1 :     _size = null;
      18             :   }
      19             : 
      20             :   /// Update the paint with provided size
      21           1 :   updateWith(Paint paint, {Rect size}) {
      22           2 :     if (size == _size) {
      23             :       return;
      24             :     }
      25           1 :     if (_gradient == null) {
      26             :       return;
      27             :     }
      28           0 :     _shader ??= _gradient.createShader(size);
      29           0 :     paint.shader = _shader;
      30           0 :     _size = size;
      31             :   }
      32             : }

Generated by: LCOV version 1.14