Wave Shape

Wave shpes package

A Dart package for easily creating customizable wave shapes using custom painters.

Overview

This Dart package provides a set of classes for creating different types of wave shapes using Flutter's custom painting capabilities. The package is designed to simplify the process of generating wave patterns, making it easy for developers to integrate dynamic and visually appealing waves into their Flutter applications.

Features

Top-Side Waves

  • CosWaveTopSide: Creates top-side waves with customizable parameters like amplitude, frequency, and phase.
  • CosWaveTopSide2: An extended version with additional customization options.
  • CosWaveTopSide3: Further enhanced version with more customizable features.

Both-Sides Waves

  • CosWaveBothSides: Creates waves on both sides with customizable parameters.
  • CosWaveBothSides2: An extended version with additional customization options.
  • CosWaveBothSides3: Further enhanced version with more customizable features.

Both-Sides Waves

Top-Side Waves

Installation

import

import 'package:wave_shape_package/wave_shape_package.dart';

Add this package to your pubspec.yaml file:

dependencies:
  wave_shap_painter: ^1.0.0

Usage

import 'package:flutter/material.dart';
import 'package:wave_shape_package/wave_shape_package.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      debugShowCheckedModeBanner: false,


      home: HomeScreen(),
    );
  }
}

class HomeScreen extends StatelessWidget {
  const HomeScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          backgroundColor: const Color.fromARGB(255, 188, 212, 223),
          title: const Text(
            'Wave Package Example',
          ),
        ),
        backgroundColor: const Color.fromARGB(255, 188, 212, 223),
        body: ListView(
            padding: const EdgeInsets.only(top:40,bottom: 40),
            children: <Widget>[
             CustomPaint(
             painter: CosWaveTopSide(
               waveColor: const Color.fromARGB(255, 149, 100, 186),
        ),
               child: const SizedBox(
          width: double.infinity,
          height: 180,
        ),
      ),

         const SizedBox(
        height: 40,
      ),
         CustomPaint(
        painter: CosWaveTopSide2(
          waveColor2: const Color.fromARGB(255, 216, 88, 171),
        ),
        child: const SizedBox(
          width: double.infinity,
          height: 200,
        ),
      ),
         const SizedBox(
        height: 40,
       ),
          CustomPaint(
        painter: CosWaveTopSide3(
          waveColor3: const Color.fromARGB(255, 113, 154, 226),
        ),
             child: const SizedBox(
          width: double.infinity,
          height: 200,
        ),
      ),

      ///both sides
              const SizedBox(
                height: 40,
              ),
           CustomPaint(
        painter: CosWaveBothSides(
          waveColor: const Color.fromARGB(255, 149, 100, 186),
        ),
        child: const SizedBox(
          width: double.infinity,
          height: 180,
        ),
      ),
          const SizedBox(
        height: 40,
      ),
      CustomPaint(
        painter: CosWaveBothSides2(
          waveColor2: const Color.fromARGB(255, 216, 88, 171),
        ),
        child: const SizedBox(
          width: double.infinity,
          height: 200,
        ),
      ),
      const SizedBox(
        height: 40,
      ),
      CustomPaint(
        painter: CosWaveBothSides3(
          waveColor3: const Color.fromARGB(255, 113, 154, 226),
        ),
        child: const SizedBox(
          width: double.infinity,
          height: 200,
        ),
      ),
    ]));
  }
}

Contributors

Libraries

wave_shape_package