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-02-24 15:58:08 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           1 :   ReusedGradient();
      12             : 
      13             :   /// Setter to reset the [Gradient] instance
      14           1 :   set gradient(Gradient gradient) {
      15           1 :     _gradient = gradient;
      16           1 :     _size = null;
      17             :   }
      18             : 
      19             :   /// Update the paint with provided size
      20           1 :   updateWith(Paint paint, {Rect size}) {
      21           2 :     if (size == _size) {
      22             :       return;
      23             :     }
      24           1 :     if (_gradient == null) {
      25             :       return;
      26             :     }
      27           0 :     _shader ??= _gradient.createShader(size);
      28           0 :     paint.shader = _shader;
      29           0 :     _size = size;
      30             :   }
      31             : }

Generated by: LCOV version 1.14