Flutter implementation of the cgm library.

Note: This library is still in development and does not yet support all CGM features. Bugs and missing features are likely to be present.

Features

  • Drawing the commands of a parsed CGM file to a Canvas, or displaying them in a widget.

Usage

To paint the commands to a canvas:

final cgm = CGM.fromFile(file);

// Create a canvas to draw the CGM commands on
// The paramter canvas is an instance of Flutter's Canvas class
final cgmCanvas = FlutterCGMCanvas(canvas);
final display = CGMDisplay(cgm);

// Paint the CGM commands to the canvas
display.paint(cgmCanvas);

To display the CGM file in a stateful widget:

class ExampleWidget extends StatefulWidget {
  @override
  _ExampleWidgetState createState() => _ExampleWidgetState();
}

class _ExampleWidgetState extends State<ExampleWidget> {
  late final CGM cgm;

  @override
  void initState() {
    super.initState();
    final file = File('path/to/file.cgm');
    cgm = CGM.fromFile(file);
  }

  @override
  Widget build(BuildContext context) {
    return CGMWidget(
      cgm: cgm,
    );
  }
}

Contribution

Contributions are welcome! Feel free to open an issue or a pull request.

Libraries

flutter_cgm
A library to render CGM files in Flutter.