LCOV - code coverage report
Current view: top level - lib/PageHelpers - page_reveal.dart (source / functions) Hit Total Coverage
Test: lcov.info Lines: 19 21 90.5 %
Date: 2021-03-10 21:05:26 Functions: 0 0 -

          Line data    Source code
       1             : import 'package:flutter/material.dart';
       2             : import 'package:liquid_swipe/Clippers/CircularWave.dart';
       3             : import 'package:liquid_swipe/Helpers/Helpers.dart';
       4             : import 'package:liquid_swipe/PageHelpers/page_dragger.dart';
       5             : 
       6             : import '../Clippers/WaveLayer.dart';
       7             : 
       8             : /// Internal Class
       9             : ///
      10             : /// This Widget reveals the next page in the liquid wave form.
      11             : ///
      12             : /// Required Parameters :
      13             : /// [horizontalReveal] Horizontal Reveal from [PageDragger]
      14             : /// [child] refers to the Next Page
      15             : /// [slideDirection] left to Right or Right to left or default none. see [SlideDirection]
      16             : /// [iconPosition] double type value. represents the percentage of the slide icon position vertically
      17             : /// [waveType] add currently available [WaveType]'s
      18             : /// [verticalReveal] Vertical Reveal from [PageDragger]
      19             : class PageReveal extends StatelessWidget {
      20             :   final double horizontalReveal;
      21             :   final Widget child;
      22             :   final SlideDirection? slideDirection;
      23             :   final Size iconSize;
      24             :   final WaveType waveType;
      25             :   final double verticalReveal;
      26             : 
      27             :   ///Constructor for [PageReveal].
      28           1 :   PageReveal({
      29             :     required this.horizontalReveal,
      30             :     required this.child,
      31             :     this.slideDirection,
      32             :     required this.iconSize,
      33             :     required this.waveType,
      34             :     required this.verticalReveal,
      35             :   });
      36             : 
      37           1 :   @override
      38             :   Widget build(BuildContext context) {
      39           1 :     switch (waveType) {
      40           1 :       case WaveType.circularReveal:
      41           1 :         return ClipPath(
      42             :           clipBehavior: Clip.antiAliasWithSaveLayer,
      43           1 :           clipper: CircularWave(
      44           1 :             iconSize,
      45           2 :             slideDirection == SlideDirection.leftToRight
      46           0 :                 ? 1.0 - horizontalReveal
      47           1 :                 : horizontalReveal,
      48           1 :             verticalReveal,
      49             :           ),
      50           1 :           child: child,
      51             :         );
      52             :       default:
      53           1 :         return ClipPath(
      54             :           clipBehavior: Clip.antiAliasWithSaveLayer,
      55           1 :           clipper: WaveLayer(
      56           2 :             revealPercent: slideDirection == SlideDirection.leftToRight
      57           0 :                 ? 1.0 - horizontalReveal
      58           1 :                 : horizontalReveal,
      59           1 :             slideDirection: slideDirection,
      60           1 :             iconSize: iconSize,
      61           1 :             verReveal: verticalReveal,
      62             :           ),
      63           1 :           child: child,
      64             :         );
      65             :     }
      66             :   }
      67             : }

Generated by: LCOV version 1.15