import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:random/painters/graph_painter.dart'; import 'package:random/provider/data.dart'; class GraphPage extends StatelessWidget { static String code = 'graph'; @override Widget build(BuildContext context) { Data myProvider = Provider.of<Data>(context); double boardWidth = MediaQuery.of(context).size.width; Scaffold pageContent = Scaffold( appBar: AppBar( elevation: 0, actions: <Widget>[], ), backgroundColor: Colors.blue, body: SafeArea( child: Column( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.center, children: [ Center( child: GestureDetector( onTapUp: (details) { double xTap = details.localPosition.dx; double yTap = details.localPosition.dy; print('[' + xTap.toString() + ',' + yTap.toString() + ']'); }, child: Container( margin: EdgeInsets.all(4), padding: EdgeInsets.all(4), child: CustomPaint( size: Size(boardWidth, boardWidth), willChange: false, painter: GraphPainter(myProvider), isComplex: true, ), ), ), ), ], ), ), ); return SizedBox.expand( child: Container( child: FittedBox( fit: BoxFit.contain, alignment: Alignment.center, child: SizedBox( height: (MediaQuery.of(context).size.height), width: (MediaQuery.of(context).size.width), child: pageContent, ), ), ), ); } }