A flutter library for Agora Fastboard

Overview

Agora Fastboard

Version Generic badge

Agora Fastboard SDK is the latest generation of the whiteboard SDK launched by Agora to help developers quickly build whiteboard applications. It simplifies the APIs of the Whiteboard SDK and adds UI implementations. These improvements enable you to join a room with just a few lines of code and instantly experience real-time interactive collaboration using a variety of rich editing tools.

It is pinned on the following features

  • Low-cost
  • Scenario-based
  • Configurable

Getting started

In your flutter project add the dependency:

dependencies:
    fastboard_flutter: ^0.1.1

Usage

clone this repository and run example. main samples locate at quick_start and custom_layout

FastRoomView

See the example directory for a minimal example of how to use FastRoomView.

embed FastRoomView to your app.

@override
Widget build(BuildContext context) {
  return FastRoomView(
    fastRoomOptions: FastRoomOptions(
      appId: APP_ID,
      uuid: ROOM_UUID,
      token: ROOM_TOKEN,
      uid: UNIQUE_CLIENT_ID,
      writable: true,
      fastRegion: FastRegion.cn_hz,
    ),
  );
}

DarkMode

Fastboard has a built-in set of dark mode configuration, you can switch between dark mode and light mode by configuring FastRoomView.useDarkTheme.

@override
Widget build(BuildContext context) {
  return FastRoomView(
    fastRoomOptions: FastRoomOptions(
      appId: APP_ID,
      uuid: ROOM_UUID,
      token: ROOM_TOKEN,
      uid: UNIQUE_CLIENT_ID,
      writable: true,
      fastRegion: FastRegion.cn_hz,
    ),
    useDarkTheme = true,
  );
}

Also you can config FastRoomView.theme, FastRoomView.darkTheme to change colors of built-in Widgets.

@override
Widget build(BuildContext context) {
  return FastRoomView(
    fastRoomOptions: FastRoomOptions(
      appId: APP_ID,
      uuid: ROOM_UUID,
      token: ROOM_TOKEN,
      uid: UNIQUE_CLIENT_ID,
      writable: true,
      fastRegion: FastRegion.cn_hz,
    ),
    theme: FastThemeData.light().copyWith(mainColor: Color(0xFF00BCD4)),
    darkTheme: FastThemeData.dark().copyWith(mainColor: Color(0xFF0097A7)),
    useDarkTheme = true,
  );
}

RoomControllerWidgetBuilder

Hide and show built-in widgets, or customize widget use FastRoomView.builder.

see custom_layout for more info.

@override
Widget build(BuildContext context) {
  return FastRoomView(
    fastRoomOptions: FastRoomOptions(
      appId: APP_ID,
      uuid: ROOM_UUID,
      token: ROOM_TOKEN,
      uid: UNIQUE_CLIENT_ID,
      writable: true,
      fastRegion: FastRegion.cn_hz,
    ),
    builder: customBuilder,
  );
}

Widget customBuilder(BuildContext context, FastRoomController controller) {
  return Stack(
    alignment: Alignment.center,
    children: [
      FastOverlayHandlerView(controller),
      Positioned(
        child: FastPageIndicator(controller),
        bottom: FastGap.gap_3,
        right: FastGap.gap_3,
      ),
      FastToolBoxExpand(controller),
      FastStateHandlerView(controller),
    ],
  );
}

ToolBox Items

You can configure ToolBox appliances by FastUiSettings.toolboxItems.

void main() {
  FastUiSettings.toolboxItems = [
    ToolboxItem(appliances: [FastAppliance.clicker]),
    ToolboxItem(appliances: [FastAppliance.selector]),
    ToolboxItem(appliances: [FastAppliance.pencil]),
    ToolboxItem(appliances: [FastAppliance.eraser]),
    ToolboxItem(appliances: [
      FastAppliance.rectangle,
      FastAppliance.ellipse,
      FastAppliance.straight,
      FastAppliance.arrow,
      FastAppliance.pentagram,
      FastAppliance.rhombus,
      FastAppliance.triangle,
      FastAppliance.balloon,
    ]),

    /// remove FastAppliance.clear
    /// ToolboxItem(appliances: [FastAppliance.clear]),
  ];
  runApp(const MyApp());
}
You might also like...

QR.Flutter is a Flutter library for simple and fast QR code rendering via a Widget or custom painter.

QR.Flutter is a Flutter library for simple and fast QR code rendering via a Widget or custom painter.

QR.Flutter is a Flutter library for simple and fast QR code rendering via a Widget or custom painter. Need help? Please do not submit an issue for a "

Jan 8, 2023

