import 'package:colors/layout/board_painter.dart'; import 'package:colors/provider/data.dart'; import 'package:colors/utils/board_utils.dart'; import 'package:flutter/material.dart'; class Board { static Container buildGameBoard(Data myProvider, double boardWidth) { return Container( margin: EdgeInsets.all(4), padding: EdgeInsets.all(4), child: Column( children: [ Container( child: Center( child: GestureDetector( onTapUp: (details) { double xTap = details.localPosition.dx; double yTap = details.localPosition.dy; int boardSize = myProvider.boardSize; int col = xTap ~/ (boardWidth / boardSize); int row = yTap ~/ (boardWidth / boardSize); int cellValue = myProvider.getCellValue(col, row); BoardUtils.fillBoardFromFirstCell(myProvider, cellValue); }, child: Container( child: CustomPaint( size: Size(boardWidth, boardWidth), willChange: false, painter: BoardPainter(myProvider), isComplex: true, ), ), ), ), ) ], ), ); } }