Julian Steenbakker

doc: updated docs for latest beta release

Showing 1 changed file with 73 additions and 66 deletions
@@ -55,7 +55,7 @@ Do you have experience with Flutter Web development? [Help me with migrating fro @@ -55,7 +55,7 @@ Do you have experience with Flutter Web development? [Help me with migrating fro
55 55
56 | Features | Android | iOS | macOS | Web | 56 | Features | Android | iOS | macOS | Web |
57 |------------------------|--------------------|--------------------|-------|-----| 57 |------------------------|--------------------|--------------------|-------|-----|
58 -| analyzeImage (Gallery) | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | 58 +| analyzeImage (Gallery) | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: |
59 59
60 ## Usage 60 ## Usage
61 61
@@ -75,15 +75,15 @@ import 'package:mobile_scanner/mobile_scanner.dart'; @@ -75,15 +75,15 @@ import 'package:mobile_scanner/mobile_scanner.dart';
75 return Scaffold( 75 return Scaffold(
76 appBar: AppBar(title: const Text('Mobile Scanner')), 76 appBar: AppBar(title: const Text('Mobile Scanner')),
77 body: MobileScanner( 77 body: MobileScanner(
78 - allowDuplicates: false,  
79 - onDetect: (barcode) {  
80 - if (barcode.rawValue == null) {  
81 - debugPrint('Failed to scan Barcode');  
82 - } else {  
83 - final String code = barcode.rawValue!;  
84 - debugPrint('Barcode found! $code');  
85 - }  
86 - }), 78 + // fit: BoxFit.contain,
  79 + onDetect: (capture) {
  80 + final List<Barcode> barcodes = capture.barcodes;
  81 + final Uint8List? image = capture.image;
  82 + for (final barcode in barcodes) {
  83 + debugPrint('Barcode found! ${barcode.rawValue}');
  84 + }
  85 + },
  86 + ),
87 ); 87 );
88 } 88 }
89 ``` 89 ```
@@ -98,17 +98,18 @@ import 'package:mobile_scanner/mobile_scanner.dart'; @@ -98,17 +98,18 @@ import 'package:mobile_scanner/mobile_scanner.dart';
98 return Scaffold( 98 return Scaffold(
99 appBar: AppBar(title: const Text('Mobile Scanner')), 99 appBar: AppBar(title: const Text('Mobile Scanner')),
100 body: MobileScanner( 100 body: MobileScanner(
101 - allowDuplicates: false,  
102 - controller: MobileScannerController(  
103 - facing: CameraFacing.front, torchEnabled: true),  
104 - onDetect: (barcode) {  
105 - if (barcode.rawValue == null) {  
106 - debugPrint('Failed to scan Barcode');  
107 - } else {  
108 - final String code = barcode.rawValue!;  
109 - debugPrint('Barcode found! $code');  
110 - }  
111 - }), 101 + // fit: BoxFit.contain,
  102 + controller: MobileScannerController(
  103 + facing: CameraFacing.front, torchEnabled: true,
  104 + ),
  105 + onDetect: (capture) {
  106 + final List<Barcode> barcodes = capture.barcodes;
  107 + final Uint8List? image = capture.image;
  108 + for (final barcode in barcodes) {
  109 + debugPrint('Barcode found! ${barcode.rawValue}');
  110 + }
  111 + },
  112 + ),
112 ); 113 );
113 } 114 }
114 ``` 115 ```
@@ -161,16 +162,17 @@ import 'package:mobile_scanner/mobile_scanner.dart'; @@ -161,16 +162,17 @@ import 'package:mobile_scanner/mobile_scanner.dart';
161 ], 162 ],
162 ), 163 ),
163 body: MobileScanner( 164 body: MobileScanner(
164 - allowDuplicates: false,  
165 - controller: cameraController,  
166 - onDetect: (barcode) {  
167 - if (barcode.rawValue == null) {  
168 - debugPrint('Failed to scan Barcode');  
169 - } else {  
170 - final String code = barcode.rawValue!;  
171 - debugPrint('Barcode found! $code');  
172 - }  
173 - })); 165 + // fit: BoxFit.contain,
  166 + controller: cameraController,
  167 + onDetect: (capture) {
  168 + final List<Barcode> barcodes = capture.barcodes;
  169 + final Uint8List? image = capture.image;
  170 + for (final barcode in barcodes) {
  171 + debugPrint('Barcode found! ${barcode.rawValue}');
  172 + }
  173 + },
  174 + ),
  175 + );
