/// live demo: https://graphx-gesture-simple.surge.sh import 'package:flutter/material.dart'; import 'package:graphx/graphx.dart'; import 'package:graphx_zoompan/simple_zoom.dart'; void main() { runApp(AppSimpleZoom()); } class AppSimpleZoom extends StatefulWidget { const AppSimpleZoom({Key? key}) : super(key: key); @override _AppSimpleZoomState createState() => _AppSimpleZoomState(); } class _AppSimpleZoomState extends State { final scene = SimpleZoomScene(); @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar(title: Text('Simple transform')), body: GestureDetector( onScaleStart: scene.onScaleStart, onScaleUpdate: scene.onScaleUpdate, // onScaleEnd: scene.onScaleEnd, child: SceneBuilderWidget( builder: () => SceneController(front: scene), ), ), floatingActionButton: FloatingActionButton( child: Text('reset'), onPressed: scene.resetTransform, ), ), ); } }