From 55283e00c77e26d821c0e7b32429a2e046212865 Mon Sep 17 00:00:00 2001 From: Evandro de Andrade Bereta Date: Thu, 19 Sep 2024 16:49:25 -0300 Subject: [PATCH 1/2] =?UTF-8?q?Altera=C3=A7=C3=A3o=20do=20enumerado=20papp?= =?UTF-8?q?er=20size?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Alterado PapperSize para class abstrata, deixando as utilizações definirem o tamanho da impressão. --- .../example/lib/receipt_page.dart | 12 ++++++++++++ .../example/pubspec.lock | 14 +++++++------- .../lib/flutter_bluetooth_printer_library.dart | 1 + .../src/flutter_bluetooth_printer_impl.dart | 18 +++++------------- .../lib/src/widgets/receipt.dart | 13 +++++++++---- .../flutter_bluetooth_printer/pubspec.lock | 12 ++++++------ 6 files changed, 40 insertions(+), 30 deletions(-) diff --git a/packages/flutter_bluetooth_printer/example/lib/receipt_page.dart b/packages/flutter_bluetooth_printer/example/lib/receipt_page.dart index 7f1318c..6cff200 100644 --- a/packages/flutter_bluetooth_printer/example/lib/receipt_page.dart +++ b/packages/flutter_bluetooth_printer/example/lib/receipt_page.dart @@ -38,6 +38,7 @@ class _ReceiptPageState extends State { Expanded( child: Receipt( backgroundColor: Colors.grey.shade200, + paperSize: MyPapperSize(560, 80, 'Paper 80mm'), builder: (context) { return Column( mainAxisSize: MainAxisSize.min, @@ -180,6 +181,17 @@ class _ReceiptPageState extends State { } } +class MyPapperSize extends PaperSize { + @override + final int width; + @override + final double paperWidthMM; + @override + final String name; + + MyPapperSize(this.width, this.paperWidthMM, this.name); +} + class PrintingProgressDialog extends StatefulWidget { final String device; final ReceiptController controller; diff --git a/packages/flutter_bluetooth_printer/example/pubspec.lock b/packages/flutter_bluetooth_printer/example/pubspec.lock index f5e0656..4e83d8b 100644 --- a/packages/flutter_bluetooth_printer/example/pubspec.lock +++ b/packages/flutter_bluetooth_printer/example/pubspec.lock @@ -92,7 +92,7 @@ packages: path: ".." relative: true source: path - version: "2.16.0" + version: "2.16.10" flutter_bluetooth_printer_macos: dependency: "direct overridden" description: @@ -140,10 +140,10 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" url: "https://pub.dev" source: hosted - version: "10.0.0" + version: "10.0.5" leak_tracker_flutter_testing: dependency: transitive description: @@ -156,10 +156,10 @@ packages: dependency: transitive description: name: leak_tracker_testing - sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + sha256: d4c8f568c60af6b6daa74c80fc04411765769882600f6bf9cd4b391c96de42ce url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "2.0.3" lints: dependency: transitive description: @@ -188,10 +188,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: "25dfcaf170a0190f47ca6355bdd4552cb8924b430512ff0cafb8db9bd41fe33b" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.14.0" path: dependency: transitive description: diff --git a/packages/flutter_bluetooth_printer/lib/flutter_bluetooth_printer_library.dart b/packages/flutter_bluetooth_printer/lib/flutter_bluetooth_printer_library.dart index 47ad905..8c5178a 100644 --- a/packages/flutter_bluetooth_printer/lib/flutter_bluetooth_printer_library.dart +++ b/packages/flutter_bluetooth_printer/lib/flutter_bluetooth_printer_library.dart @@ -9,6 +9,7 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter/services.dart'; +import 'package:flutter_bluetooth_printer/flutter_bluetooth_printer.dart'; import 'package:flutter_bluetooth_printer_platform_interface/flutter_bluetooth_printer_platform_interface.dart'; import 'package:image/image.dart' as img; import 'package:image/image.dart' hide Image, Color; diff --git a/packages/flutter_bluetooth_printer/lib/src/flutter_bluetooth_printer_impl.dart b/packages/flutter_bluetooth_printer/lib/src/flutter_bluetooth_printer_impl.dart index 3d1f895..0153d8f 100644 --- a/packages/flutter_bluetooth_printer/lib/src/flutter_bluetooth_printer_impl.dart +++ b/packages/flutter_bluetooth_printer/lib/src/flutter_bluetooth_printer_impl.dart @@ -5,18 +5,10 @@ class DiscoveryResult extends DiscoveryState { DiscoveryResult({required this.devices}); } -enum PaperSize { - // original is 384 => 48 * 8 - mm58(360, 58, 'Roll Paper 58mm'); - - final int width; - final double paperWidthMM; - final String name; - const PaperSize( - this.width, - this.paperWidthMM, - this.name, - ); +abstract class PaperSize { + int get width; + double get paperWidthMM; + String get name; } class FlutterBluetoothPrinter { @@ -86,7 +78,7 @@ class FlutterBluetoothPrinter { required Uint8List imageBytes, required int imageWidth, required int imageHeight, - PaperSize paperSize = PaperSize.mm58, + required PaperSize paperSize, ProgressCallback? onProgress, int addFeeds = 0, bool useImageRaster = true, diff --git a/packages/flutter_bluetooth_printer/lib/src/widgets/receipt.dart b/packages/flutter_bluetooth_printer/lib/src/widgets/receipt.dart index 9655cc5..15f46cf 100644 --- a/packages/flutter_bluetooth_printer/lib/src/widgets/receipt.dart +++ b/packages/flutter_bluetooth_printer/lib/src/widgets/receipt.dart @@ -3,7 +3,7 @@ part of flutter_bluetooth_printer; class ReceiptController with ChangeNotifier { final ReceiptState _state; - PaperSize _paperSize = PaperSize.mm58; + late PaperSize _paperSize; // = PaperSize.mm58; PaperSize get paperSize => _paperSize; set paperSize(PaperSize size) { _paperSize = size; @@ -12,7 +12,9 @@ class ReceiptController with ChangeNotifier { ReceiptController._({ required ReceiptState state, - }) : _state = state; + required PaperSize paperSize, + }) : _state = state, + _paperSize = paperSize; Future print({ required String address, @@ -40,6 +42,7 @@ class Receipt extends StatefulWidget { final Widget Function(BuildContext context, Widget child)? containerBuilder; final Color backgroundColor; final TextStyle? defaultTextStyle; + final PaperSize paperSize; final void Function(ReceiptController controller) onInitialized; const Receipt({ @@ -48,6 +51,7 @@ class Receipt extends StatefulWidget { this.backgroundColor = Colors.grey, required this.builder, required this.onInitialized, + required this.paperSize, this.containerBuilder, }) : super(key: key); @@ -57,13 +61,14 @@ class Receipt extends StatefulWidget { class ReceiptState extends State { final _localKey = GlobalKey(); - PaperSize _paperSize = PaperSize.mm58; + late PaperSize _paperSize; late ReceiptController controller; @override void initState() { super.initState(); - controller = ReceiptController._(state: this); + _paperSize = widget.paperSize; + controller = ReceiptController._(state: this, paperSize: _paperSize); controller.addListener(_listener); Future.delayed(const Duration(milliseconds: 100), () { widget.onInitialized(controller); diff --git a/packages/flutter_bluetooth_printer/pubspec.lock b/packages/flutter_bluetooth_printer/pubspec.lock index c0bbeb4..d92c7a3 100644 --- a/packages/flutter_bluetooth_printer/pubspec.lock +++ b/packages/flutter_bluetooth_printer/pubspec.lock @@ -125,10 +125,10 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" url: "https://pub.dev" source: hosted - version: "10.0.0" + version: "10.0.5" leak_tracker_flutter_testing: dependency: transitive description: @@ -141,10 +141,10 @@ packages: dependency: transitive description: name: leak_tracker_testing - sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + sha256: d4c8f568c60af6b6daa74c80fc04411765769882600f6bf9cd4b391c96de42ce url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "2.0.3" lints: dependency: transitive description: @@ -173,10 +173,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: "25dfcaf170a0190f47ca6355bdd4552cb8924b430512ff0cafb8db9bd41fe33b" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.14.0" path: dependency: transitive description: From 02a5249bb35b26c2307d972df2e89672e614b86a Mon Sep 17 00:00:00 2001 From: Evandro de Andrade Bereta Date: Sat, 21 Sep 2024 11:28:58 -0300 Subject: [PATCH 2/2] =?UTF-8?q?Realizada=20altera=C3=A7=C3=A3o=20no=20pack?= =?UTF-8?q?age=20melos.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Alterada versão do pacote melos. --- pubspec.lock | 32 ++++++++++++++++++++++++-------- pubspec.yaml | 2 +- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 2cc909c..af9c210 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -57,6 +57,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.4.1" + clock: + dependency: transitive + description: + name: clock + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" + source: hosted + version: "1.1.1" collection: dependency: transitive description: @@ -77,10 +85,10 @@ packages: dependency: transitive description: name: file - sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d" + sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" url: "https://pub.dev" source: hosted - version: "6.1.4" + version: "7.0.0" glob: dependency: transitive description: @@ -113,6 +121,14 @@ packages: url: "https://pub.dev" source: hosted version: "4.0.2" + intl: + dependency: transitive + description: + name: intl + sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf + url: "https://pub.dev" + source: hosted + version: "0.19.0" io: dependency: transitive description: @@ -141,10 +157,10 @@ packages: dependency: "direct main" description: name: melos - sha256: "96e64bbade5712c3f010137e195bca9f1b351fac34ab1f322af492ae34032067" + sha256: a3f06ed871e0348cb99909ad5ddf5f8b53cc61d894c302b5417d2db1ee7ec381 url: "https://pub.dev" source: hosted - version: "3.4.0" + version: "6.1.0" meta: dependency: transitive description: @@ -189,10 +205,10 @@ packages: dependency: transitive description: name: process - sha256: "53fd8db9cec1d37b0574e12f07520d582019cb6c44abf5479a01505099a34a09" + sha256: "21e54fd2faf1b5bdd5102afd25012184a6793927648ea81eea80552ac9405b32" url: "https://pub.dev" source: hosted - version: "4.2.4" + version: "5.0.2" prompts: dependency: transitive description: @@ -213,10 +229,10 @@ packages: dependency: transitive description: name: pub_updater - sha256: b06600619c8c219065a548f8f7c192b3e080beff95488ed692780f48f69c0625 + sha256: "54e8dc865349059ebe7f163d6acce7c89eb958b8047e6d6e80ce93b13d7c9e60" url: "https://pub.dev" source: hosted - version: "0.3.1" + version: "0.4.0" pubspec: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 057152c..9fec92f 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -5,4 +5,4 @@ environment: flutter: ">=3.0.0" dependencies: - melos: ^3.1.0 + melos: ^6.1.0