From e500591951bdf4152c92ff515bbae47ce100020a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Harrault?= <benoit@harrault.fr> Date: Sat, 3 Dec 2022 19:33:59 +0100 Subject: [PATCH] Allow pick color from cell in board --- android/gradle.properties | 4 +-- .../metadata/android/en-US/changelogs/29.txt | 1 + .../metadata/android/fr-FR/changelogs/29.txt | 1 + lib/layout/board.dart | 30 +++++++++++++++---- 4 files changed, 28 insertions(+), 8 deletions(-) create mode 100644 fastlane/metadata/android/en-US/changelogs/29.txt create mode 100644 fastlane/metadata/android/fr-FR/changelogs/29.txt diff --git a/android/gradle.properties b/android/gradle.properties index e644338..d965699 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,5 +1,5 @@ org.gradle.jvmargs=-Xmx1536M android.useAndroidX=true android.enableJetifier=true -app.versionName=0.0.28 -app.versionCode=28 +app.versionName=0.0.29 +app.versionCode=29 diff --git a/fastlane/metadata/android/en-US/changelogs/29.txt b/fastlane/metadata/android/en-US/changelogs/29.txt new file mode 100644 index 0000000..55511cb --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/29.txt @@ -0,0 +1 @@ +Allow pick color from cell in board diff --git a/fastlane/metadata/android/fr-FR/changelogs/29.txt b/fastlane/metadata/android/fr-FR/changelogs/29.txt new file mode 100644 index 0000000..b212620 --- /dev/null +++ b/fastlane/metadata/android/fr-FR/changelogs/29.txt @@ -0,0 +1 @@ +Sélection d'une couleur à partir d'une case du tableau diff --git a/lib/layout/board.dart b/lib/layout/board.dart index 8d0b03c..0224d6d 100644 --- a/lib/layout/board.dart +++ b/lib/layout/board.dart @@ -1,5 +1,6 @@ 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 { @@ -9,12 +10,29 @@ class Board { padding: EdgeInsets.all(4), child: Column( children: [ - CustomPaint( - size: Size(boardWidth, boardWidth), - willChange: false, - painter: BoardPainter(myProvider), - isComplex: true, - ), + 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, + ), + ), + ), + ), + ) ], ), ); -- GitLab