diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..1c56e5a
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,72 @@
+# Uncomment these types if you want even more clean repository. But be careful.
+# It can make harm to an existing project source. Read explanations below.
+
+# Resource files are binaries containing manifest, project icon and version info.
+# They can not be viewed as text or compared by diff-tools. Consider replacing them with .rc files.
+*.res
+
+# Type library file (binary). In old Delphi versions it should be stored.
+# Since Delphi 2009 it is produced from .ridl file and can safely be ignored.
+#*.tlb
+#
+# Diagram Portfolio file. Used by the diagram editor up to Delphi 7.
+# Uncomment this if you are not using diagrams or use newer Delphi version.
+#*.ddp
+#
+# Visual LiveBindings file. Added in Delphi XE2.
+# Uncomment this if you are not using LiveBindings Designer.
+#*.vlb
+#
+# Deployment Manager configuration file for your project. Added in Delphi XE2.
+# Uncomment this if it is not mobile development and you do not use remote debug feature.
+#*.deployproj
+#
+# C++ object files produced when C/C++ Output file generation is configured.
+# Uncomment this if you are not using external objects (zlib library for example).
+#*.obj
+
+# Delphi compiler-generated binaries (safe to delete)
+*.exe
+*.dll
+*.bpl
+*.bpi
+*.dcp
+*.so
+*.apk
+*.drc
+*.map
+*.dres
+*.rsm
+*.tds
+*.dcu
+*.lib
+*.a
+*.o
+*.ocx
+
+# Delphi autogenerated files (duplicated info)
+*.cfg
+*.hpp
+*Resource.rc
+
+# Delphi local files (user-specific info)
+*.local
+*.identcache
+*.projdata
+*.tvsconfig
+*.dsk
+*.skincfg
+
+# Delphi history and backups
+__history/
+__recovery/
+Win32/
+pkg/
+Debug/
+*.~*
+
+# Castalia statistics file (since XE7 Castalia is distributed with Delphi)
+*.stat
+
+# Boss dependency manager vendor folder https://github.com/HashLoad/boss
+modules/
\ No newline at end of file
diff --git a/pkg/ImperiumDelphi.dpk b/pkg/ImperiumDelphi.dpk
index 90edcb0..c427545 100644
--- a/pkg/ImperiumDelphi.dpk
+++ b/pkg/ImperiumDelphi.dpk
@@ -38,3 +38,4 @@ contains
FMX.Register in '..\src\FMX.Register.pas';
end.
+
diff --git a/pkg/ImperiumDelphi.dproj b/pkg/ImperiumDelphi.dproj
index 5cc6c1f..6e2607f 100644
--- a/pkg/ImperiumDelphi.dproj
+++ b/pkg/ImperiumDelphi.dproj
@@ -2,7 +2,7 @@
{0FDA97ED-5774-4A90-A744-42998881A258}
ImperiumDelphi.dpk
- 19.3
+ 19.5
FMX
True
Debug
@@ -28,13 +28,8 @@
Base
true
-
- true
- Base
- true
-
-
- true
+
+ true
Base
true
@@ -95,15 +90,12 @@
$(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_1024x1024.png
rtl;fmx;dbrtl;$(DCC_UsePackage)
-
- rtl;fmx;dbrtl;$(DCC_UsePackage)
-
-
- CFBundleName=$(MSBuildProjectName);CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);NSHighResolutionCapable=true;LSApplicationCategoryType=public.app-category.utilities;NSLocationUsageDescription=The reason for accessing the location information of the user;NSContactsUsageDescription=The reason for accessing the contacts;NSCalendarsUsageDescription=The reason for accessing the calendar data;NSRemindersUsageDescription=The reason for accessing the reminders;NSCameraUsageDescription=The reason for accessing the camera;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSMotionUsageDescription=The reason for accessing the accelerometer;NSDesktopFolderUsageDescription=The reason for accessing the Desktop folder;NSDocumentsFolderUsageDescription=The reason for accessing the Documents folder;NSDownloadsFolderUsageDescription=The reason for accessing the Downloads folder;NSNetworkVolumesUsageDescription=The reason for accessing files on a network volume;NSRemovableVolumesUsageDescription=The reason for accessing files on a removable volume;NSSpeechRecognitionUsageDescription=The reason for requesting to send user data to Apple's speech recognition servers
- Debug
- true
- Base
- true
+
+ CFBundleName=$(MSBuildProjectName);CFBundleDevelopmentRegion=en;CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleInfoDictionaryVersion=7.1;CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;LSRequiresIPhoneOS=true;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);UIDeviceFamily=iPhone & iPad;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;NSLocationAlwaysAndWhenInUseUsageDescription=The reason for accessing the location information of the user;UIBackgroundModes=;NSContactsUsageDescription=The reason for accessing the contacts;NSPhotoLibraryUsageDescription=The reason for accessing the photo library;NSPhotoLibraryAddUsageDescription=The reason for adding to the photo library;NSCameraUsageDescription=The reason for accessing the camera;NSFaceIDUsageDescription=The reason for accessing the face id;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSSiriUsageDescription=The reason for accessing Siri;ITSAppUsesNonExemptEncryption=false;NSBluetoothAlwaysUsageDescription=The reason for accessing bluetooth;NSBluetoothPeripheralUsageDescription=The reason for accessing bluetooth peripherals;NSCalendarsUsageDescription=The reason for accessing the calendar data;NSRemindersUsageDescription=The reason for accessing the reminders;NSMotionUsageDescription=The reason for accessing the accelerometer;NSSpeechRecognitionUsageDescription=The reason for requesting to send user data to Apple's speech recognition servers
+ iPhoneAndiPad
+ true
+ None
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_1024x1024.png
rtl;fmx;dbrtl;$(DCC_UsePackage);$(DCC_UsePackage)
@@ -168,10 +160,9 @@
ImperiumDelphi.dpk
-
-
-
- ImperiumDelphi.bpl
+
+
+
true
@@ -185,11 +176,7 @@
true
-
-
- true
-
-
+
1
@@ -198,16 +185,6 @@
0
-
-
- classes
- 64
-
-
- classes
- 64
-
-
classes
@@ -218,16 +195,6 @@
64
-
-
- classes
- 1
-
-
- classes
- 1
-
-
res\xml
@@ -238,12 +205,6 @@
1
-
-
- library\lib\armeabi-v7a
- 1
-
-
library\lib\armeabi-v7a
@@ -312,16 +273,6 @@
1
-
-
- res\values
- 1
-
-
- res\values
- 1
-
-
res\values-v21
@@ -332,26 +283,6 @@
1
-
-
- res\values-v21
- 1
-
-
- res\values-v21
- 1
-
-
-
-
- res\values
- 1
-
-
- res\values
- 1
-
-
res\values
@@ -522,16 +453,6 @@
1
-
-
- res\values
- 1
-
-
- res\values
- 1
-
-
res\values
@@ -597,7 +518,7 @@
1
.dylib
-
+
1
.dylib
@@ -631,7 +552,7 @@
0
-
+
0
@@ -647,149 +568,164 @@
0
-
-
- ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
- 1
-
-
-
-
- ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
+
+
1
-
- ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
+
1
-
-
- ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
+
+
+
+
+
+ Contents\Resources
1
-
- ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
+
+ Contents\Resources
1
-
-
-
+
+ Contents\Resources
1
-
+
+
+
+ library\lib\armeabi-v7a
1
-
+
+ library\lib\arm64-v8a
1
-
-
1
1
-
+
1
-
-
-
+
1
-
+
1
-
+
+ 1
+
+
1
+
+ 0
+
-
-
+
+
+ library\lib\armeabi-v7a
1
-
+
+
+
1
-
+
1
-
+
+ ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
1
+ ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
1
-
+
+ ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
1
-
+
+
+
+
1
1
-
+
1
-
-
+
+
+ Assets
1
-
+
+ Assets
1
-
+
+
+
+ Assets
1
-
-
-
+
+ Assets
1
+
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
-
- 1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
+
- ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
- ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
-
- 1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1
@@ -798,7 +734,7 @@
..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1
-
+
..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1
@@ -808,7 +744,7 @@
..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
+
..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
@@ -818,7 +754,7 @@
..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
+
..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
@@ -828,7 +764,7 @@
..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
+
..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
@@ -838,7 +774,7 @@
..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
+
..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
@@ -848,191 +784,37 @@
..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
+
..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
-
- 1
-
-
- 1
-
-
- 1
-
-
-
-
- 1
-
-
- 1
-
-
- 1
-
-
-
-
- 1
-
-
- 1
-
-
- 1
-
-
-
-
- 1
-
-
- 1
-
-
- 1
-
-
-
-
- 1
-
-
- 1
-
-
- 1
-
-
-
-
- 1
-
-
- 1
-
-
- 1
-
-
-
-
- 1
-
-
- 1
-
-
- 1
-
-
-
-
- 1
-
-
- 1
-
-
- 1
-
-
-
-
- 1
-
-
- 1
-
-
- 1
-
-
..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1
-
+
..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1
-
-
- 1
-
-
- 1
-
-
- 1
-
-
..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1
-
+
..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1
-
-
- 1
-
-
- 1
-
-
- 1
-
-
-
-
- 1
-
-
- 1
-
-
- 1
-
-
-
-
- 1
-
-
- 1
-
-
- 1
-
-
-
-
- 1
-
-
- 1
-
-
- 1
-
-
..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1
-
+
..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1
@@ -1042,7 +824,7 @@
..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1
-
+
..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1
@@ -1052,7 +834,7 @@
..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
+
..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
@@ -1062,7 +844,7 @@
..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
+
..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
@@ -1072,7 +854,7 @@
..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
+
..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
@@ -1082,7 +864,7 @@
..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
+
..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
@@ -1092,7 +874,7 @@
..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
+
..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
@@ -1102,147 +884,29 @@
..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
+
..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
-
- 1
-
-
- 1
-
-
-
-
- ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
- 1
-
-
- ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
- 1
-
-
-
-
-
-
-
-
- 1
-
-
- 1
-
-
- 1
-
-
-
-
-
-
-
- Contents\Resources
- 1
-
-
- Contents\Resources
- 1
-
-
- Contents\Resources
- 1
-
-
-
-
- library\lib\armeabi-v7a
- 1
-
-
- library\lib\arm64-v8a
- 1
-
-
- 1
-
-
- 1
-
-
- 1
-
-
- 1
-
-
- 1
-
-
- 1
-
-
- 1
-
-
- 0
-
-
-
-
- library\lib\armeabi-v7a
- 1
-
-
-
-
- 1
-
-
- 1
-
-
-
-
- Assets
- 1
-
-
- Assets
- 1
-
-
-
-
- Assets
- 1
-
-
- Assets
- 1
-
-
-
-
-
-
-
-
+
-
+
+
+
+
+
+
+
False
False
False
- False
- False
+ False
True
False
diff --git a/pkg/ImperiumDelphi.dproj.local b/pkg/ImperiumDelphi.dproj.local
index d138ac6..b3a545e 100644
--- a/pkg/ImperiumDelphi.dproj.local
+++ b/pkg/ImperiumDelphi.dproj.local
@@ -22,8 +22,8 @@
2021/01/18 15:28:57.000.531,=D:\Carnival\TCodeReader\src\FMX.Android.Permissions.pas
2021/01/18 15:28:57.000.556,=D:\Carnival\TCodeReader\src\FMX.CodeReader.pas
2022/01/28 08:45:21.000.701,=C:\Componentes\TCodeReader\src\CodeReader.DW.Android.Helpers.pas
- 2022/01/28 08:45:22.000.396,=C:\Componentes\TCodeReader\src\CodeReader.DW.Androidapi.JNI.App.pas
2022/01/28 08:45:22.000.947,=C:\Componentes\TCodeReader\src\CodeReader.DW.Androidapi.JNI.DWCameraHelpers.pas
+ 2022/01/28 08:45:22.000.396,=C:\Componentes\TCodeReader\src\CodeReader.DW.Androidapi.JNI.App.pas
2022/01/28 08:45:23.000.273,=C:\Componentes\TCodeReader\src\CodeReader.DW.Androidapi.JNI.Hardware.Camera2.pas
2022/01/28 08:45:23.000.547,=C:\Componentes\TCodeReader\src\CodeReader.DW.Androidapi.JNI.Os.pas
2022/01/28 08:45:24.000.999,=C:\Componentes\TCodeReader\src\CodeReader.DW.Camera.iOS.pas
@@ -66,10 +66,10 @@
2022/01/28 08:45:28.000.909,=C:\Componentes\TCodeReader\src\CodeReader.ZXing.Datamatrix.Internal.Decoder.pas
2022/01/28 08:45:28.000.498,=C:\Componentes\TCodeReader\src\CodeReader.DW.UIHelper.pas
2022/01/28 08:45:28.000.943,=C:\Componentes\TCodeReader\src\CodeReader.ZXing.Datamatrix.Internal.Version.pas
- 2022/01/28 08:45:28.000.685,=C:\Componentes\TCodeReader\src\CodeReader.ZXing.Common.BitArray.pas
- 2022/01/28 08:45:28.000.715,=C:\Componentes\TCodeReader\src\CodeReader.ZXing.Common.BitMatrix.pas
2022/01/28 08:45:28.000.771,=C:\Componentes\TCodeReader\src\CodeReader.ZXing.Common.GridSampler.pas
2022/01/28 08:45:28.000.669,=C:\Componentes\TCodeReader\src\CodeReader.ZXing.CharacterSetECI.pas
+ 2022/01/28 08:45:28.000.685,=C:\Componentes\TCodeReader\src\CodeReader.ZXing.Common.BitArray.pas
+ 2022/01/28 08:45:28.000.715,=C:\Componentes\TCodeReader\src\CodeReader.ZXing.Common.BitMatrix.pas
2022/01/28 08:45:28.000.728,=C:\Componentes\TCodeReader\src\CodeReader.ZXing.Common.Detector.MathUtils.pas
2022/01/28 08:45:28.000.157,=C:\Componentes\TCodeReader\src\CodeReader.DW.UIHelper.Android.pas
2022/01/28 08:45:29.000.829,=C:\Componentes\TCodeReader\src\CodeReader.ZXing.Reader.pas
@@ -77,9 +77,9 @@
2022/01/28 08:45:29.000.983,=C:\Componentes\TCodeReader\src\CodeReader.ZXing.StringUtils.pas
2022/01/28 08:45:29.000.663,=C:\Componentes\TCodeReader\src\CodeReader.ZXing.QrCode.Internal.FinderPatternFinder.pas
2022/01/28 08:45:29.000.280,=C:\Componentes\TCodeReader\src\CodeReader.ZXing.OneD.OneDReader.pas
- 2022/01/28 08:45:29.000.478,=C:\Componentes\TCodeReader\src\CodeReader.ZXing.QrCode.Internal.AlignmentPatternImplementation.pas
- 2022/01/28 08:45:29.000.369,=C:\Componentes\TCodeReader\src\CodeReader.ZXing.OneD.UPCEANReader.pas
2022/01/28 08:45:29.000.594,=C:\Componentes\TCodeReader\src\CodeReader.ZXing.QrCode.Internal.Detector.pas
+ 2022/01/28 08:45:29.000.369,=C:\Componentes\TCodeReader\src\CodeReader.ZXing.OneD.UPCEANReader.pas
+ 2022/01/28 08:45:29.000.478,=C:\Componentes\TCodeReader\src\CodeReader.ZXing.QrCode.Internal.AlignmentPatternImplementation.pas
2022/01/28 08:45:29.000.895,=C:\Componentes\TCodeReader\src\CodeReader.ZXing.ResultPoint.pas
2022/01/28 08:45:29.000.703,=C:\Componentes\TCodeReader\src\CodeReader.ZXing.QrCode.Internal.FinderPatternInfo.pas
2022/01/28 08:45:29.000.723,=C:\Componentes\TCodeReader\src\CodeReader.ZXing.QrCode.Internal.FormatInformation.pas
@@ -171,11 +171,11 @@
2022/01/28 08:45:43.000.603,C:\Componentes\TCodeReader\src\CodeReader.ZXing.OneD.Code39Reader.pas=
2022/01/28 08:45:43.000.641,C:\Componentes\TCodeReader\src\CodeReader.ZXing.OneD.EANManufacturerOrgSupport.pas=
2022/01/28 08:45:43.000.041,C:\Componentes\TCodeReader\src\CodeReader.DW.NativeImage.Android.pas=
- 2022/01/28 08:45:43.000.300,C:\Componentes\TCodeReader\src\CodeReader.ZXing.Common.BitArray.pas=
+ 2022/01/28 08:45:43.000.367,C:\Componentes\TCodeReader\src\CodeReader.ZXing.Common.GridSampler.pas=
2022/01/28 08:45:43.000.409,C:\Componentes\TCodeReader\src\CodeReader.ZXing.Datamatrix.DataMatrixReader.pas=
2022/01/28 08:45:43.000.869,C:\Componentes\TCodeReader\src\CodeReader.ZXing.QrCode.Internal.FormatInformation.pas=
- 2022/01/28 08:45:43.000.267,C:\Componentes\TCodeReader\src\CodeReader.ZXing.BitSource.pas=
2022/01/28 08:45:43.000.814,C:\Componentes\TCodeReader\src\CodeReader.ZXing.QrCode.Internal.Detector.pas=
+ 2022/01/28 08:45:43.000.267,C:\Componentes\TCodeReader\src\CodeReader.ZXing.BitSource.pas=
2022/01/28 08:45:43.000.860,C:\Componentes\TCodeReader\src\CodeReader.ZXing.QrCode.Internal.FinderPatternInfo.pas=
2022/01/28 08:45:43.000.220,C:\Componentes\TCodeReader\src\CodeReader.ZXing.BarcodeFormat.pas=
2022/01/28 08:45:43.000.209,C:\Componentes\TCodeReader\src\CodeReader.FMX.Register.pas=
@@ -185,11 +185,11 @@
2022/01/28 08:45:43.000.460,C:\Componentes\TCodeReader\src\CodeReader.ZXing.Datamatrix.Internal.Detector.pas=
2022/01/28 08:45:43.000.787,C:\Componentes\TCodeReader\src\CodeReader.ZXing.QrCode.Internal.DataMask.pas=
2022/01/28 08:45:43.000.956,C:\Componentes\TCodeReader\src\CodeReader.ZXing.RGBLuminanceSource.pas=
- 2022/01/28 08:45:43.000.323,C:\Componentes\TCodeReader\src\CodeReader.ZXing.Common.BitMatrix.pas=
2022/01/28 08:45:43.000.289,C:\Componentes\TCodeReader\src\CodeReader.ZXing.CharacterSetECI.pas=
+ 2022/01/28 08:45:43.000.323,C:\Componentes\TCodeReader\src\CodeReader.ZXing.Common.BitMatrix.pas=
2022/01/28 08:45:43.000.388,C:\Componentes\TCodeReader\src\CodeReader.ZXing.Common.ReedSolomon.GenericGF.pas=
2022/01/28 08:45:43.000.904,C:\Componentes\TCodeReader\src\CodeReader.ZXing.QrCode.QRCodeReader.pas=
- 2022/01/28 08:45:43.000.367,C:\Componentes\TCodeReader\src\CodeReader.ZXing.Common.GridSampler.pas=
+ 2022/01/28 08:45:43.000.300,C:\Componentes\TCodeReader\src\CodeReader.ZXing.Common.BitArray.pas=
2022/01/28 08:45:43.000.500,C:\Componentes\TCodeReader\src\CodeReader.ZXing.DefaultGridSampler.pas=
2022/01/28 08:45:43.000.779,C:\Componentes\TCodeReader\src\CodeReader.ZXing.QrCode.Internal.DataBlock.pas=
2022/01/28 08:45:43.000.231,C:\Componentes\TCodeReader\src\CodeReader.ZXing.BaseLuminanceSource.pas=
@@ -230,7 +230,7 @@
2022/01/28 08:46:52.000.349,C:\Componentes\TCodeReader\src\CodeReader.FMX.Android.Permissions.pas=C:\Componentes\TCodeReader\src\FMX.Android.Permissions.pas
2022/01/28 08:46:57.000.459,C:\Componentes\TCodeReader\src\CodeReader.FMX.CodeReader.pas=C:\Componentes\TCodeReader\src\FMX.CodeReader.pas
2022/01/28 08:47:00.000.834,C:\Componentes\TCodeReader\src\CodeReader.FMX.Register.pas=C:\Componentes\TCodeReader\src\FMX.Register.pas
- 2022/01/28 10:25:48.001,C:\Componentes\TCodeReader\src\FMX.Android.Permissions.pas=
+ 2022/01/28 10:25:48.000.001,C:\Componentes\TCodeReader\src\FMX.Android.Permissions.pas=
diff --git a/pkg/ImperiumDelphi.identcache b/pkg/ImperiumDelphi.identcache
index 658c6fd..5616b8c 100644
Binary files a/pkg/ImperiumDelphi.identcache and b/pkg/ImperiumDelphi.identcache differ
diff --git a/pkg/Win32/Debug/CodeReader.DW.Camera.dcu b/pkg/Win32/Debug/CodeReader.DW.Camera.dcu
deleted file mode 100644
index 4ed8f47..0000000
Binary files a/pkg/Win32/Debug/CodeReader.DW.Camera.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.DW.Messaging.dcu b/pkg/Win32/Debug/CodeReader.DW.Messaging.dcu
deleted file mode 100644
index 8f0dd21..0000000
Binary files a/pkg/Win32/Debug/CodeReader.DW.Messaging.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.DW.NativeImage.Win.dcu b/pkg/Win32/Debug/CodeReader.DW.NativeImage.Win.dcu
deleted file mode 100644
index 5de02f5..0000000
Binary files a/pkg/Win32/Debug/CodeReader.DW.NativeImage.Win.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.DW.NativeImage.dcu b/pkg/Win32/Debug/CodeReader.DW.NativeImage.dcu
deleted file mode 100644
index a149df2..0000000
Binary files a/pkg/Win32/Debug/CodeReader.DW.NativeImage.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.DW.Types.dcu b/pkg/Win32/Debug/CodeReader.DW.Types.dcu
deleted file mode 100644
index fb0a302..0000000
Binary files a/pkg/Win32/Debug/CodeReader.DW.Types.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.FMX.Android.Permissions.dcu b/pkg/Win32/Debug/CodeReader.FMX.Android.Permissions.dcu
deleted file mode 100644
index af58834..0000000
Binary files a/pkg/Win32/Debug/CodeReader.FMX.Android.Permissions.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.FMX.CodeReader.dcu b/pkg/Win32/Debug/CodeReader.FMX.CodeReader.dcu
deleted file mode 100644
index 70923f1..0000000
Binary files a/pkg/Win32/Debug/CodeReader.FMX.CodeReader.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.FMX.Register.dcu b/pkg/Win32/Debug/CodeReader.FMX.Register.dcu
deleted file mode 100644
index 784fa83..0000000
Binary files a/pkg/Win32/Debug/CodeReader.FMX.Register.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXIng.ByteSegments.dcu b/pkg/Win32/Debug/CodeReader.ZXIng.ByteSegments.dcu
deleted file mode 100644
index 1cb2c53..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXIng.ByteSegments.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.BarcodeFormat.dcu b/pkg/Win32/Debug/CodeReader.ZXing.BarcodeFormat.dcu
deleted file mode 100644
index b304451..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.BarcodeFormat.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.BaseLuminanceSource.dcu b/pkg/Win32/Debug/CodeReader.ZXing.BaseLuminanceSource.dcu
deleted file mode 100644
index 6b4f0da..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.BaseLuminanceSource.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.Binarizer.dcu b/pkg/Win32/Debug/CodeReader.ZXing.Binarizer.dcu
deleted file mode 100644
index bd5bbe3..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.Binarizer.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.BinaryBitmap.dcu b/pkg/Win32/Debug/CodeReader.ZXing.BinaryBitmap.dcu
deleted file mode 100644
index b2e9065..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.BinaryBitmap.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.BitSource.dcu b/pkg/Win32/Debug/CodeReader.ZXing.BitSource.dcu
deleted file mode 100644
index 38f71c1..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.BitSource.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.CharacterSetECI.dcu b/pkg/Win32/Debug/CodeReader.ZXing.CharacterSetECI.dcu
deleted file mode 100644
index d3d8131..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.CharacterSetECI.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.Common.BitArray.dcu b/pkg/Win32/Debug/CodeReader.ZXing.Common.BitArray.dcu
deleted file mode 100644
index 785bf88..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.Common.BitArray.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.Common.BitArrayImplementation.dcu b/pkg/Win32/Debug/CodeReader.ZXing.Common.BitArrayImplementation.dcu
deleted file mode 100644
index f7fb971..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.Common.BitArrayImplementation.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.Common.BitMatrix.dcu b/pkg/Win32/Debug/CodeReader.ZXing.Common.BitMatrix.dcu
deleted file mode 100644
index ed86aec..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.Common.BitMatrix.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.Common.Detector.MathUtils.dcu b/pkg/Win32/Debug/CodeReader.ZXing.Common.Detector.MathUtils.dcu
deleted file mode 100644
index 3943c54..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.Common.Detector.MathUtils.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.Common.Detector.WhiteRectangleDetector.dcu b/pkg/Win32/Debug/CodeReader.ZXing.Common.Detector.WhiteRectangleDetector.dcu
deleted file mode 100644
index 55f4ddd..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.Common.Detector.WhiteRectangleDetector.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.Common.DetectorResult.dcu b/pkg/Win32/Debug/CodeReader.ZXing.Common.DetectorResult.dcu
deleted file mode 100644
index e83018a..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.Common.DetectorResult.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.Common.GridSampler.dcu b/pkg/Win32/Debug/CodeReader.ZXing.Common.GridSampler.dcu
deleted file mode 100644
index 0b14de5..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.Common.GridSampler.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.Common.PerspectiveTransform.dcu b/pkg/Win32/Debug/CodeReader.ZXing.Common.PerspectiveTransform.dcu
deleted file mode 100644
index c4a86aa..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.Common.PerspectiveTransform.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.Common.ReedSolomon.GenericGF.dcu b/pkg/Win32/Debug/CodeReader.ZXing.Common.ReedSolomon.GenericGF.dcu
deleted file mode 100644
index 0101132..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.Common.ReedSolomon.GenericGF.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.Common.ReedSolomon.ReedSolomonDecoder.dcu b/pkg/Win32/Debug/CodeReader.ZXing.Common.ReedSolomon.ReedSolomonDecoder.dcu
deleted file mode 100644
index da7b9cc..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.Common.ReedSolomon.ReedSolomonDecoder.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.Datamatrix.DataMatrixReader.dcu b/pkg/Win32/Debug/CodeReader.ZXing.Datamatrix.DataMatrixReader.dcu
deleted file mode 100644
index c5b1e33..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.Datamatrix.DataMatrixReader.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.Datamatrix.Internal.BitMatrixParser.dcu b/pkg/Win32/Debug/CodeReader.ZXing.Datamatrix.Internal.BitMatrixParser.dcu
deleted file mode 100644
index 737d2ab..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.Datamatrix.Internal.BitMatrixParser.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.Datamatrix.Internal.DataBlock.dcu b/pkg/Win32/Debug/CodeReader.ZXing.Datamatrix.Internal.DataBlock.dcu
deleted file mode 100644
index ffec2a5..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.Datamatrix.Internal.DataBlock.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.Datamatrix.Internal.DecodedBitStreamParser.dcu b/pkg/Win32/Debug/CodeReader.ZXing.Datamatrix.Internal.DecodedBitStreamParser.dcu
deleted file mode 100644
index 5fa1f99..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.Datamatrix.Internal.DecodedBitStreamParser.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.Datamatrix.Internal.Decoder.dcu b/pkg/Win32/Debug/CodeReader.ZXing.Datamatrix.Internal.Decoder.dcu
deleted file mode 100644
index 6da5c23..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.Datamatrix.Internal.Decoder.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.Datamatrix.Internal.Detector.dcu b/pkg/Win32/Debug/CodeReader.ZXing.Datamatrix.Internal.Detector.dcu
deleted file mode 100644
index b8786f9..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.Datamatrix.Internal.Detector.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.Datamatrix.Internal.Version.dcu b/pkg/Win32/Debug/CodeReader.ZXing.Datamatrix.Internal.Version.dcu
deleted file mode 100644
index 65e6dee..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.Datamatrix.Internal.Version.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.DecodeHintType.dcu b/pkg/Win32/Debug/CodeReader.ZXing.DecodeHintType.dcu
deleted file mode 100644
index 6742da0..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.DecodeHintType.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.DecoderResult.dcu b/pkg/Win32/Debug/CodeReader.ZXing.DecoderResult.dcu
deleted file mode 100644
index c7cebea..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.DecoderResult.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.DefaultGridSampler.dcu b/pkg/Win32/Debug/CodeReader.ZXing.DefaultGridSampler.dcu
deleted file mode 100644
index f91caf7..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.DefaultGridSampler.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.GlobalHistogramBinarizer.dcu b/pkg/Win32/Debug/CodeReader.ZXing.GlobalHistogramBinarizer.dcu
deleted file mode 100644
index 89eea0a..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.GlobalHistogramBinarizer.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.Helpers.dcu b/pkg/Win32/Debug/CodeReader.ZXing.Helpers.dcu
deleted file mode 100644
index 051350f..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.Helpers.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.HybridBinarizer.dcu b/pkg/Win32/Debug/CodeReader.ZXing.HybridBinarizer.dcu
deleted file mode 100644
index 0750400..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.HybridBinarizer.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.InvertedLuminanceSource.dcu b/pkg/Win32/Debug/CodeReader.ZXing.InvertedLuminanceSource.dcu
deleted file mode 100644
index a819d14..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.InvertedLuminanceSource.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.LuminanceSource.dcu b/pkg/Win32/Debug/CodeReader.ZXing.LuminanceSource.dcu
deleted file mode 100644
index b1fac8a..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.LuminanceSource.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.MultiFormatReader.dcu b/pkg/Win32/Debug/CodeReader.ZXing.MultiFormatReader.dcu
deleted file mode 100644
index c962a12..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.MultiFormatReader.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.OneD.Code128Reader.dcu b/pkg/Win32/Debug/CodeReader.ZXing.OneD.Code128Reader.dcu
deleted file mode 100644
index 9f02016..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.OneD.Code128Reader.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.OneD.Code39Reader.dcu b/pkg/Win32/Debug/CodeReader.ZXing.OneD.Code39Reader.dcu
deleted file mode 100644
index 49755a9..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.OneD.Code39Reader.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.OneD.Code93Reader.dcu b/pkg/Win32/Debug/CodeReader.ZXing.OneD.Code93Reader.dcu
deleted file mode 100644
index 73631e7..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.OneD.Code93Reader.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.OneD.EAN13Reader.dcu b/pkg/Win32/Debug/CodeReader.ZXing.OneD.EAN13Reader.dcu
deleted file mode 100644
index 11d6f27..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.OneD.EAN13Reader.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.OneD.EAN8Reader.dcu b/pkg/Win32/Debug/CodeReader.ZXing.OneD.EAN8Reader.dcu
deleted file mode 100644
index 9d3d8dd..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.OneD.EAN8Reader.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.OneD.EANManufacturerOrgSupport.dcu b/pkg/Win32/Debug/CodeReader.ZXing.OneD.EANManufacturerOrgSupport.dcu
deleted file mode 100644
index ccd1f22..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.OneD.EANManufacturerOrgSupport.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.OneD.ITFReader.dcu b/pkg/Win32/Debug/CodeReader.ZXing.OneD.ITFReader.dcu
deleted file mode 100644
index 393179f..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.OneD.ITFReader.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.OneD.OneDReader.dcu b/pkg/Win32/Debug/CodeReader.ZXing.OneD.OneDReader.dcu
deleted file mode 100644
index 76b6224..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.OneD.OneDReader.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.OneD.UPCAReader.dcu b/pkg/Win32/Debug/CodeReader.ZXing.OneD.UPCAReader.dcu
deleted file mode 100644
index 57071b0..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.OneD.UPCAReader.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.OneD.UPCEANExtension2Support.dcu b/pkg/Win32/Debug/CodeReader.ZXing.OneD.UPCEANExtension2Support.dcu
deleted file mode 100644
index 290613e..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.OneD.UPCEANExtension2Support.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.OneD.UPCEANExtension5Support.dcu b/pkg/Win32/Debug/CodeReader.ZXing.OneD.UPCEANExtension5Support.dcu
deleted file mode 100644
index 3b55456..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.OneD.UPCEANExtension5Support.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.OneD.UPCEANExtensionSupport.dcu b/pkg/Win32/Debug/CodeReader.ZXing.OneD.UPCEANExtensionSupport.dcu
deleted file mode 100644
index c6f4b24..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.OneD.UPCEANExtensionSupport.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.OneD.UPCEANReader.dcu b/pkg/Win32/Debug/CodeReader.ZXing.OneD.UPCEANReader.dcu
deleted file mode 100644
index f2a4cf8..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.OneD.UPCEANReader.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.OneD.UPCEReader.dcu b/pkg/Win32/Debug/CodeReader.ZXing.OneD.UPCEReader.dcu
deleted file mode 100644
index 13e7f55..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.OneD.UPCEReader.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.AlignmentPattern.dcu b/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.AlignmentPattern.dcu
deleted file mode 100644
index a0341c4..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.AlignmentPattern.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.AlignmentPatternFinder.dcu b/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.AlignmentPatternFinder.dcu
deleted file mode 100644
index 9508c52..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.AlignmentPatternFinder.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.AlignmentPatternImplementation.dcu b/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.AlignmentPatternImplementation.dcu
deleted file mode 100644
index 454f7a9..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.AlignmentPatternImplementation.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.BitMatrixParser.dcu b/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.BitMatrixParser.dcu
deleted file mode 100644
index c502393..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.BitMatrixParser.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.DataBlock.dcu b/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.DataBlock.dcu
deleted file mode 100644
index 72d888a..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.DataBlock.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.DataMask.dcu b/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.DataMask.dcu
deleted file mode 100644
index fef4a73..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.DataMask.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.DecodedBitStreamParser.dcu b/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.DecodedBitStreamParser.dcu
deleted file mode 100644
index b28e7be..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.DecodedBitStreamParser.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.Decoder.dcu b/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.Decoder.dcu
deleted file mode 100644
index 58a6db6..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.Decoder.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.Detector.dcu b/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.Detector.dcu
deleted file mode 100644
index 98e9775..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.Detector.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.ErrorCorrectionLevel.dcu b/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.ErrorCorrectionLevel.dcu
deleted file mode 100644
index b92123c..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.ErrorCorrectionLevel.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.FinderPattern.dcu b/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.FinderPattern.dcu
deleted file mode 100644
index ce20fde..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.FinderPattern.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.FinderPatternFinder.dcu b/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.FinderPatternFinder.dcu
deleted file mode 100644
index 59df67b..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.FinderPatternFinder.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.FinderPatternImplementation.dcu b/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.FinderPatternImplementation.dcu
deleted file mode 100644
index dffe9d9..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.FinderPatternImplementation.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.FinderPatternInfo.dcu b/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.FinderPatternInfo.dcu
deleted file mode 100644
index 6b8f631..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.FinderPatternInfo.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.FormatInformation.dcu b/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.FormatInformation.dcu
deleted file mode 100644
index ca68822..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.FormatInformation.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.Mode.dcu b/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.Mode.dcu
deleted file mode 100644
index 0f2a534..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.Mode.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.QRCodeDecoderMetaData.dcu b/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.QRCodeDecoderMetaData.dcu
deleted file mode 100644
index 2b13507..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.QRCodeDecoderMetaData.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.Version.dcu b/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.Version.dcu
deleted file mode 100644
index 97e0313..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.Internal.Version.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.QRCodeReader.dcu b/pkg/Win32/Debug/CodeReader.ZXing.QrCode.QRCodeReader.dcu
deleted file mode 100644
index 15ceaa8..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.QrCode.QRCodeReader.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.RGBLuminanceSource.dcu b/pkg/Win32/Debug/CodeReader.ZXing.RGBLuminanceSource.dcu
deleted file mode 100644
index dba704e..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.RGBLuminanceSource.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.ReadResult.dcu b/pkg/Win32/Debug/CodeReader.ZXing.ReadResult.dcu
deleted file mode 100644
index 9c5d441..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.ReadResult.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.Reader.dcu b/pkg/Win32/Debug/CodeReader.ZXing.Reader.dcu
deleted file mode 100644
index 1099432..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.Reader.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.ResultMetadataType.dcu b/pkg/Win32/Debug/CodeReader.ZXing.ResultMetadataType.dcu
deleted file mode 100644
index 0f57674..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.ResultMetadataType.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.ResultPoint.dcu b/pkg/Win32/Debug/CodeReader.ZXing.ResultPoint.dcu
deleted file mode 100644
index ddbb596..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.ResultPoint.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.ResultPointImplementation.dcu b/pkg/Win32/Debug/CodeReader.ZXing.ResultPointImplementation.dcu
deleted file mode 100644
index b03dee7..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.ResultPointImplementation.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.ScanManager.dcu b/pkg/Win32/Debug/CodeReader.ZXing.ScanManager.dcu
deleted file mode 100644
index 0493b13..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.ScanManager.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/CodeReader.ZXing.StringUtils.dcu b/pkg/Win32/Debug/CodeReader.ZXing.StringUtils.dcu
deleted file mode 100644
index 28144cd..0000000
Binary files a/pkg/Win32/Debug/CodeReader.ZXing.StringUtils.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/DW.Camera.dcu b/pkg/Win32/Debug/DW.Camera.dcu
deleted file mode 100644
index fe9a844..0000000
Binary files a/pkg/Win32/Debug/DW.Camera.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/DW.FileVersionInfo.Win.dcu b/pkg/Win32/Debug/DW.FileVersionInfo.Win.dcu
deleted file mode 100644
index 089619a..0000000
Binary files a/pkg/Win32/Debug/DW.FileVersionInfo.Win.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/DW.Messaging.dcu b/pkg/Win32/Debug/DW.Messaging.dcu
deleted file mode 100644
index 884a3da..0000000
Binary files a/pkg/Win32/Debug/DW.Messaging.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/DW.NativeImage.Win.dcu b/pkg/Win32/Debug/DW.NativeImage.Win.dcu
deleted file mode 100644
index 2e52d88..0000000
Binary files a/pkg/Win32/Debug/DW.NativeImage.Win.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/DW.NativeImage.dcu b/pkg/Win32/Debug/DW.NativeImage.dcu
deleted file mode 100644
index ebd625e..0000000
Binary files a/pkg/Win32/Debug/DW.NativeImage.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/DW.OSDevice.Win.dcu b/pkg/Win32/Debug/DW.OSDevice.Win.dcu
deleted file mode 100644
index 4ec1052..0000000
Binary files a/pkg/Win32/Debug/DW.OSDevice.Win.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/DW.OSDevice.dcu b/pkg/Win32/Debug/DW.OSDevice.dcu
deleted file mode 100644
index c9f1f3d..0000000
Binary files a/pkg/Win32/Debug/DW.OSDevice.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/DW.OSLog.Win.dcu b/pkg/Win32/Debug/DW.OSLog.Win.dcu
deleted file mode 100644
index f9af1e3..0000000
Binary files a/pkg/Win32/Debug/DW.OSLog.Win.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/DW.OSLog.dcu b/pkg/Win32/Debug/DW.OSLog.dcu
deleted file mode 100644
index ad23f05..0000000
Binary files a/pkg/Win32/Debug/DW.OSLog.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/DW.Types.dcu b/pkg/Win32/Debug/DW.Types.dcu
deleted file mode 100644
index b6462fe..0000000
Binary files a/pkg/Win32/Debug/DW.Types.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/DW.Winapi.Helpers.dcu b/pkg/Win32/Debug/DW.Winapi.Helpers.dcu
deleted file mode 100644
index be7b077..0000000
Binary files a/pkg/Win32/Debug/DW.Winapi.Helpers.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/FMX.Android.Permissions.dcu b/pkg/Win32/Debug/FMX.Android.Permissions.dcu
deleted file mode 100644
index cd79b0f..0000000
Binary files a/pkg/Win32/Debug/FMX.Android.Permissions.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/FMX.CodeReader.dcu b/pkg/Win32/Debug/FMX.CodeReader.dcu
deleted file mode 100644
index d2582e3..0000000
Binary files a/pkg/Win32/Debug/FMX.CodeReader.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/FMX.Register.dcu b/pkg/Win32/Debug/FMX.Register.dcu
deleted file mode 100644
index c7be95a..0000000
Binary files a/pkg/Win32/Debug/FMX.Register.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXIng.ByteSegments.dcu b/pkg/Win32/Debug/ZXIng.ByteSegments.dcu
deleted file mode 100644
index 923e653..0000000
Binary files a/pkg/Win32/Debug/ZXIng.ByteSegments.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.BarcodeFormat.dcu b/pkg/Win32/Debug/ZXing.BarcodeFormat.dcu
deleted file mode 100644
index 75ac4d6..0000000
Binary files a/pkg/Win32/Debug/ZXing.BarcodeFormat.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.BaseLuminanceSource.dcu b/pkg/Win32/Debug/ZXing.BaseLuminanceSource.dcu
deleted file mode 100644
index f948c36..0000000
Binary files a/pkg/Win32/Debug/ZXing.BaseLuminanceSource.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.Binarizer.dcu b/pkg/Win32/Debug/ZXing.Binarizer.dcu
deleted file mode 100644
index cd3c510..0000000
Binary files a/pkg/Win32/Debug/ZXing.Binarizer.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.BinaryBitmap.dcu b/pkg/Win32/Debug/ZXing.BinaryBitmap.dcu
deleted file mode 100644
index de9f211..0000000
Binary files a/pkg/Win32/Debug/ZXing.BinaryBitmap.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.BitSource.dcu b/pkg/Win32/Debug/ZXing.BitSource.dcu
deleted file mode 100644
index affd799..0000000
Binary files a/pkg/Win32/Debug/ZXing.BitSource.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.CharacterSetECI.dcu b/pkg/Win32/Debug/ZXing.CharacterSetECI.dcu
deleted file mode 100644
index 354e603..0000000
Binary files a/pkg/Win32/Debug/ZXing.CharacterSetECI.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.Common.BitArray.dcu b/pkg/Win32/Debug/ZXing.Common.BitArray.dcu
deleted file mode 100644
index 5d687f7..0000000
Binary files a/pkg/Win32/Debug/ZXing.Common.BitArray.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.Common.BitArrayImplementation.dcu b/pkg/Win32/Debug/ZXing.Common.BitArrayImplementation.dcu
deleted file mode 100644
index 6d29e8c..0000000
Binary files a/pkg/Win32/Debug/ZXing.Common.BitArrayImplementation.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.Common.BitMatrix.dcu b/pkg/Win32/Debug/ZXing.Common.BitMatrix.dcu
deleted file mode 100644
index 9253d9c..0000000
Binary files a/pkg/Win32/Debug/ZXing.Common.BitMatrix.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.Common.Detector.MathUtils.dcu b/pkg/Win32/Debug/ZXing.Common.Detector.MathUtils.dcu
deleted file mode 100644
index e70d20a..0000000
Binary files a/pkg/Win32/Debug/ZXing.Common.Detector.MathUtils.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.Common.Detector.WhiteRectangleDetector.dcu b/pkg/Win32/Debug/ZXing.Common.Detector.WhiteRectangleDetector.dcu
deleted file mode 100644
index f412768..0000000
Binary files a/pkg/Win32/Debug/ZXing.Common.Detector.WhiteRectangleDetector.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.Common.DetectorResult.dcu b/pkg/Win32/Debug/ZXing.Common.DetectorResult.dcu
deleted file mode 100644
index a8d626e..0000000
Binary files a/pkg/Win32/Debug/ZXing.Common.DetectorResult.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.Common.GridSampler.dcu b/pkg/Win32/Debug/ZXing.Common.GridSampler.dcu
deleted file mode 100644
index c1fd851..0000000
Binary files a/pkg/Win32/Debug/ZXing.Common.GridSampler.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.Common.PerspectiveTransform.dcu b/pkg/Win32/Debug/ZXing.Common.PerspectiveTransform.dcu
deleted file mode 100644
index fee6799..0000000
Binary files a/pkg/Win32/Debug/ZXing.Common.PerspectiveTransform.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.Common.ReedSolomon.GenericGF.dcu b/pkg/Win32/Debug/ZXing.Common.ReedSolomon.GenericGF.dcu
deleted file mode 100644
index 59e8b48..0000000
Binary files a/pkg/Win32/Debug/ZXing.Common.ReedSolomon.GenericGF.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.Common.ReedSolomon.ReedSolomonDecoder.dcu b/pkg/Win32/Debug/ZXing.Common.ReedSolomon.ReedSolomonDecoder.dcu
deleted file mode 100644
index ec5b24a..0000000
Binary files a/pkg/Win32/Debug/ZXing.Common.ReedSolomon.ReedSolomonDecoder.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.Datamatrix.DataMatrixReader.dcu b/pkg/Win32/Debug/ZXing.Datamatrix.DataMatrixReader.dcu
deleted file mode 100644
index ef710d5..0000000
Binary files a/pkg/Win32/Debug/ZXing.Datamatrix.DataMatrixReader.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.Datamatrix.Internal.BitMatrixParser.dcu b/pkg/Win32/Debug/ZXing.Datamatrix.Internal.BitMatrixParser.dcu
deleted file mode 100644
index e6cad03..0000000
Binary files a/pkg/Win32/Debug/ZXing.Datamatrix.Internal.BitMatrixParser.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.Datamatrix.Internal.DataBlock.dcu b/pkg/Win32/Debug/ZXing.Datamatrix.Internal.DataBlock.dcu
deleted file mode 100644
index d413681..0000000
Binary files a/pkg/Win32/Debug/ZXing.Datamatrix.Internal.DataBlock.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.Datamatrix.Internal.DecodedBitStreamParser.dcu b/pkg/Win32/Debug/ZXing.Datamatrix.Internal.DecodedBitStreamParser.dcu
deleted file mode 100644
index 8e01afc..0000000
Binary files a/pkg/Win32/Debug/ZXing.Datamatrix.Internal.DecodedBitStreamParser.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.Datamatrix.Internal.Decoder.dcu b/pkg/Win32/Debug/ZXing.Datamatrix.Internal.Decoder.dcu
deleted file mode 100644
index 807109b..0000000
Binary files a/pkg/Win32/Debug/ZXing.Datamatrix.Internal.Decoder.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.Datamatrix.Internal.Detector.dcu b/pkg/Win32/Debug/ZXing.Datamatrix.Internal.Detector.dcu
deleted file mode 100644
index fcb6217..0000000
Binary files a/pkg/Win32/Debug/ZXing.Datamatrix.Internal.Detector.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.Datamatrix.Internal.Version.dcu b/pkg/Win32/Debug/ZXing.Datamatrix.Internal.Version.dcu
deleted file mode 100644
index 5ee9379..0000000
Binary files a/pkg/Win32/Debug/ZXing.Datamatrix.Internal.Version.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.DecodeHintType.dcu b/pkg/Win32/Debug/ZXing.DecodeHintType.dcu
deleted file mode 100644
index b5fba1f..0000000
Binary files a/pkg/Win32/Debug/ZXing.DecodeHintType.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.DecoderResult.dcu b/pkg/Win32/Debug/ZXing.DecoderResult.dcu
deleted file mode 100644
index 592c8ca..0000000
Binary files a/pkg/Win32/Debug/ZXing.DecoderResult.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.DefaultGridSampler.dcu b/pkg/Win32/Debug/ZXing.DefaultGridSampler.dcu
deleted file mode 100644
index 036d7b4..0000000
Binary files a/pkg/Win32/Debug/ZXing.DefaultGridSampler.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.GlobalHistogramBinarizer.dcu b/pkg/Win32/Debug/ZXing.GlobalHistogramBinarizer.dcu
deleted file mode 100644
index 547e75f..0000000
Binary files a/pkg/Win32/Debug/ZXing.GlobalHistogramBinarizer.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.Helpers.dcu b/pkg/Win32/Debug/ZXing.Helpers.dcu
deleted file mode 100644
index a9d261d..0000000
Binary files a/pkg/Win32/Debug/ZXing.Helpers.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.HybridBinarizer.dcu b/pkg/Win32/Debug/ZXing.HybridBinarizer.dcu
deleted file mode 100644
index 1d8f417..0000000
Binary files a/pkg/Win32/Debug/ZXing.HybridBinarizer.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.InvertedLuminanceSource.dcu b/pkg/Win32/Debug/ZXing.InvertedLuminanceSource.dcu
deleted file mode 100644
index 00636fb..0000000
Binary files a/pkg/Win32/Debug/ZXing.InvertedLuminanceSource.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.LuminanceSource.dcu b/pkg/Win32/Debug/ZXing.LuminanceSource.dcu
deleted file mode 100644
index c498de3..0000000
Binary files a/pkg/Win32/Debug/ZXing.LuminanceSource.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.MultiFormatReader.dcu b/pkg/Win32/Debug/ZXing.MultiFormatReader.dcu
deleted file mode 100644
index 0f55e58..0000000
Binary files a/pkg/Win32/Debug/ZXing.MultiFormatReader.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.OneD.Code128Reader.dcu b/pkg/Win32/Debug/ZXing.OneD.Code128Reader.dcu
deleted file mode 100644
index e3de58f..0000000
Binary files a/pkg/Win32/Debug/ZXing.OneD.Code128Reader.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.OneD.Code39Reader.dcu b/pkg/Win32/Debug/ZXing.OneD.Code39Reader.dcu
deleted file mode 100644
index 0a252a8..0000000
Binary files a/pkg/Win32/Debug/ZXing.OneD.Code39Reader.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.OneD.Code93Reader.dcu b/pkg/Win32/Debug/ZXing.OneD.Code93Reader.dcu
deleted file mode 100644
index f096a39..0000000
Binary files a/pkg/Win32/Debug/ZXing.OneD.Code93Reader.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.OneD.EAN13Reader.dcu b/pkg/Win32/Debug/ZXing.OneD.EAN13Reader.dcu
deleted file mode 100644
index 492d3f5..0000000
Binary files a/pkg/Win32/Debug/ZXing.OneD.EAN13Reader.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.OneD.EAN8Reader.dcu b/pkg/Win32/Debug/ZXing.OneD.EAN8Reader.dcu
deleted file mode 100644
index 135520a..0000000
Binary files a/pkg/Win32/Debug/ZXing.OneD.EAN8Reader.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.OneD.EANManufacturerOrgSupport.dcu b/pkg/Win32/Debug/ZXing.OneD.EANManufacturerOrgSupport.dcu
deleted file mode 100644
index 7f38e24..0000000
Binary files a/pkg/Win32/Debug/ZXing.OneD.EANManufacturerOrgSupport.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.OneD.ITFReader.dcu b/pkg/Win32/Debug/ZXing.OneD.ITFReader.dcu
deleted file mode 100644
index d132715..0000000
Binary files a/pkg/Win32/Debug/ZXing.OneD.ITFReader.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.OneD.OneDReader.dcu b/pkg/Win32/Debug/ZXing.OneD.OneDReader.dcu
deleted file mode 100644
index 7ce4405..0000000
Binary files a/pkg/Win32/Debug/ZXing.OneD.OneDReader.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.OneD.UPCAReader.dcu b/pkg/Win32/Debug/ZXing.OneD.UPCAReader.dcu
deleted file mode 100644
index f3b2fed..0000000
Binary files a/pkg/Win32/Debug/ZXing.OneD.UPCAReader.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.OneD.UPCEANExtension2Support.dcu b/pkg/Win32/Debug/ZXing.OneD.UPCEANExtension2Support.dcu
deleted file mode 100644
index 61b102a..0000000
Binary files a/pkg/Win32/Debug/ZXing.OneD.UPCEANExtension2Support.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.OneD.UPCEANExtension5Support.dcu b/pkg/Win32/Debug/ZXing.OneD.UPCEANExtension5Support.dcu
deleted file mode 100644
index 7b5920f..0000000
Binary files a/pkg/Win32/Debug/ZXing.OneD.UPCEANExtension5Support.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.OneD.UPCEANExtensionSupport.dcu b/pkg/Win32/Debug/ZXing.OneD.UPCEANExtensionSupport.dcu
deleted file mode 100644
index 68cc032..0000000
Binary files a/pkg/Win32/Debug/ZXing.OneD.UPCEANExtensionSupport.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.OneD.UPCEANReader.dcu b/pkg/Win32/Debug/ZXing.OneD.UPCEANReader.dcu
deleted file mode 100644
index ed544ed..0000000
Binary files a/pkg/Win32/Debug/ZXing.OneD.UPCEANReader.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.OneD.UPCEReader.dcu b/pkg/Win32/Debug/ZXing.OneD.UPCEReader.dcu
deleted file mode 100644
index dae1cca..0000000
Binary files a/pkg/Win32/Debug/ZXing.OneD.UPCEReader.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.QrCode.Internal.AlignmentPattern.dcu b/pkg/Win32/Debug/ZXing.QrCode.Internal.AlignmentPattern.dcu
deleted file mode 100644
index 7690a9c..0000000
Binary files a/pkg/Win32/Debug/ZXing.QrCode.Internal.AlignmentPattern.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.QrCode.Internal.AlignmentPatternFinder.dcu b/pkg/Win32/Debug/ZXing.QrCode.Internal.AlignmentPatternFinder.dcu
deleted file mode 100644
index b4f211f..0000000
Binary files a/pkg/Win32/Debug/ZXing.QrCode.Internal.AlignmentPatternFinder.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.QrCode.Internal.AlignmentPatternImplementation.dcu b/pkg/Win32/Debug/ZXing.QrCode.Internal.AlignmentPatternImplementation.dcu
deleted file mode 100644
index 2eb93ea..0000000
Binary files a/pkg/Win32/Debug/ZXing.QrCode.Internal.AlignmentPatternImplementation.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.QrCode.Internal.BitMatrixParser.dcu b/pkg/Win32/Debug/ZXing.QrCode.Internal.BitMatrixParser.dcu
deleted file mode 100644
index a542aad..0000000
Binary files a/pkg/Win32/Debug/ZXing.QrCode.Internal.BitMatrixParser.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.QrCode.Internal.DataBlock.dcu b/pkg/Win32/Debug/ZXing.QrCode.Internal.DataBlock.dcu
deleted file mode 100644
index 9248fb9..0000000
Binary files a/pkg/Win32/Debug/ZXing.QrCode.Internal.DataBlock.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.QrCode.Internal.DataMask.dcu b/pkg/Win32/Debug/ZXing.QrCode.Internal.DataMask.dcu
deleted file mode 100644
index 1f48576..0000000
Binary files a/pkg/Win32/Debug/ZXing.QrCode.Internal.DataMask.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.QrCode.Internal.DecodedBitStreamParser.dcu b/pkg/Win32/Debug/ZXing.QrCode.Internal.DecodedBitStreamParser.dcu
deleted file mode 100644
index 52cb0ce..0000000
Binary files a/pkg/Win32/Debug/ZXing.QrCode.Internal.DecodedBitStreamParser.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.QrCode.Internal.Decoder.dcu b/pkg/Win32/Debug/ZXing.QrCode.Internal.Decoder.dcu
deleted file mode 100644
index 6511cee..0000000
Binary files a/pkg/Win32/Debug/ZXing.QrCode.Internal.Decoder.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.QrCode.Internal.Detector.dcu b/pkg/Win32/Debug/ZXing.QrCode.Internal.Detector.dcu
deleted file mode 100644
index ca21465..0000000
Binary files a/pkg/Win32/Debug/ZXing.QrCode.Internal.Detector.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.QrCode.Internal.ErrorCorrectionLevel.dcu b/pkg/Win32/Debug/ZXing.QrCode.Internal.ErrorCorrectionLevel.dcu
deleted file mode 100644
index 33433fd..0000000
Binary files a/pkg/Win32/Debug/ZXing.QrCode.Internal.ErrorCorrectionLevel.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.QrCode.Internal.FinderPattern.dcu b/pkg/Win32/Debug/ZXing.QrCode.Internal.FinderPattern.dcu
deleted file mode 100644
index ad118eb..0000000
Binary files a/pkg/Win32/Debug/ZXing.QrCode.Internal.FinderPattern.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.QrCode.Internal.FinderPatternFinder.dcu b/pkg/Win32/Debug/ZXing.QrCode.Internal.FinderPatternFinder.dcu
deleted file mode 100644
index b1091f5..0000000
Binary files a/pkg/Win32/Debug/ZXing.QrCode.Internal.FinderPatternFinder.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.QrCode.Internal.FinderPatternImplementation.dcu b/pkg/Win32/Debug/ZXing.QrCode.Internal.FinderPatternImplementation.dcu
deleted file mode 100644
index 45619d0..0000000
Binary files a/pkg/Win32/Debug/ZXing.QrCode.Internal.FinderPatternImplementation.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.QrCode.Internal.FinderPatternInfo.dcu b/pkg/Win32/Debug/ZXing.QrCode.Internal.FinderPatternInfo.dcu
deleted file mode 100644
index 3255246..0000000
Binary files a/pkg/Win32/Debug/ZXing.QrCode.Internal.FinderPatternInfo.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.QrCode.Internal.FormatInformation.dcu b/pkg/Win32/Debug/ZXing.QrCode.Internal.FormatInformation.dcu
deleted file mode 100644
index 4b9f22a..0000000
Binary files a/pkg/Win32/Debug/ZXing.QrCode.Internal.FormatInformation.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.QrCode.Internal.Mode.dcu b/pkg/Win32/Debug/ZXing.QrCode.Internal.Mode.dcu
deleted file mode 100644
index 190e2e0..0000000
Binary files a/pkg/Win32/Debug/ZXing.QrCode.Internal.Mode.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.QrCode.Internal.QRCodeDecoderMetaData.dcu b/pkg/Win32/Debug/ZXing.QrCode.Internal.QRCodeDecoderMetaData.dcu
deleted file mode 100644
index f7e50b0..0000000
Binary files a/pkg/Win32/Debug/ZXing.QrCode.Internal.QRCodeDecoderMetaData.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.QrCode.Internal.Version.dcu b/pkg/Win32/Debug/ZXing.QrCode.Internal.Version.dcu
deleted file mode 100644
index e2d19b7..0000000
Binary files a/pkg/Win32/Debug/ZXing.QrCode.Internal.Version.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.QrCode.QRCodeReader.dcu b/pkg/Win32/Debug/ZXing.QrCode.QRCodeReader.dcu
deleted file mode 100644
index 4addddb..0000000
Binary files a/pkg/Win32/Debug/ZXing.QrCode.QRCodeReader.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.RGBLuminanceSource.dcu b/pkg/Win32/Debug/ZXing.RGBLuminanceSource.dcu
deleted file mode 100644
index 7cea1d2..0000000
Binary files a/pkg/Win32/Debug/ZXing.RGBLuminanceSource.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.ReadResult.dcu b/pkg/Win32/Debug/ZXing.ReadResult.dcu
deleted file mode 100644
index 5dc02b2..0000000
Binary files a/pkg/Win32/Debug/ZXing.ReadResult.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.Reader.dcu b/pkg/Win32/Debug/ZXing.Reader.dcu
deleted file mode 100644
index 419d952..0000000
Binary files a/pkg/Win32/Debug/ZXing.Reader.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.ResultMetadataType.dcu b/pkg/Win32/Debug/ZXing.ResultMetadataType.dcu
deleted file mode 100644
index 6cca35f..0000000
Binary files a/pkg/Win32/Debug/ZXing.ResultMetadataType.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.ResultPoint.dcu b/pkg/Win32/Debug/ZXing.ResultPoint.dcu
deleted file mode 100644
index ded6f42..0000000
Binary files a/pkg/Win32/Debug/ZXing.ResultPoint.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.ResultPointImplementation.dcu b/pkg/Win32/Debug/ZXing.ResultPointImplementation.dcu
deleted file mode 100644
index 9a8ddb3..0000000
Binary files a/pkg/Win32/Debug/ZXing.ResultPointImplementation.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.ScanManager.dcu b/pkg/Win32/Debug/ZXing.ScanManager.dcu
deleted file mode 100644
index 029315b..0000000
Binary files a/pkg/Win32/Debug/ZXing.ScanManager.dcu and /dev/null differ
diff --git a/pkg/Win32/Debug/ZXing.StringUtils.dcu b/pkg/Win32/Debug/ZXing.StringUtils.dcu
deleted file mode 100644
index ec836a8..0000000
Binary files a/pkg/Win32/Debug/ZXing.StringUtils.dcu and /dev/null differ
diff --git a/pkg/__history/ImperiumDelphi.dpk.~1~ b/pkg/__history/ImperiumDelphi.dpk.~1~
deleted file mode 100644
index 68e455e..0000000
--- a/pkg/__history/ImperiumDelphi.dpk.~1~
+++ /dev/null
@@ -1,41 +0,0 @@
-package ImperiumDelphi;
-
-{$R *.res}
-{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
-{$ALIGN 8}
-{$ASSERTIONS ON}
-{$BOOLEVAL OFF}
-{$DEBUGINFO OFF}
-{$EXTENDEDSYNTAX ON}
-{$IMPORTEDDATA ON}
-{$IOCHECKS ON}
-{$LOCALSYMBOLS ON}
-{$LONGSTRINGS ON}
-{$OPENSTRINGS ON}
-{$OPTIMIZATION OFF}
-{$OVERFLOWCHECKS OFF}
-{$RANGECHECKS OFF}
-{$REFERENCEINFO ON}
-{$SAFEDIVIDE OFF}
-{$STACKFRAMES ON}
-{$TYPEDADDRESS OFF}
-{$VARSTRINGCHECKS ON}
-{$WRITEABLECONST OFF}
-{$MINENUMSIZE 1}
-{$IMAGEBASE $400000}
-{$DEFINE DEBUG}
-{$ENDIF IMPLICITBUILDING}
-{$IMPLICITBUILD ON}
-
-requires
- rtl,
- designide,
- dbrtl,
- fmx;
-
-contains
- FMX.Android.Permissions in '..\src\FMX.Android.Permissions.pas',
- FMX.CodeReader in '..\src\FMX.CodeReader.pas',
- FMX.Register in '..\src\FMX.Register.pas';
-
-end.
diff --git a/pkg/__history/ImperiumDelphi.dpk.~2~ b/pkg/__history/ImperiumDelphi.dpk.~2~
deleted file mode 100644
index e4e4f59..0000000
--- a/pkg/__history/ImperiumDelphi.dpk.~2~
+++ /dev/null
@@ -1,41 +0,0 @@
-package ImperiumDelphi;
-
-{$R *.res}
-{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
-{$ALIGN 8}
-{$ASSERTIONS ON}
-{$BOOLEVAL OFF}
-{$DEBUGINFO OFF}
-{$EXTENDEDSYNTAX ON}
-{$IMPORTEDDATA ON}
-{$IOCHECKS ON}
-{$LOCALSYMBOLS ON}
-{$LONGSTRINGS ON}
-{$OPENSTRINGS ON}
-{$OPTIMIZATION OFF}
-{$OVERFLOWCHECKS OFF}
-{$RANGECHECKS OFF}
-{$REFERENCEINFO ON}
-{$SAFEDIVIDE OFF}
-{$STACKFRAMES ON}
-{$TYPEDADDRESS OFF}
-{$VARSTRINGCHECKS ON}
-{$WRITEABLECONST OFF}
-{$MINENUMSIZE 1}
-{$IMAGEBASE $400000}
-{$DEFINE DEBUG}
-{$ENDIF IMPLICITBUILDING}
-{$IMPLICITBUILD ON}
-
-requires
- rtl,
- designide,
- dbrtl,
- fmx;
-
-contains
- CodeReader.FMX.Android.Permissions in '..\src\CodeReader.FMX.Android.Permissions.pas',
- CodeReader.FMX.CodeReader in '..\src\CodeReader.FMX.CodeReader.pas',
- CodeReader.FMX.Register in '..\src\CodeReader.FMX.Register.pas';
-
-end.
diff --git a/pkg/__history/ImperiumDelphi.dpk.~3~ b/pkg/__history/ImperiumDelphi.dpk.~3~
deleted file mode 100644
index ad83f7e..0000000
--- a/pkg/__history/ImperiumDelphi.dpk.~3~
+++ /dev/null
@@ -1,141 +0,0 @@
-package ImperiumDelphi;
-
-{$R *.res}
-{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
-{$ALIGN 8}
-{$ASSERTIONS ON}
-{$BOOLEVAL OFF}
-{$DEBUGINFO OFF}
-{$EXTENDEDSYNTAX ON}
-{$IMPORTEDDATA ON}
-{$IOCHECKS ON}
-{$LOCALSYMBOLS ON}
-{$LONGSTRINGS ON}
-{$OPENSTRINGS ON}
-{$OPTIMIZATION OFF}
-{$OVERFLOWCHECKS OFF}
-{$RANGECHECKS OFF}
-{$REFERENCEINFO ON}
-{$SAFEDIVIDE OFF}
-{$STACKFRAMES ON}
-{$TYPEDADDRESS OFF}
-{$VARSTRINGCHECKS ON}
-{$WRITEABLECONST OFF}
-{$MINENUMSIZE 1}
-{$IMAGEBASE $400000}
-{$DEFINE DEBUG}
-{$ENDIF IMPLICITBUILDING}
-{$IMPLICITBUILD ON}
-
-requires
- rtl,
- designide,
- dbrtl,
- fmx;
-
-contains
- CodeReader.DW.Android.Helpers in '..\src\CodeReader.DW.Android.Helpers.pas',
- CodeReader.DW.Androidapi.JNI.App in '..\src\CodeReader.DW.Androidapi.JNI.App.pas',
- CodeReader.DW.Androidapi.JNI.DWCameraHelpers in '..\src\CodeReader.DW.Androidapi.JNI.DWCameraHelpers.pas',
- CodeReader.DW.Androidapi.JNI.Hardware.Camera2 in '..\src\CodeReader.DW.Androidapi.JNI.Hardware.Camera2.pas',
- CodeReader.DW.Androidapi.JNI.Os in '..\src\CodeReader.DW.Androidapi.JNI.Os.pas',
- CodeReader.DW.Androidapi.JNI.SupportV4 in '..\src\CodeReader.DW.Androidapi.JNI.SupportV4.pas',
- CodeReader.DW.Androidapi.JNI.View in '..\src\CodeReader.DW.Androidapi.JNI.View.pas',
- CodeReader.DW.Camera.Android in '..\src\CodeReader.DW.Camera.Android.pas',
- CodeReader.DW.Camera.iOS in '..\src\CodeReader.DW.Camera.iOS.pas',
- CodeReader.DW.Camera in '..\src\CodeReader.DW.Camera.pas',
- CodeReader.DW.CameraPreview.Android in '..\src\CodeReader.DW.CameraPreview.Android.pas',
- CodeReader.DW.CameraPreview.iOS in '..\src\CodeReader.DW.CameraPreview.iOS.pas',
- CodeReader.DW.CameraPreview in '..\src\CodeReader.DW.CameraPreview.pas',
- CodeReader.DW.Consts.Android in '..\src\CodeReader.DW.Consts.Android.pas',
- CodeReader.DW.Consts in '..\src\CodeReader.DW.Consts.pas',
- CodeReader.DW.Messaging in '..\src\CodeReader.DW.Messaging.pas',
- CodeReader.DW.NativeImage.Android in '..\src\CodeReader.DW.NativeImage.Android.pas',
- CodeReader.DW.NativeImage.iOS in '..\src\CodeReader.DW.NativeImage.iOS.pas',
- CodeReader.DW.NativeImage in '..\src\CodeReader.DW.NativeImage.pas',
- CodeReader.DW.NativeImage.Win in '..\src\CodeReader.DW.NativeImage.Win.pas',
- CodeReader.DW.Types in '..\src\CodeReader.DW.Types.pas',
- CodeReader.DW.UIHelper.Android in '..\src\CodeReader.DW.UIHelper.Android.pas',
- CodeReader.DW.UIHelper.iOS in '..\src\CodeReader.DW.UIHelper.iOS.pas',
- CodeReader.DW.UIHelper in '..\src\CodeReader.DW.UIHelper.pas',
- CodeReader.FMX.Android.Permissions in '..\src\CodeReader.FMX.Android.Permissions.pas',
- CodeReader.FMX.CodeReader in '..\src\CodeReader.FMX.CodeReader.pas',
- CodeReader.FMX.Register in '..\src\CodeReader.FMX.Register.pas',
- CodeReader.ZXing.BarcodeFormat in '..\src\CodeReader.ZXing.BarcodeFormat.pas',
- CodeReader.ZXing.BaseLuminanceSource in '..\src\CodeReader.ZXing.BaseLuminanceSource.pas',
- CodeReader.ZXing.Binarizer in '..\src\CodeReader.ZXing.Binarizer.pas',
- CodeReader.ZXing.BinaryBitmap in '..\src\CodeReader.ZXing.BinaryBitmap.pas',
- CodeReader.ZXing.BitSource in '..\src\CodeReader.ZXing.BitSource.pas',
- CodeReader.ZXIng.ByteSegments in '..\src\CodeReader.ZXIng.ByteSegments.pas',
- CodeReader.ZXing.CharacterSetECI in '..\src\CodeReader.ZXing.CharacterSetECI.pas',
- CodeReader.ZXing.Common.BitArray in '..\src\CodeReader.ZXing.Common.BitArray.pas',
- CodeReader.ZXing.Common.BitArrayImplementation in '..\src\CodeReader.ZXing.Common.BitArrayImplementation.pas',
- CodeReader.ZXing.Common.BitMatrix in '..\src\CodeReader.ZXing.Common.BitMatrix.pas',
- CodeReader.ZXing.Common.Detector.MathUtils in '..\src\CodeReader.ZXing.Common.Detector.MathUtils.pas',
- CodeReader.ZXing.Common.Detector.WhiteRectangleDetector in '..\src\CodeReader.ZXing.Common.Detector.WhiteRectangleDetector.pas',
- CodeReader.ZXing.Common.DetectorResult in '..\src\CodeReader.ZXing.Common.DetectorResult.pas',
- CodeReader.ZXing.Common.GridSampler in '..\src\CodeReader.ZXing.Common.GridSampler.pas',
- CodeReader.ZXing.Common.PerspectiveTransform in '..\src\CodeReader.ZXing.Common.PerspectiveTransform.pas',
- CodeReader.ZXing.Common.ReedSolomon.GenericGF in '..\src\CodeReader.ZXing.Common.ReedSolomon.GenericGF.pas',
- CodeReader.ZXing.Common.ReedSolomon.ReedSolomonDecoder in '..\src\CodeReader.ZXing.Common.ReedSolomon.ReedSolomonDecoder.pas',
- CodeReader.ZXing.Datamatrix.DataMatrixReader in '..\src\CodeReader.ZXing.Datamatrix.DataMatrixReader.pas',
- CodeReader.ZXing.Datamatrix.Internal.BitMatrixParser in '..\src\CodeReader.ZXing.Datamatrix.Internal.BitMatrixParser.pas',
- CodeReader.ZXing.Datamatrix.Internal.DataBlock in '..\src\CodeReader.ZXing.Datamatrix.Internal.DataBlock.pas',
- CodeReader.ZXing.Datamatrix.Internal.DecodedBitStreamParser in '..\src\CodeReader.ZXing.Datamatrix.Internal.DecodedBitStreamParser.pas',
- CodeReader.ZXing.Datamatrix.Internal.Decoder in '..\src\CodeReader.ZXing.Datamatrix.Internal.Decoder.pas',
- CodeReader.ZXing.Datamatrix.Internal.Detector in '..\src\CodeReader.ZXing.Datamatrix.Internal.Detector.pas',
- CodeReader.ZXing.Datamatrix.Internal.Version in '..\src\CodeReader.ZXing.Datamatrix.Internal.Version.pas',
- CodeReader.ZXing.DecodeHintType in '..\src\CodeReader.ZXing.DecodeHintType.pas',
- CodeReader.ZXing.DecoderResult in '..\src\CodeReader.ZXing.DecoderResult.pas',
- CodeReader.ZXing.DefaultGridSampler in '..\src\CodeReader.ZXing.DefaultGridSampler.pas',
- CodeReader.ZXing.EncodeHintType in '..\src\CodeReader.ZXing.EncodeHintType.pas',
- CodeReader.ZXing.GlobalHistogramBinarizer in '..\src\CodeReader.ZXing.GlobalHistogramBinarizer.pas',
- CodeReader.ZXing.Helpers in '..\src\CodeReader.ZXing.Helpers.pas',
- CodeReader.ZXing.HybridBinarizer in '..\src\CodeReader.ZXing.HybridBinarizer.pas',
- CodeReader.ZXing.InvertedLuminanceSource in '..\src\CodeReader.ZXing.InvertedLuminanceSource.pas',
- CodeReader.ZXing.LuminanceSource in '..\src\CodeReader.ZXing.LuminanceSource.pas',
- CodeReader.ZXing.MultiFormatReader in '..\src\CodeReader.ZXing.MultiFormatReader.pas',
- CodeReader.ZXing.OneD.Code39Reader in '..\src\CodeReader.ZXing.OneD.Code39Reader.pas',
- CodeReader.ZXing.OneD.Code93Reader in '..\src\CodeReader.ZXing.OneD.Code93Reader.pas',
- CodeReader.ZXing.OneD.Code128Reader in '..\src\CodeReader.ZXing.OneD.Code128Reader.pas',
- CodeReader.ZXing.OneD.EAN8Reader in '..\src\CodeReader.ZXing.OneD.EAN8Reader.pas',
- CodeReader.ZXing.OneD.EAN13Reader in '..\src\CodeReader.ZXing.OneD.EAN13Reader.pas',
- CodeReader.ZXing.OneD.EANManufacturerOrgSupport in '..\src\CodeReader.ZXing.OneD.EANManufacturerOrgSupport.pas',
- CodeReader.ZXing.OneD.ITFReader in '..\src\CodeReader.ZXing.OneD.ITFReader.pas',
- CodeReader.ZXing.OneD.OneDReader in '..\src\CodeReader.ZXing.OneD.OneDReader.pas',
- CodeReader.ZXing.OneD.UPCAReader in '..\src\CodeReader.ZXing.OneD.UPCAReader.pas',
- CodeReader.ZXing.OneD.UPCEANExtension2Support in '..\src\CodeReader.ZXing.OneD.UPCEANExtension2Support.pas',
- CodeReader.ZXing.OneD.UPCEANExtension5Support in '..\src\CodeReader.ZXing.OneD.UPCEANExtension5Support.pas',
- CodeReader.ZXing.OneD.UPCEANExtensionSupport in '..\src\CodeReader.ZXing.OneD.UPCEANExtensionSupport.pas',
- CodeReader.ZXing.OneD.UPCEANReader in '..\src\CodeReader.ZXing.OneD.UPCEANReader.pas',
- CodeReader.ZXing.OneD.UPCEReader in '..\src\CodeReader.ZXing.OneD.UPCEReader.pas',
- CodeReader.ZXing.PlanarYUVLuminanceSource in '..\src\CodeReader.ZXing.PlanarYUVLuminanceSource.pas',
- CodeReader.ZXing.QrCode.Internal.AlignmentPattern in '..\src\CodeReader.ZXing.QrCode.Internal.AlignmentPattern.pas',
- CodeReader.ZXing.QrCode.Internal.AlignmentPatternFinder in '..\src\CodeReader.ZXing.QrCode.Internal.AlignmentPatternFinder.pas',
- CodeReader.ZXing.QrCode.Internal.AlignmentPatternImplementation in '..\src\CodeReader.ZXing.QrCode.Internal.AlignmentPatternImplementation.pas',
- CodeReader.ZXing.QrCode.Internal.BitMatrixParser in '..\src\CodeReader.ZXing.QrCode.Internal.BitMatrixParser.pas',
- CodeReader.ZXing.QrCode.Internal.DataBlock in '..\src\CodeReader.ZXing.QrCode.Internal.DataBlock.pas',
- CodeReader.ZXing.QrCode.Internal.DataMask in '..\src\CodeReader.ZXing.QrCode.Internal.DataMask.pas',
- CodeReader.ZXing.QrCode.Internal.DecodedBitStreamParser in '..\src\CodeReader.ZXing.QrCode.Internal.DecodedBitStreamParser.pas',
- CodeReader.ZXing.QrCode.Internal.Decoder in '..\src\CodeReader.ZXing.QrCode.Internal.Decoder.pas',
- CodeReader.ZXing.QrCode.Internal.Detector in '..\src\CodeReader.ZXing.QrCode.Internal.Detector.pas',
- CodeReader.ZXing.QrCode.Internal.ErrorCorrectionLevel in '..\src\CodeReader.ZXing.QrCode.Internal.ErrorCorrectionLevel.pas',
- CodeReader.ZXing.QrCode.Internal.FinderPattern in '..\src\CodeReader.ZXing.QrCode.Internal.FinderPattern.pas',
- CodeReader.ZXing.QrCode.Internal.FinderPatternFinder in '..\src\CodeReader.ZXing.QrCode.Internal.FinderPatternFinder.pas',
- CodeReader.ZXing.QrCode.Internal.FinderPatternImplementation in '..\src\CodeReader.ZXing.QrCode.Internal.FinderPatternImplementation.pas',
- CodeReader.ZXing.QrCode.Internal.FinderPatternInfo in '..\src\CodeReader.ZXing.QrCode.Internal.FinderPatternInfo.pas',
- CodeReader.ZXing.QrCode.Internal.FormatInformation in '..\src\CodeReader.ZXing.QrCode.Internal.FormatInformation.pas',
- CodeReader.ZXing.QrCode.Internal.Mode in '..\src\CodeReader.ZXing.QrCode.Internal.Mode.pas',
- CodeReader.ZXing.QrCode.Internal.QRCodeDecoderMetaData in '..\src\CodeReader.ZXing.QrCode.Internal.QRCodeDecoderMetaData.pas',
- CodeReader.ZXing.QrCode.Internal.Version in '..\src\CodeReader.ZXing.QrCode.Internal.Version.pas',
- CodeReader.ZXing.QrCode.QRCodeReader in '..\src\CodeReader.ZXing.QrCode.QRCodeReader.pas',
- CodeReader.ZXing.Reader in '..\src\CodeReader.ZXing.Reader.pas',
- CodeReader.ZXing.ReadResult in '..\src\CodeReader.ZXing.ReadResult.pas',
- CodeReader.ZXing.ResultMetadataType in '..\src\CodeReader.ZXing.ResultMetadataType.pas',
- CodeReader.ZXing.ResultPoint in '..\src\CodeReader.ZXing.ResultPoint.pas',
- CodeReader.ZXing.ResultPointImplementation in '..\src\CodeReader.ZXing.ResultPointImplementation.pas',
- CodeReader.ZXing.RGBLuminanceSource in '..\src\CodeReader.ZXing.RGBLuminanceSource.pas',
- CodeReader.ZXing.ScanManager in '..\src\CodeReader.ZXing.ScanManager.pas',
- CodeReader.ZXing.StringUtils in '..\src\CodeReader.ZXing.StringUtils.pas';
-
-end.
diff --git a/pkg/__history/ImperiumDelphi.dpk.~4~ b/pkg/__history/ImperiumDelphi.dpk.~4~
deleted file mode 100644
index 5c9eddf..0000000
--- a/pkg/__history/ImperiumDelphi.dpk.~4~
+++ /dev/null
@@ -1,36 +0,0 @@
-package ImperiumDelphi;
-
-{$R *.res}
-{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
-{$ALIGN 8}
-{$ASSERTIONS ON}
-{$BOOLEVAL OFF}
-{$DEBUGINFO OFF}
-{$EXTENDEDSYNTAX ON}
-{$IMPORTEDDATA ON}
-{$IOCHECKS ON}
-{$LOCALSYMBOLS ON}
-{$LONGSTRINGS ON}
-{$OPENSTRINGS ON}
-{$OPTIMIZATION OFF}
-{$OVERFLOWCHECKS OFF}
-{$RANGECHECKS OFF}
-{$REFERENCEINFO ON}
-{$SAFEDIVIDE OFF}
-{$STACKFRAMES ON}
-{$TYPEDADDRESS OFF}
-{$VARSTRINGCHECKS ON}
-{$WRITEABLECONST OFF}
-{$MINENUMSIZE 1}
-{$IMAGEBASE $400000}
-{$DEFINE DEBUG}
-{$ENDIF IMPLICITBUILDING}
-{$IMPLICITBUILD ON}
-
-requires
- rtl,
- designide,
- dbrtl,
- fmx;
-
-end.
diff --git a/pkg/__history/ImperiumDelphi.dpk.~5~ b/pkg/__history/ImperiumDelphi.dpk.~5~
deleted file mode 100644
index 68e455e..0000000
--- a/pkg/__history/ImperiumDelphi.dpk.~5~
+++ /dev/null
@@ -1,41 +0,0 @@
-package ImperiumDelphi;
-
-{$R *.res}
-{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
-{$ALIGN 8}
-{$ASSERTIONS ON}
-{$BOOLEVAL OFF}
-{$DEBUGINFO OFF}
-{$EXTENDEDSYNTAX ON}
-{$IMPORTEDDATA ON}
-{$IOCHECKS ON}
-{$LOCALSYMBOLS ON}
-{$LONGSTRINGS ON}
-{$OPENSTRINGS ON}
-{$OPTIMIZATION OFF}
-{$OVERFLOWCHECKS OFF}
-{$RANGECHECKS OFF}
-{$REFERENCEINFO ON}
-{$SAFEDIVIDE OFF}
-{$STACKFRAMES ON}
-{$TYPEDADDRESS OFF}
-{$VARSTRINGCHECKS ON}
-{$WRITEABLECONST OFF}
-{$MINENUMSIZE 1}
-{$IMAGEBASE $400000}
-{$DEFINE DEBUG}
-{$ENDIF IMPLICITBUILDING}
-{$IMPLICITBUILD ON}
-
-requires
- rtl,
- designide,
- dbrtl,
- fmx;
-
-contains
- FMX.Android.Permissions in '..\src\FMX.Android.Permissions.pas',
- FMX.CodeReader in '..\src\FMX.CodeReader.pas',
- FMX.Register in '..\src\FMX.Register.pas';
-
-end.
diff --git a/src/CodeReader.DW.Camera.iOS.pas b/src/CodeReader.DW.Camera.iOS.pas
index e6ba544..b9f3728 100644
--- a/src/CodeReader.DW.Camera.iOS.pas
+++ b/src/CodeReader.DW.Camera.iOS.pas
@@ -25,7 +25,7 @@ interface
// FMX
FMX.Controls, FMX.Graphics,
// DW
- CodeReader.DW.Camera, CodeReader.DW.CameraPreview, CodeReader.CodeReader.DW.CameraPreview.iOS, DW.iOSapi.Vision, CodeReader.DW.Types;
+ CodeReader.DW.Camera, CodeReader.DW.CameraPreview, CodeReader.DW.CameraPreview.iOS, DW.iOSapi.Vision, CodeReader.DW.Types;
type
// Filling in some blanks
@@ -44,7 +44,6 @@ TFaceDetector = class(TObject)
FDetectionRequest: VNDetectFaceLandmarksRequest;
FFaces: TFaces;
FImage: CIImage;
- FRequestHandler: VNImageRequestHandler;
FOnDetectComplete: TNotifyEvent;
procedure DetectionRequestCompletionHandler(request: VNRequest; error: NSError);
procedure DoDetectComplete;
@@ -293,7 +292,6 @@ function TPlatformCamera.GetImageData(const AImage: CIImage): NSData;
function TPlatformCamera.GetCorrectedImage(const AImage: CIImage): CIImage;
var
LRotation: Double;
- LOrientation: CGImagePropertyOrientation;
begin
Result := AImage;
// NOTE: The following will work ONLY on iOS 11+. If you need support for lower, please find an alternate algorithm
@@ -316,8 +314,6 @@ procedure TPlatformCamera.DoCaptureImage;
procedure TPlatformCamera.CaptureStillImageCompletionHandler(buffer: CMSampleBufferRef; error: NSError);
var
- LMetadata: CFDictionaryRef;
- LMetadataMutable: CFMutableDictionaryRef;
LImageBuffer: CVPixelBufferRef;
LCIImage: CIImage;
LStream: TMemoryStream;
diff --git a/src/CodeReader.DW.CameraPreview.iOS.pas b/src/CodeReader.DW.CameraPreview.iOS.pas
index fd4f44a..b43fbcf 100644
--- a/src/CodeReader.DW.CameraPreview.iOS.pas
+++ b/src/CodeReader.DW.CameraPreview.iOS.pas
@@ -1,4 +1,4 @@
-unit CodeReader.CodeReader.DW.CameraPreview.iOS;
+unit CodeReader.DW.CameraPreview.iOS;
{*******************************************************}
{ }
diff --git a/src/CodeReader.ZXing.Datamatrix.Internal.DecodedBitStreamParser.pas b/src/CodeReader.ZXing.Datamatrix.Internal.DecodedBitStreamParser.pas
index 17cf4b3..c114bef 100644
--- a/src/CodeReader.ZXing.Datamatrix.Internal.DecodedBitStreamParser.pas
+++ b/src/CodeReader.ZXing.Datamatrix.Internal.DecodedBitStreamParser.pas
@@ -71,14 +71,12 @@ implementation
{ TDecodedBitStreamParser }
-class function TDecodedBitStreamParser.decode(bytes: TArray)
- : TDecoderResult;
+class function TDecodedBitStreamParser.decode(bytes: TArray): TDecoderResult;
var
bits: TBitSource;
res, resultTrailer: TStringBuilder;
byteSegments: IByteSegments;
mode: TMode;
-
begin
bits := TBitSource.Create(bytes);
res := TStringBuilder.Create(100);
@@ -86,15 +84,13 @@ class function TDecodedBitStreamParser.decode(bytes: TArray)
byteSegments := ByteSegmentsCreate;
try
-
byteSegments.Add(TArray.Create()); // TODO (KG): Validation
mode := TMode.ASCII_ENCODE;
while ((mode <> TMode.PAD_ENCODE) and (bits.available() > 0)) do
begin
if (mode = TMode.ASCII_ENCODE) then
begin
- if (not TDecodedBitStreamParser.decodeAsciiSegment(bits, res,
- resultTrailer, mode)) then
+ if (not TDecodedBitStreamParser.decodeAsciiSegment(bits, res, resultTrailer, mode)) then
result := nil; // this line was totally missing. I assume the correct thing is to set result = nil.
end
else
diff --git a/src/CodeReader.ZXing.Datamatrix.Internal.Decoder.pas b/src/CodeReader.ZXing.Datamatrix.Internal.Decoder.pas
index 8e2e334..aa3e6c2 100644
--- a/src/CodeReader.ZXing.Datamatrix.Internal.Decoder.pas
+++ b/src/CodeReader.ZXing.Datamatrix.Internal.Decoder.pas
@@ -179,11 +179,8 @@ function TDataMatrixDecoder.decode(bits: TBitMatrix): TDecoderResult;
Result := TDecodedBitStreamParser.decode(resultBytes);
finally
-
if Assigned(DataBlock) then
DataBlock.Free;
-
- DataBlock := nil;
resultBytes := nil;
codewordBytes := nil;
parser.Free;
diff --git a/src/CodeReader.ZXing.HybridBinarizer.pas b/src/CodeReader.ZXing.HybridBinarizer.pas
index 84b9c28..878d7ef 100644
--- a/src/CodeReader.ZXing.HybridBinarizer.pas
+++ b/src/CodeReader.ZXing.HybridBinarizer.pas
@@ -103,9 +103,7 @@ procedure THybridBinarizer.BinarizeEntireImage;
Exit;
end;
- newMatrix := nil;
try
-
source := self.LuminanceSource;
width := source.width;
height := source.height;
@@ -134,7 +132,6 @@ procedure THybridBinarizer.BinarizeEntireImage;
end;
finally
- newMatrix := nil;
SetLength(blackPoints,0);
blackPoints := nil;
luminances := nil;
diff --git a/src/CodeReader.ZXing.MultiFormatReader.pas b/src/CodeReader.ZXing.MultiFormatReader.pas
index ef21293..eb69778 100644
--- a/src/CodeReader.ZXing.MultiFormatReader.pas
+++ b/src/CodeReader.ZXing.MultiFormatReader.pas
@@ -67,7 +67,6 @@ TMultiFormatReader = class(TInterfacedObject, IReader)
FHints: TDictionary;
readers: TList;
FEnableQRCode: Boolean;
- FThCount : Integer;
FRead : TReadResult;
function DecodeInternal(image: TBinaryBitmap): TReadResult;
@@ -182,7 +181,6 @@ function TMultiFormatReader.Get_Hints: TDictionary;
procedure TMultiFormatReader.Set_Hints(const Value: TDictionary);
var
- tryHarder,
useCode39CheckDigit,
useCode39ExtendedMode: Boolean;
formats: TList;
diff --git a/src/CodeReader.ZXing.OneD.Code93Reader.pas b/src/CodeReader.ZXing.OneD.Code93Reader.pas
index 0c4aeb6..1134aa0 100644
--- a/src/CodeReader.ZXing.OneD.Code93Reader.pas
+++ b/src/CodeReader.ZXing.OneD.Code93Reader.pas
@@ -168,7 +168,6 @@ class function TCode93Reader.decodeExtended(encoded: TStringBuilder): string;
try
i := 0;
next := Char(0);
- c := Char(0);
while ((i < length)) do
begin
diff --git a/src/CodeReader.ZXing.QrCode.Internal.FinderPatternFinder.pas b/src/CodeReader.ZXing.QrCode.Internal.FinderPatternFinder.pas
index 7b19b8b..eb9c086 100644
--- a/src/CodeReader.ZXing.QrCode.Internal.FinderPatternFinder.pas
+++ b/src/CodeReader.ZXing.QrCode.Internal.FinderPatternFinder.pas
@@ -501,8 +501,7 @@ function TFinderPatternFinder.crossCheckVertical(startI: Integer;
function TFinderPatternFinder.find(
const hints: TDictionary): TFinderPatternInfo;
var
- tryHarder, pureBarcode,
- done, confirmed: Boolean;
+ tryHarder, done, confirmed: Boolean;
maxI, maxJ, iSkip,
i, currentState, j, rowSkip: Integer;
stateCount: TArray;
@@ -512,7 +511,6 @@ function TFinderPatternFinder.find(
Result := nil;
tryHarder := (hints <> nil) and (hints.ContainsKey(CodeReader.ZXing.DecodeHintType.TRY_HARDER));
- pureBarcode := (hints <> nil) and (hints.ContainsKey(CodeReader.ZXing.DecodeHintType.PURE_BARCODE));
maxI := Self.image.Height;
maxJ := Self.image.Width;
// We are looking for black/white/black/white/black modules in
@@ -522,8 +520,7 @@ function TFinderPatternFinder.find(
// number of pixels the center could be, so skip this often. When trying harder, look for all
// QR versions regardless of how dense they are.
iSkip := (3 * maxI) div (4 * MAX_MODULES);
- if (iSkip < MIN_SKIP) or (tryHarder)
- then
+ if (iSkip < MIN_SKIP) or (tryHarder) then
iSkip := MIN_SKIP;
done := false;
diff --git a/src/CodeReader.ZXing.ScanManager.pas b/src/CodeReader.ZXing.ScanManager.pas
index 3b132c8..46fc8f6 100644
--- a/src/CodeReader.ZXing.ScanManager.pas
+++ b/src/CodeReader.ZXing.ScanManager.pas
@@ -69,7 +69,6 @@ destructor TScanManager.Destroy;
o := hint.Value;
if Assigned(o) then
o.Free;
- o := nil;
end;
FHints.Clear();
diff --git a/src/FMX.CodeReader.pas b/src/FMX.CodeReader.pas
index dd24b6f..d10a924 100644
--- a/src/FMX.CodeReader.pas
+++ b/src/FMX.CodeReader.pas
@@ -3,9 +3,11 @@
interface
uses
- System.SysUtils, System.Types, System.UITypes, System.classes, System.Variants,
+ System.SysUtils, System.Types, System.UITypes, System.classes,
+ System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
- FMX.Filter.Effects, FMX.Layouts, FMX.Controls.Presentation, FMX.StdCtrls, FMX.Objects,
+ FMX.Filter.Effects, FMX.Layouts, FMX.Controls.Presentation, FMX.StdCtrls,
+ FMX.Objects,
System.IOUtils,
System.Messaging,
@@ -21,534 +23,569 @@ interface
Type
- TCodeType = (Code1DVertical, Code1DHorizontal, Code2D);
- TCodeResult = Procedure (aCode : String) Of Object;
-
- [ComponentPlatformsAttribute (pidAllPlatforms)]
- TCodeReader = Class(TControl)
- Private
- FCamera : TCamera;
- FPreview : TLayout;
- FMask : TNativeImage;
- FIcon : TNativeImage;
- FScan : TScanManager;
- FTimer : TTimer;
- FImageStream : TMemoryStream;
- FCodeType : TCodeType;
- FOnCodeReady : TCodeResult;
- FAudio : TMediaPlayer;
- FIconColor : TAlphaColor;
- FIcoQRCode : TBitmap;
- FIcoBarcode : TBitmap;
- FicoBarCode90 : TBitmap;
- FInProcess : Boolean;
- FPlaySound : Boolean;
- FShowMask : Boolean;
- FShowIconTypes : Boolean;
- FText : String;
- FTextCheck : String;
- FMaxImageWidth : Integer;
- FValidSamples : Integer;
- FValidCount : Integer;
- FImageHeight : Integer;
- FImageWidth : Integer;
- FTimerThread : Cardinal;
- FOnImageCaptured : TNotifyEvent;
- FOnStop : TNotifyEvent;
- FOnStart : TNotifyEvent;
- function GetIsActive : Boolean;
- function GetBeepVolume : Single;
- procedure SetCodeType (const Value: TCodeType);
- procedure SetIconColor (const Value: TAlphaColor);
- procedure SetBeepVolume (const Value: Single);
- procedure AppEventMessage (const Sender: TObject; const M: TMessage);
- procedure CameraImageCaptured(Sender: TObject; const AImageStream: TStream);
- procedure TimerSampling (Sender: TObject);
- procedure TypeSelect (Sender: TObject);
- Procedure CreateMask;
- procedure CreateCamera;
- procedure ShowIcon;
- Protected
- Procedure Resize; Override;
- Procedure DoCodeReady; Virtual;
- Procedure Click; Override;
- PRocedure Paint; Override;
- Public
- Constructor Create(aOwner : TComponent); Override;
- Destructor Destroy; Override;
- Procedure Start;
- Procedure Stop;
- Property IsActive : Boolean Read GetIsActive;
- Published
- Property CodeType : TCodeType Read FCodeType Write SetCodeType;
- Property ShowMask : Boolean Read FShowMask Write FShowMask;
- Property ShowIconTypes : Boolean Read FShowIconTypes Write FShowIconTypes;
- Property InProcess : Boolean Read FInProcess;
- Property PlaySound : Boolean Read FPlaySound Write FPlaySound;
- Property BeepVolume : Single Read GetBeepVolume Write SetBeepVolume;
- Property Text : String Read FText;
- Property IConColor : TAlphaColor Read FIconColor Write SetIconColor;
- Property MaxImageWidth : Integer Read FMaxImageWidth Write FmaxImageWidth;
- Property ValidSamples : Integer Read FValidSamples Write FValidSamples;
- Property ImageWidth : Integer Read FImageWidth;
- Property ImageHeight : Integer Read FImageHeight;
- Property ImageStream : TMemoryStream Read FImageStream;
- Property OnCodeReady : TCodeResult Read FOnCodeReady Write FOnCodeReady;
- Property OnImageCaptured : TNotifyEvent Read FOnImageCaptured Write FOnImageCaptured;
- Property OnStart : TNotifyEvent Read FOnStart Write FOnStart;
- Property OnStop : TNotifyEvent Read FOnStop Write FOnStop;
- Property HitTest;
- Property Width;
- Property Height;
- Property Size;
- Property Position;
- Property Align;
- Property Anchors;
- Property Padding;
- Property Margins;
- Property Enabled;
- Property Visible;
- End;
+ TCodeType = (Code1DVertical, Code1DHorizontal, Code2D);
+ TCodeResult = Procedure(aCode: String) Of Object;
+
+ [ComponentPlatformsAttribute(pidAllPlatforms)]
+ TCodeReader = Class(TControl)
+ Private
+ FCamera: TCamera;
+ FPreview: TLayout;
+ FMask: TNativeImage;
+ FIcon: TNativeImage;
+ FScan: TScanManager;
+ FTimer: TTimer;
+ FImageStream: TMemoryStream;
+ FCodeType: TCodeType;
+ FOnCodeReady: TCodeResult;
+ FAudio: TMediaPlayer;
+ FIconColor: TAlphaColor;
+ FIcoQRCode: TBitmap;
+ FIcoBarcode: TBitmap;
+ FicoBarCode90: TBitmap;
+ FInProcess: Boolean;
+ FPlaySound: Boolean;
+ FShowMask: Boolean;
+ FShowIconTypes: Boolean;
+ FText: String;
+ FTextCheck: String;
+ FMaxImageWidth: Integer;
+ FValidSamples: Integer;
+ FValidCount: Integer;
+ FImageHeight: Integer;
+ FImageWidth: Integer;
+ FTimerThread: Cardinal;
+ FOnImageCaptured: TNotifyEvent;
+ FOnStop: TNotifyEvent;
+ FOnStart: TNotifyEvent;
+ function GetIsActive: Boolean;
+ function GetBeepVolume: Single;
+ procedure SetCodeType(const Value: TCodeType);
+ procedure SetIconColor(const Value: TAlphaColor);
+ procedure SetBeepVolume(const Value: Single);
+ procedure AppEventMessage(const Sender: TObject; const M: TMessage);
+ procedure CameraImageCaptured(Sender: TObject; const AImageStream: TStream);
+ procedure TimerSampling(Sender: TObject);
+ procedure TypeSelect(Sender: TObject);
+ Procedure CreateMask;
+ procedure CreateCamera;
+ procedure ShowIcon;
+ Protected
+ Procedure Resize; Override;
+ Procedure DoCodeReady; Virtual;
+ Procedure Click; Override;
+ PRocedure Paint; Override;
+ Public
+ Constructor Create(aOwner: TComponent); Override;
+ Destructor Destroy; Override;
+ Procedure Start;
+ Procedure Stop;
+ Property IsActive: Boolean Read GetIsActive;
+ Published
+ Property CodeType: TCodeType Read FCodeType Write SetCodeType;
+ Property ShowMask: Boolean Read FShowMask Write FShowMask;
+ Property ShowIconTypes: Boolean Read FShowIconTypes Write FShowIconTypes;
+ Property InProcess: Boolean Read FInProcess;
+ Property PlaySound: Boolean Read FPlaySound Write FPlaySound;
+ Property BeepVolume: Single Read GetBeepVolume Write SetBeepVolume;
+ Property Text: String Read FText;
+ Property IConColor: TAlphaColor Read FIconColor Write SetIconColor;
+ Property MaxImageWidth: Integer Read FMaxImageWidth Write FMaxImageWidth;
+ Property ValidSamples: Integer Read FValidSamples Write FValidSamples;
+ Property ImageWidth: Integer Read FImageWidth;
+ Property ImageHeight: Integer Read FImageHeight;
+ Property ImageStream: TMemoryStream Read FImageStream;
+ Property OnCodeReady: TCodeResult Read FOnCodeReady Write FOnCodeReady;
+ Property OnImageCaptured: TNotifyEvent Read FOnImageCaptured
+ Write FOnImageCaptured;
+ Property OnStart: TNotifyEvent Read FOnStart Write FOnStart;
+ Property OnStop: TNotifyEvent Read FOnStop Write FOnStop;
+ Property HitTest;
+ Property Width;
+ Property Height;
+ Property Size;
+ Property Position;
+ Property Align;
+ Property Anchors;
+ Property Padding;
+ Property Margins;
+ Property Enabled;
+ Property Visible;
+ End;
implementation
{$R ..\pkg\FMX.Resources.res }
-
{ TCodeReader }
Procedure TCodeReader.CreateCamera;
Begin
-FCamera := TCamera.Create;
-FCamera.CameraPosition := TDevicePosition.Back;
-FCamera.OnImageCaptured := CameraImageCaptured;
-FCamera.OnAuthorizationStatus := Nil;
-FCamera.OnStatusChange := Nil;
-FCamera.PreviewControl.Parent := FPreview;
-FCamera.MaxImageWidth := FMaxImageWidth;
-FCamera.MaxPreviewWidth := 720;
+ FCamera := TCamera.Create;
+ FCamera.CameraPosition := TDevicePosition.Back;
+ FCamera.OnImageCaptured := CameraImageCaptured;
+ FCamera.OnAuthorizationStatus := Nil;
+ FCamera.OnStatusChange := Nil;
+ FCamera.PreviewControl.Parent := FPreview;
+ FCamera.MaxImageWidth := FMaxImageWidth;
+ FCamera.MaxPreviewWidth := 720;
End;
constructor TCodeReader.Create(aOwner: TComponent);
- Procedure CreatePreview;
- Begin
- FPreview := TLayout.Create(Self);
- FPreview.Stored := False;
- FPreview.Align := TAlignLayout.Contents;
- FPreview.Parent := Self;
- FPreview.Visible := False;
- FPreview.HitTest := False;
- End;
-
- Procedure CreateMaskView;
- Begin
- FMask := TNativeImage.Create(Self);
- FMask.Stored := False;
- FMask.Align := TAlignLayout.Client;
- FMask.Parent := Self;
- FMask.Visible := False;
- FMask.HitTest := False;
- FMask.BringToFront;
- End;
-
- Procedure CreateTimer;
- Begin
- FTimer := TTimer.Create(Self);
- FTimer.Stored := False;
- FTimer.Enabled := False;
- FTimer.OnTimer := TimerSampling;
- End;
-
- Procedure CreateBeep;
- Var
- LRC : TResourceStream;
- LAudioPath : String;
- Begin
- LAudioPath := System.IOUtils.TPath.Combine(System.IOUtils.TPath.GetDocumentsPath, 'Beep.wav');
- If Not FileExists(LAudioPath) Then
- Begin
+ Procedure CreatePreview;
+ Begin
+ FPreview := TLayout.Create(Self);
+ FPreview.Stored := False;
+ FPreview.Align := TAlignLayout.Contents;
+ FPreview.Parent := Self;
+ FPreview.Visible := False;
+ FPreview.HitTest := False;
+ End;
+
+ Procedure CreateMaskView;
+ Begin
+ FMask := TNativeImage.Create(Self);
+ FMask.Stored := False;
+ FMask.Align := TAlignLayout.Client;
+ FMask.Parent := Self;
+ FMask.Visible := False;
+ FMask.HitTest := False;
+ FMask.BringToFront;
+ End;
+
+ Procedure CreateTimer;
+ Begin
+ FTimer := TTimer.Create(Self);
+ FTimer.Stored := False;
+ FTimer.Enabled := False;
+ FTimer.OnTimer := TimerSampling;
+ End;
+
+ Procedure CreateBeep;
+ Var
+ LRC: TResourceStream;
+ LAudioPath: String;
+ Begin
+ LAudioPath := System.IOUtils.TPath.Combine
+ (System.IOUtils.TPath.GetDocumentsPath, 'Beep.wav');
+ If Not FileExists(LAudioPath) Then
+ Begin
LRC := TResourceStream.Create(HInstance, 'is_Beep', RT_RCDATA);
LRC.SaveToFile(LAudioPath);
LRC.DisposeOf;
- End;
- FAudio := TMediaPlayer.Create(Self);
- FAudio.Stored := False;
- FAudio.FileName := LAudioPath;
- End;
-
- Procedure CreateIcons;
- Var
- LRC : TResourceStream;
- Begin
- FIcoQRCode := TBitmap.Create;
- FIcoBarcode := TBitmap.Create;
- FIcoBarCode90 := TBitmap.Create;
- FIcon := TNativeImage.Create(Self);
- FIcon.Stored := False;
- FIcon.Parent := Self;
- FIcon.Tag := 0;
- FIcon.OnClick := TypeSelect;
- FIcon.HitTest := True;
- FIcon.Visible := False;
- LRC := TResourceStream.Create(HInstance, 'is_QRCodeScan', RT_RCDATA);
- FIcoQRCode.LoadFromStream(LRC);
- LRC.DisposeOf;
- LRC := TResourceStream.Create(HInstance, 'is_BarCodeScan', RT_RCDATA);
- FIcoBarCode .LoadFromStream(LRC);
- FIcoBarCode90.LoadFromStream(LRC);
- LRC.DisposeOf;
- FIcoBarCode90.Rotate(90);
- End;
+ End;
+ FAudio := TMediaPlayer.Create(Self);
+ FAudio.Stored := False;
+ FAudio.FileName := LAudioPath;
+ End;
+
+ Procedure CreateIcons;
+ Var
+ LRC: TResourceStream;
+ Begin
+ FIcoQRCode := TBitmap.Create;
+ FIcoBarcode := TBitmap.Create;
+ FicoBarCode90 := TBitmap.Create;
+ FIcon := TNativeImage.Create(Self);
+ FIcon.Stored := False;
+ FIcon.Parent := Self;
+ FIcon.Tag := 0;
+ FIcon.OnClick := TypeSelect;
+ FIcon.HitTest := True;
+ FIcon.Visible := False;
+ LRC := TResourceStream.Create(HInstance, 'is_QRCodeScan', RT_RCDATA);
+ FIcoQRCode.LoadFromStream(LRC);
+ LRC.DisposeOf;
+ LRC := TResourceStream.Create(HInstance, 'is_BarCodeScan', RT_RCDATA);
+ FIcoBarcode.LoadFromStream(LRC);
+ FicoBarCode90.LoadFromStream(LRC);
+ LRC.DisposeOf;
+ FicoBarCode90.Rotate(90);
+ End;
begin
-inherited;
-CreatePreview;
-CreateMaskView;
-CreateTimer;
-CreateBeep;
-CreateIcons;
-FCamera := Nil;
-ClipChildren := True;
-FPlaySound := True;
-FShowMask := True;
-FShowIconTypes := True;
-FMaxImageWidth := 2100;
-FValidSamples := 2;
-FValidCount := 0;
-IconColor := TAlphacolors.White;
-FImageStream := TMemoryStream.Create;
-FScan := TScanManager .Create(TBarcodeFormat.Auto, Nil);
-FCodeType := TCodeType.Code1DVertical;
-TMessageManager.DefaultManager.SubscribeToMessage(TApplicationEventMessage, AppEventMessage);
-SetSize(100, 100);
+ inherited;
+ CreatePreview;
+ CreateMaskView;
+ CreateTimer;
+ CreateBeep;
+ CreateIcons;
+ FCamera := Nil;
+ ClipChildren := True;
+ FPlaySound := True;
+ FShowMask := True;
+ FShowIconTypes := True;
+ FMaxImageWidth := 2100;
+ FValidSamples := 2;
+ FValidCount := 0;
+ IConColor := TAlphacolors.White;
+ FImageStream := TMemoryStream.Create;
+ FScan := TScanManager.Create(TBarcodeFormat.Auto, Nil);
+ FCodeType := TCodeType.Code1DVertical;
+ TMessageManager.DefaultManager.SubscribeToMessage(TApplicationEventMessage,
+ AppEventMessage);
+ SetSize(100, 100);
end;
destructor TCodeReader.Destroy;
begin
-If FCamera <> Nil Then
- Begin
- if FCamera.IsActive then
- Begin
- While FInProcess do Sleep(50);
+ If FCamera <> Nil Then
+ Begin
+ if FCamera.IsActive then
+ Begin
+ While FInProcess do
+ Sleep(50);
FCamera.IsActive := False;
- End;
- FCamera.DisposeOf;
- End;
-FPreview .DisposeOf;
-FMask .DisposeOf;
-FImageStream .DisposeOf;
-FScan .DisposeOf;
-FIcoQRCode .DisposeOf;
-FIcoBarcode .DisposeOf;
-FIcoBarCode90.DisposeOf;
-FIcon .DisposeOf;
-inherited;
+ End;
+ FCamera.DisposeOf;
+ End;
+ FPreview.DisposeOf;
+ FMask.DisposeOf;
+ FImageStream.DisposeOf;
+ FScan.DisposeOf;
+ FIcoQRCode.DisposeOf;
+ FIcoBarcode.DisposeOf;
+ FicoBarCode90.DisposeOf;
+ FIcon.DisposeOf;
+ inherited;
end;
procedure TCodeReader.AppEventMessage(const Sender: TObject; const M: TMessage);
var
LEvent: TApplicationEvent;
begin
-LEvent := TApplicationEventMessage(M).Value.Event;
-If LEvent = TApplicationEvent.EnteredBackground Then Stop;
+ LEvent := TApplicationEventMessage(M).Value.Event;
+ If LEvent = TApplicationEvent.EnteredBackground Then
+ Stop;
end;
procedure TCodeReader.DoCodeReady;
begin
-TTHread.Queue(Nil,
- Procedure
- Begin
- FTextCheck := '';
- FAudio.Play;
- OnCodeReady(FText);
- End);
+ TTHread.Queue(Nil,
+ Procedure
+ Begin
+ FTextCheck := '';
+ FAudio.Play;
+ OnCodeReady(FText);
+ End);
end;
-procedure TCodeReader.CameraImageCaptured(Sender: TObject; const AImageStream: TStream);
+procedure TCodeReader.CameraImageCaptured(Sender: TObject;
+const AImageStream: TStream);
{$IFDEF IOS}
var
- LSurf : TBitmapSurface;
+ LSurf: TBitmapSurface;
{$ENDIF}
{$IFDEF ANDROID}
var
- W, H : Integer;
- Y : Integer;
- Off : Integer;
- Buf : TArray;
- Lums : TArray;
+ W, H: Integer;
+ Y: Integer;
+ Off: Integer;
+ Buf: TArray;
+ Lums: TArray;
{$ENDIF}
begin
-if FInProcess then Exit;
-FInProcess := True;
-FText := '';
-FTimerThread := TThread.GetTickCount;
-FImageWidth := FCamera.CapturedWidth;
-FImageHeight := FCamera.CapturedHeight;
+ if FInProcess then
+ Exit;
+ FInProcess := True;
+ FText := '';
+ FTimerThread := TTHread.GetTickCount;
+ FImageWidth := FCamera.CapturedWidth;
+ FImageHeight := FCamera.CapturedHeight;
{$IFDEF ANDROID}
-W := 0;
-If FCamera.CameraOrientation = 90 Then
- Begin
- H := FCamera.CapturedHeight;
- AImageStream.Position := 0;
- SetLength(Buf, AImageStream.Size);
- AImageStream.Read(Buf, AImageStream.Size);
- case Self.CodeType of
+ W := 0;
+ If FCamera.CameraOrientation = 90 Then
+ Begin
+ H := FCamera.CapturedHeight;
+ AImageStream.Position := 0;
+ SetLength(Buf, AImageStream.Size);
+ AImageStream.Read(Buf, AImageStream.Size);
+ case Self.CodeType of
Code1DVertical:
- Begin
- W := Trunc(FCamera.CapturedWidth);
- H := Trunc(FCamera.CapturedHeight/4);
- SetLength(Lums, W*H);
- for Y := Trunc(H*1.5) to Trunc(H*1.5)+H-1 do System.Move(Buf[W*Y], Lums[W*(Y-Trunc(H*1.5))], W);
- End;
+ Begin
+ W := Trunc(FCamera.CapturedWidth);
+ H := Trunc(FCamera.CapturedHeight / 4);
+ SetLength(Lums, W * H);
+ for Y := Trunc(H * 1.5) to Trunc(H * 1.5) + H - 1 do
+ System.Move(Buf[W * Y], Lums[W * (Y - Trunc(H * 1.5))], W);
+ End;
Code1DHorizontal:
- Begin
- W := Trunc(FCamera.CapturedWidth/4);
- Off := Trunc(W *1.5);
- SetLength(Lums, W*H);
- for Y := 0 to H-1 do System.Move(Buf[FCamera.CapturedWidth*Y+Off], Lums[W*Y], W);
- End;
+ Begin
+ W := Trunc(FCamera.CapturedWidth / 4);
+ Off := Trunc(W * 1.5);
+ SetLength(Lums, W * H);
+ for Y := 0 to H - 1 do
+ System.Move(Buf[FCamera.CapturedWidth * Y + Off], Lums[W * Y], W);
+ End;
Code2D:
- Begin
- W := Trunc(FCamera.CapturedWidth/2);
- Off := Trunc(FCamera.CapturedWidth/4);
- SetLength(Lums, W*H);
- for Y := 0 to H-1 do System.Move(Buf[FCamera.CapturedWidth*Y+Off], Lums[W*Y], W);
- End;
- end;
- FImageWidth := W;
- FImageHeight := H;
- FImageStream.Clear;
- FImageStream.WriteData(Lums, W*H);
- End
-Else
- Begin
- FImageStream.Clear;
- FImageStream.LoadFromStream(AImageStream);
- End;
+ Begin
+ W := Trunc(FCamera.CapturedWidth / 2);
+ Off := Trunc(FCamera.CapturedWidth / 4);
+ SetLength(Lums, W * H);
+ for Y := 0 to H - 1 do
+ System.Move(Buf[FCamera.CapturedWidth * Y + Off], Lums[W * Y], W);
+ End;
+ end;
+ FImageWidth := W;
+ FImageHeight := H;
+ FImageStream.Clear;
+ FImageStream.WriteData(Lums, W * H);
+ End
+ Else
+ Begin
+ FImageStream.Clear;
+ FImageStream.LoadFromStream(AImageStream);
+ End;
{$ELSE}
-FImageStream.Clear;
-FImageStream.LoadFromStream(AImageStream);
+ FImageStream.Clear;
+ FImageStream.LoadFromStream(AImageStream);
{$ENDIF}
-FImageStream.Position := 0;
-
-if Assigned(FOnImageCaptured) then OnImageCaptured(Self);
-TThread.CreateAnonymousThread(
- Procedure
- Var
- Code : TReadResult;
- Begin
- Try
- {$IFDEF IOS}
- LSurf := TBitmapSurface.Create;
- LSurf.SetSize(FImageWidth, FImageHeight);
- TBitmapCodecManager.LoadFromStream(FImageStream, LSurf, 0);
- Code := FScan.Scan(LSurf);
- LSurf.DisposeOf;
- {$ELSE}
- Code := FScan.Scan(FImageStream, FImageWidth, FImageHeight);
- {$ENDIF}
- if Code <> Nil then
- Begin
- if Code.Text <> FTextCheck then FValidCount := 0;
- if FValidCount = 0 then FTextCheck := Code.Text;
- if FTextCheck = Code.text then Inc(FValidCount);
- if FValidCount = FValidSamples then FText := Code.text;
- Code.DisposeOf;
- End
- Else
- FValidCount := 0;
- Except
+ FImageStream.Position := 0;
+
+ if Assigned(FOnImageCaptured) then
+ OnImageCaptured(Self);
+ TTHread.CreateAnonymousThread(
+ Procedure
+ Var
+ Code: TReadResult;
+ Begin
+ Try
+{$IFDEF IOS}
+ LSurf := TBitmapSurface.Create;
+ LSurf.SetSize(FImageWidth, FImageHeight);
+ TBitmapCodecManager.LoadFromStream(FImageStream, LSurf, 0);
+ Code := FScan.Scan(LSurf);
+ LSurf.DisposeOf;
+{$ELSE}
+ Code := FScan.Scan(FImageStream, FImageWidth, FImageHeight);
+{$ENDIF}
+ if Code <> Nil then
+ Begin
+ if Code.Text <> FTextCheck then
+ FValidCount := 0;
+ if FValidCount = 0 then
+ FTextCheck := Code.Text;
+ if FTextCheck = Code.Text then
+ Inc(FValidCount);
+ if FValidCount = FValidSamples then
+ FText := Code.Text;
+ Code.DisposeOf;
+ End
+ Else
+ FValidCount := 0;
+ Except
End;
- FInProcess := False;
- if Not(FText.IsEmpty) And Assigned(OnCodeReady) then DoCodeReady;
- FTimer.Interval := 25;
- FTimer.Enabled := True;
- End).Start;
+ FInProcess := False;
+ if Not(FText.IsEmpty) And Assigned(OnCodeReady) then
+ DoCodeReady;
+ FTimer.Interval := 25;
+ FTimer.Enabled := True;
+ End).Start;
end;
procedure TCodeReader.Click;
begin
-inherited;
-If FCamera.IsActive Then FCamera.DoFocus;
+ inherited;
+ If FCamera.IsActive Then
+ FCamera.DoFocus;
end;
procedure TCodeReader.TimerSampling(Sender: TObject);
begin
-FTimer.Enabled := False;
-FScan .EnableQRCode := FCodeType = TCodeType.Code2D;
-if Assigned(FCamera) And FCamera.IsActive Then
- If Not(FInProcess) then
- Begin
+ FTimer.Enabled := False;
+ FScan.EnableQRCode := FCodeType = TCodeType.Code2D;
+ if Assigned(FCamera) And FCamera.IsActive Then
+ If Not(FInProcess) then
+ Begin
FCamera.CaptureImage;
- End
- Else
- Begin
+ End
+ Else
+ Begin
FTimer.Interval := 400;
- FTimer.Enabled := FCamera.IsActive;
- End;
+ FTimer.Enabled := FCamera.IsActive;
+ End;
end;
procedure TCodeReader.CreateMask;
Var
- LBitmap : TBitmap;
- LStream : TMemoryStream;
- LRect : TRectF;
- LEffect : TColorKeyAlphaEffect;
- W, H, S : Single;
- LScr : IFMXScreenService;
+ LBitmap: TBitmap;
+ LStream: TMemoryStream;
+ LRect: TRectF;
+ LEffect: TColorKeyAlphaEffect;
+ W, H, S: Single;
+ LScr: IFMXScreenService;
begin
-if FShowMask then
- Begin
- if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService, LScr) then
+ if FShowMask then
+ Begin
+ if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService, LScr)
+ then
S := LScr.GetScreenScale
- Else
+ Else
S := 1;
- W := Width * S;
- H := Height * S;
- LEffect := TColorKeyAlphaEffect.Create(Self);
- LStream := TMemoryStream.Create;
- LBitmap := TBitmap.Create;
- LBitmap.SetSize(Trunc(W), Trunc(H));
- LBitmap.Clear(Talphacolors.Null);
- LBitmap.Canvas.BeginScene;
- case FCodeType of
- Code1DVertical : LRect := TRectF.Create(W/2 - (50*S), 10*S, W/2+(50*S), H-(10*S));
- Code1DHorizontal : LRect := TRectF.Create((10*S), H/2 - (50*S), W-(10*S), H/2+(50*S));
- Code2D : LRect := TRectF.Create(W/2-(150*S), H/2-(150*S), W/2+(150*S), H/2+(150*S));
- end;
- LBitmap.Canvas.Fill.Color := TAlphacolors.Black;
- LBitmap.Canvas.FillRect(TRectF.Create(0, 0, W, H), 0, 0, [], 0.6);
- LBitmap.Canvas.Fill.Color := TAlphacolors.White;
- LBitmap.Canvas.FillRect(LRect, 12*S, 12*S, AllCorners, 1);
- LBitmap.Canvas.EndScene;
- LEffect.ColorKey := TAlphaColorRec.White;
- LEffect.Tolerance := 0.1;
- LEffect.ProcessEffect(LBitmap.Canvas, LBitmap, 0);
- LBitmap.SaveToStream(LStream);
- FMask.LoadFromStream(LStream);
- LStream.DisposeOf;
- LBitmap.DisposeOf;
- LEffect.DisposeOf;
- FMask.BringToFront;
- FIcon.BringToFront;
- End;
-ShowIcon;
+ W := Width * S;
+ H := Height * S;
+ LEffect := TColorKeyAlphaEffect.Create(Self);
+ LStream := TMemoryStream.Create;
+ LBitmap := TBitmap.Create;
+ LBitmap.SetSize(Trunc(W), Trunc(H));
+ LBitmap.Clear(TAlphacolors.Null);
+ LBitmap.Canvas.BeginScene;
+ case FCodeType of
+ Code1DVertical:
+ LRect := TRectF.Create(W / 2 - (50 * S), 10 * S, W / 2 + (50 * S),
+ H - (10 * S));
+ Code1DHorizontal:
+ LRect := TRectF.Create((10 * S), H / 2 - (50 * S), W - (10 * S),
+ H / 2 + (50 * S));
+ Code2D:
+ LRect := TRectF.Create(W / 2 - (150 * S), H / 2 - (150 * S),
+ W / 2 + (150 * S), H / 2 + (150 * S));
+ end;
+ LBitmap.Canvas.Fill.Color := TAlphacolors.Black;
+ LBitmap.Canvas.FillRect(TRectF.Create(0, 0, W, H), 0, 0, [], 0.6);
+ LBitmap.Canvas.Fill.Color := TAlphacolors.White;
+ LBitmap.Canvas.FillRect(LRect, 12 * S, 12 * S, AllCorners, 1);
+ LBitmap.Canvas.EndScene;
+ LEffect.ColorKey := TAlphaColorRec.White;
+ LEffect.Tolerance := 0.1;
+ LEffect.ProcessEffect(LBitmap.Canvas, LBitmap, 0);
+ LBitmap.SaveToStream(LStream);
+ FMask.LoadFromStream(LStream);
+ LStream.DisposeOf;
+ LBitmap.DisposeOf;
+ LEffect.DisposeOf;
+ FMask.BringToFront;
+ FIcon.BringToFront;
+ End;
+ ShowIcon;
end;
procedure TCodeReader.Resize;
begin
-inherited;
-CreateMask;
+ inherited;
+ CreateMask;
end;
procedure TCodeReader.ShowIcon;
begin
-if FShowIconTypes then
- Begin
- FIcon.Width := 40;
- FIcon.Height := 40;
- FIcon.Position.X := Width - 48;
- FIcon.Position.Y := 8;
- case FCodeType of
- Code1DVertical : FIcon.LoadFromBitmap(FIcoBarCode90);
- Code1DHorizontal : FIcon.LoadFromBitmap(FIcoBarCode);
- Code2D : FIcon.LoadFromBitmap(FIcoQRCode);
- end;
- FIcon.BringToFront;
- End;
+ if FShowIconTypes then
+ Begin
+ FIcon.Width := 40;
+ FIcon.Height := 40;
+ FIcon.Position.X := Width - 48;
+ FIcon.Position.Y := 8;
+ case FCodeType of
+ Code1DVertical:
+ FIcon.LoadFromBitmap(FicoBarCode90);
+ Code1DHorizontal:
+ FIcon.LoadFromBitmap(FIcoBarcode);
+ Code2D:
+ FIcon.LoadFromBitmap(FIcoQRCode);
+ end;
+ FIcon.BringToFront;
+ End;
end;
procedure TCodeReader.TypeSelect(Sender: TObject);
Var
- T : Integer;
+ T: Integer;
begin
-T := FIcon.Tag;
-Inc(T);
-if T > 2 then T := 0;
-case T of
- 0 : SetCodeType(TCodeType.Code1DHorizontal);
- 1 : SetCodeType(TCodeType.Code1DVertical);
- 2 : SetCodeType(TCodeType.Code2D);
- end;
-FIcon.Tag := T;
+ T := FIcon.Tag;
+ Inc(T);
+ if T > 2 then
+ T := 0;
+ case T of
+ 0:
+ SetCodeType(TCodeType.Code1DHorizontal);
+ 1:
+ SetCodeType(TCodeType.Code1DVertical);
+ 2:
+ SetCodeType(TCodeType.Code2D);
+ end;
+ FIcon.Tag := T;
end;
procedure TCodeReader.SetCodeType(const Value: TCodeType);
begin
-If FCodeType <> Value Then
- Begin
- FCodeType := Value;
- CreateMask;
- End;
+ If FCodeType <> Value Then
+ Begin
+ FCodeType := Value;
+ CreateMask;
+ End;
end;
procedure TCodeReader.SetIconColor(const Value: TAlphaColor);
Var
- LEffect : TFillRGBEffect;
+ LEffect: TFillRGBEffect;
begin
-FIconColor := Value;
-LEffect := TFillRGBEffect.Create(Self);
-LEffect.Color := FIconColor;
-LEffect.ProcessEffect(FIcoQRCode .Canvas, FIcoQRCode, 0);
-LEffect.ProcessEffect(FIcoBarCode .Canvas, FIcoBarCode, 0);
-LEffect.ProcessEffect(FIcoBarCode90.Canvas, FIcoBarCode90, 0);
-LEffect.DisposeOf;
-ShowIcon;
+ FIconColor := Value;
+ LEffect := TFillRGBEffect.Create(Self);
+ LEffect.Color := FIconColor;
+ LEffect.ProcessEffect(FIcoQRCode.Canvas, FIcoQRCode, 0);
+ LEffect.ProcessEffect(FIcoBarcode.Canvas, FIcoBarcode, 0);
+ LEffect.ProcessEffect(FicoBarCode90.Canvas, FicoBarCode90, 0);
+ LEffect.DisposeOf;
+ ShowIcon;
end;
function TCodeReader.GetIsActive: Boolean;
begin
-Result := (FCamera <> Nil) And FCamera.IsActive;
+ Result := (FCamera <> Nil) And FCamera.IsActive;
end;
function TCodeReader.GetBeepVolume: Single;
begin
-Result := FAudio.Volume;
+ Result := FAudio.Volume;
end;
procedure TCodeReader.Paint;
begin
-inherited;
-if (csDesigning in ComponentState) And Not Locked then DrawDesignBorder;
+ inherited;
+ if (csDesigning in ComponentState) And Not Locked then
+ DrawDesignBorder;
end;
procedure TCodeReader.SetBeepVolume(const Value: Single);
begin
-FAudio.Volume := Value;
+ FAudio.Volume := Value;
end;
procedure TCodeReader.Start;
begin
-if FCamera = Nil then CreateCamera;
-FPreview.Size := Self.Size;
-FPreview.Visible := True;
-FMask .Visible := FShowMask;
-FIcon .Visible := FShowIconTypes;
-FCamera .IsActive := True;
-FTimer .Interval := 800;
-FTimer .Enabled := True;
-FInProcess := False;
-if Assigned(FOnStart) then FOnStart(Self);
+ if FCamera = Nil then
+ CreateCamera;
+ FPreview.Size := Self.Size;
+ FPreview.Visible := True;
+ FMask.Visible := FShowMask;
+ FIcon.Visible := FShowIconTypes;
+ FCamera.IsActive := True;
+ FTimer.Interval := 800;
+ FTimer.Enabled := True;
+ FInProcess := False;
+ if Assigned(FOnStart) then
+ FOnStart(Self);
end;
procedure TCodeReader.Stop;
begin
-while FInProcess do Sleep(50);
-if FCamera <> Nil then
- Begin
- FTimer .Enabled := False;
- FCamera .IsActive := False;
- FPreview.Visible := False;
- FMask .Visible := False;
- FIcon .Visible := False;
- FInProcess := False;
- if Assigned(FOnStop) then FOnStop(Self);
- End;
+ while FInProcess do
+ Sleep(50);
+ if FCamera <> Nil then
+ Begin
+ FTimer.Enabled := False;
+ FCamera.IsActive := False;
+ FPreview.Visible := False;
+ FMask.Visible := False;
+ FIcon.Visible := False;
+ FInProcess := False;
+ if Assigned(FOnStop) then
+ FOnStop(Self);
+ End;
end;
Initialization
+
RegisterFMXclasses([TCodeReader]);
end.
-