window_toolbox 0.0.1
window_toolbox: ^0.0.1 copied to clipboard
Fully custom windows and utilities for Flutter multi-window.
window_toolbox #
A new Dart FFI package project.
Getting Started #
This project is a starting point for a Flutter FFI package, a specialized package that includes native code directly invoked with Dart FFI.
Project structure #
This template uses the following structure:
-
src: Contains the native source code, and a CmakeFile.txt file for building that source code into a dynamic library. -
lib: Contains the Dart code that defines the API of the plugin, and which calls into the native code usingdart:ffi. -
bin: Contains thebuild.dartthat performs the external native builds.
Building and bundling native code #
build.dart does the building of native components.
Bundling is done by Flutter based on the output from build.dart.
Binding to native code #
To use the native code, bindings in Dart are needed.
To avoid writing these by hand, they are generated from the header file
(src/window_toolbox.h) by package:ffigen.
Regenerate the bindings by running dart run ffigen --config ffigen.yaml.
Invoking native code #
Very short-running native functions can be directly invoked from any isolate.
For example, see sum in lib/window_toolbox.dart.
Longer-running functions should be invoked on a helper isolate to avoid
dropping frames in Flutter applications.
For example, see sumAsync in lib/window_toolbox.dart.
Flutter help #
For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.