Web3-demo-flutter - A demo for the flutter web3 library.

web3_demo_flutter A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you starte

Oct 7, 2022

Flutter-sorted-chips-row - Flutter library for rendering a row of Material "Chip" buttons that gets sorted according to the given function

Flutter-sorted-chips-row - Flutter library for rendering a row of Material

sorted_chips_row A Flutter Widget displaying a row of Material Chips, sorted according to the provided comparison function. How to use Adding dependen

Jul 29, 2021

Basf flutter components - A BASF Flutter components library for iOS and Android

Basf flutter components - A BASF Flutter components library for iOS and Android

basf_flutter_components A BASF Flutter components library for iOS and Android In

Dec 15, 2022

Flutter plugin for selecting images from the Android and iOS image library, taking new pictures with the camera, and edit them before using such as rotation, cropping, adding sticker/text/filters.

Flutter plugin for selecting images from the Android and iOS image library, taking new pictures with the camera, and edit them before using such as rotation, cropping, adding sticker/text/filters.

advance_image_picker Flutter plugin for selecting multiple images from the Android and iOS image library, taking new pictures with the camera, and edi

Dec 19, 2022

A customizable Flutter library that provides a circular context menu

A customizable Flutter library that provides a circular context menu

Flutter Pie Menu πŸ₯§ A customizable Flutter library that provides a circular context menu similar to Pinterest's. Usage Wrap the widget that will react

Jan 4, 2023

A Flutter Library

mai_ga A new Flutter application. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if th

Nov 4, 2021

Multi-language support in Flutter without using any third-party library

flutter_localization_app A new Flutter application. Getting Started This project is a starting point for a Flutter application. A few resources to get

Oct 30, 2021

A flutter SerialPort library using win32 API.

serial_port_win32 A SerialPort library using win32 API. Getting Started Get Ports final ports = SerialPort.getAvailablePorts(); print(ports); /// resu

Nov 20, 2022
Owner
netless
netless
A new video calling mobile application using Flutter, Agora SDK and GetX state management.

LiveBox : A Video Calling App A new video calling mobile application using Flutter, Agora SDK and GetX state management. Features Login Registration F

Nikhil Rajput 14 Dec 3, 2022
Agora - Highlight Active Speaker in a video call

Highlight Active Speaker in a video call When a meeting or video chat is complet

null 3 Nov 23, 2022
FlutterAgoraFirebaseVideoCall (Agora RTC, Bloc Pattern, Cubit, Firestore, Cloud Function, FCM)

Flutter Agora Fully Functional Video Call module Tech Stack Client: Dart, Flutter Server: Firebase firestore, Google cloud functions Techniques: *BloC

Youssef Elshiaty 39 Dec 16, 2022
Flutter-Animated-Library-of-Books - Flutter App - Animated Book Library

bookshelf A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if thi

Ulfhrafn 1 Dec 4, 2022
Flutter book library - Book Library Application with Flutter and Google Book API

Book Library Application Flutter iOS, Android and Web with Google Book API Demo

Nur Ahmad H 0 Jan 25, 2022
Flutter Control is complex library to maintain App and State management. Library merges multiple functionality under one hood. This approach helps to tidily bound separated logic into complex solution.

Flutter Control is complex library to maintain App and State management. Library merges multiple functionality under one hood. This approach helps to

Roman Hornak 23 Feb 23, 2022
[Flutter Library] Flamingo is a firebase firestore model framework library. 🐀

Flamingo Flamingo is a firebase firestore model framework library. https://pub.dev/packages/flamingo ζ—₯本θͺžγƒ‰γ‚­γƒ₯γƒ‘γƒ³γƒˆ Example code See the example directory

shohei 117 Sep 22, 2022
This library provides the easiest and powerful Dart/Flutter library for Mastodon API 🎯

The Easiest and Powerful Dart/Flutter Library for Mastodon API ?? 1. Guide ?? 1.1. Features ?? 1.2. Getting Started ⚑ 1.2.1. Install Library 1.2.2. Im

Mastodon.dart 55 Jul 27, 2023
A middleware library for Dart's http library.

http_middleware A middleware library for Dart http library. Getting Started http_middleware is a module that lets you build middleware for Dart's http

TED Consulting 38 Oct 23, 2021
🎯 This library automatically generates object classes from JSON files that can be parsed by the freezed library.

The Most Powerful Way to Automatically Generate Model Objects from JSON Files ⚑ 1. Guide ?? 1.1. Features ?? 1.1.1. From 1.1.2. To 1.2. Getting Starte

KATO, Shinya / εŠ θ—€ 真也 14 Nov 9, 2022