174 } 176 }
175 ``` 177 ```
176 178
@@ -184,25 +186,25 @@ import 'package:mobile_scanner/mobile_scanner.dart'; @@ -184,25 +186,25 @@ import 'package:mobile_scanner/mobile_scanner.dart';
184 return Scaffold( 186 return Scaffold(
185 appBar: AppBar(title: const Text('Mobile Scanner')), 187 appBar: AppBar(title: const Text('Mobile Scanner')),
186 body: MobileScanner( 188 body: MobileScanner(
  189 + fit: BoxFit.contain,
187 controller: MobileScannerController( 190 controller: MobileScannerController(
188 - facing: CameraFacing.front,  
189 - torchEnabled: true, 191 + // facing: CameraFacing.back,
  192 + // torchEnabled: false,
190 returnImage: true, 193 returnImage: true,
191 ), 194 ),
192 - onDetect: (barcode) {  
193 - if (barcode.rawValue == null) {  
194 - debugPrint('Failed to scan Barcode');  
195 - } else {  
196 - final String code = barcode.rawValue!;  
197 - debugPrint('Barcode found! $code');  
198 -  
199 - debugPrint(  
200 - 'Image returned! length: ${barcode.image!.lengthInBytes}b'); 195 + onDetect: (capture) {
  196 + final List<Barcode> barcodes = capture.barcodes;
  197 + final Uint8List? image = capture.image;
  198 + for (final barcode in barcodes) {
  199 + debugPrint('Barcode found! ${barcode.rawValue}');
  200 + }
  201 + if (image != null) {
201 showDialog( 202 showDialog(
202 context: context, 203 context: context,
203 - builder: (context) => Image(image: MemoryImage(barcode.image!)), 204 + builder: (context) =>
  205 + Image(image: MemoryImage(image)),
204 ); 206 );
205 - Future.delayed(const Duration(seconds: 2), () { 207 + Future.delayed(const Duration(seconds: 5), () {
206 Navigator.pop(context); 208 Navigator.pop(context);
207 }); 209 });
208 } 210 }
@@ -212,25 +214,30 @@ import 'package:mobile_scanner/mobile_scanner.dart'; @@ -212,25 +214,30 @@ import 'package:mobile_scanner/mobile_scanner.dart';
212 } 214 }
213 ``` 215 ```
214 216
215 -### Scan result  
216 -  
217 -You can use the following properties of the Barcode, which gets  
218 -passed to the `onDetect` function.  
219 -  
220 -| Property name | Type | Description  
221 -|---------------|----------------|--------------------  
222 -| image | Uint8List? | only if returnImage was set to true  
223 -| format | BarcodeFormat |  
224 -| rawBytes | Uint8List? | binary scan result  
225 -| rawValue | String? | Value if barcode is in UTF-8 format  
226 -| displayValue | String? |  
227 -| type | BarcodeType |  
228 -| calendarEvent | CalendarEvent? |  
229 -| contactInfo | ContactInfo? |  
230 -| driverLicense | DriverLicense? |  
231 -| email | Email? |  
232 -| geoPoint | GeoPoint? |  
233 -| phone | Phone? |  
234 -| sms | SMS? |  
235 -| url | UrlBookmark? |  
236 -| wifi | WiFi? | WiFi Access-Point details 217 +### BarcodeCapture
  218 +
  219 +The onDetect function returns a BarcodeCapture objects which contains the following items.
  220 +
  221 +| Property name | Type | Description |
  222 +|---------------|---------------|-----------------------------------|
  223 +| barcodes | List<Barcode> | A list with scanned barcodes. |
  224 +| image | Uint8List? | If enabled, an image of the scan. |
  225 +
  226 +You can use the following properties of the Barcode object.
  227 +
  228 +| Property name | Type | Description |
  229 +|---------------|----------------|-------------------------------------|
  230 +| format | BarcodeFormat | |
  231 +| rawBytes | Uint8List? | binary scan result |
  232 +| rawValue | String? | Value if barcode is in UTF-8 format |
  233 +| displayValue | String? | |
  234 +| type | BarcodeType | |
  235 +| calendarEvent | CalendarEvent? | |
  236 +| contactInfo | ContactInfo? | |
  237 +| driverLicense | DriverLicense? | |
  238 +| email | Email? | |
  239 +| geoPoint | GeoPoint? | |
  240 +| phone | Phone? | |
  241 +| sms | SMS? | |
  242 +| url | UrlBookmark? | |
  243 +| wifi | WiFi? | WiFi Access-Point details |