stevenosse / paper_board

Powerful and highly customizable flutter drawing canvas

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Paper Board

The goal is to build a powerful and highly customizable drawing board.

Features

  • Draw
  • Erase
  • Undo
  • Redo
  • Clear
  • Sketch color
  • Save
  • Load
  • Zoom
  • Publish on pub.dev

TODO

  • Add unit tests
  • Write documentation
  • Add a ColorPicker
  • Toolbar needs to be more customizable
  • I18n

Usage

Installation

Add the following dependency to your pubspec.yaml file:

dependencies:
  paper_board: 
    git:
      url: https://github.com/stevenosse/paper_board.git

Example

class HomePage extends StatefulWidget {
  const HomePage({super.key});

  @override
  State<HomePage> createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  final DrawingBoardController controller = DrawingBoardController();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Paper Board Demo'),
        elevation: 3.0,
      ),
      body: FractionallySizedBox(
        widthFactor: 1.0,
        heightFactor: 1.0,
        child: Column(
          children: [
            Expanded(child: PaperBoard(controller: controller)),
            PaperBoardToolbar(controller: controller),
          ],
        ),
      ),
    );
  }
}

License

This project is licensed under the MIT License - see the LICENSE file for details

Contributing

Fork the project and clone it locally.

git clone git://github.com/stevenosse/paper_board.git

Install dependencies

cd paper_board
flutter pub get

Create a new branch

git checkout -b feature/my-feature

Make your changes and create a pull request.

About

Powerful and highly customizable flutter drawing canvas

License:Other


Languages

Language:Dart 98.3%Language:Swift 1.3%Language:Kotlin 0.2%Language:Makefile 0.1%Language:Objective-C 0.1%