Commit Graph

520 Commits

Author SHA1 Message Date
Henry Schimke
963c9da285 correct Luma8LuminanceSource rotation
This addresses #27, it adds a test case to validate square, wide, and tall variants of the rotation matrix. The current implementation is slower and less memor efficient for rectangular matrixes.
2023-03-16 13:32:20 -05:00
Henry Schimke
717b74fd99 cleanup point transform code 2023-03-08 12:46:52 -06:00
Henry Schimke
2b7d053646 Promote Quadrilateral to default
The library now uses the `Quadrilateral` struct when handling sets of four points in `GridSampler` and `PerspectiveTransform`
2023-03-08 11:17:43 -06:00
Henry Schimke
d5e6a5d0a7 update eci_string_builder
This change modifies how the ECIStringBuilder works. Perviously it encoded data as it went, whenever the eci state changed. The new method only decodes data when it is requested, simply appending bytes as it goes otherwise.

This should improve performance in a few situations.

This release also uses the ECIStringBuilder in qrcodes, which previously handled their own decoding.
2023-03-07 17:09:42 -06:00
Henry Schimke
19d5b6276c cargo fmt 2023-03-06 12:24:47 -06:00
Henry Schimke
921b51a405 enable all eci charactersets
This is not enabled for the eci encoder set builder, in which the encoding crate results in some encoders being equivelent and thus resulting in odd test cases.
2023-03-06 12:23:53 -06:00
Henry Schimke
284067f582 multi-decode helpers use MultiUseMultiFormatReader 2023-03-06 11:38:06 -06:00
Henry Schimke
bef21af81e clippy --fix && fmt 2023-03-06 11:37:37 -06:00
Henry Schimke
fe8f89cd29 move from AztecPoint to Point 2023-03-06 11:27:24 -06:00
Henry Schimke
a821557209 disable some charactersets to match zxing
We should be able to allow these, research needs to be done into why they do not work.
2023-03-04 14:43:01 -06:00
Henry Schimke
1349152110 Merge branch 'main' into decouple-encoding-library 2023-03-04 14:36:21 -06:00
Henry Schimke
1c286fc6ae add MultiUseMuliFormatReader
This should avoid the issues with frequent reuse of the generic version of the library. It has a much larger upfront cost, so it should only be used if the reader will be used multiple times. The helper functions do not use this reader.

Fixes: #23
2023-03-04 14:34:09 -06:00
Henry Schimke
69c0119c94 clippy --fix && fmt 2023-03-04 14:17:56 -06:00
Henry Schimke
8a0744e534 move to using Eci enum
Decouples the Eci and CharacterSet concepts within the library. Character sets can now exist independently from Eci encodation schemes.
2023-03-04 14:13:50 -06:00
Henry Schimke
15859b9f10 rename character set and rename methods 2023-03-04 11:47:39 -06:00
Henry Schimke
9431031147 cargo clippy && fmt 2023-03-04 11:17:17 -06:00
Henry Schimke
a0b8b68869 repurpose CharacterSetECI as encoding abstraction 2023-03-04 11:17:17 -06:00
Henry Schimke
c4fec7d2ee add encode / decode methods
This will eventually entirely replace EncoderRef being passed around
2023-03-04 11:17:17 -06:00
Steve Cook
3b3d703b4e Add resets for the RSS14 and RSSExpanded reader states 2023-03-04 11:53:32 -05:00
Steve Cook
e67c1070c7 Cargo fmt + Cargo clippy 2023-03-02 08:57:30 -05:00
Steve Cook
f25f762564 Conserve state for RSS readers within MultiFormatReader and MultiFormatOneDReader 2023-03-02 08:55:48 -05:00
Steve Cook
37789a9395 Remove unused imports and fix file naming 2023-03-02 00:10:39 -05:00
Steve Cook
d2ab7de5dd Add error reporting to tests 2023-03-02 00:06:30 -05:00
Steve Cook
70b1ef270f Update tests 2023-03-01 22:49:07 -05:00
Steve Cook
c5460debe1 Cargo clippy --all-features 2023-03-01 22:33:56 -05:00
Steve Cook
daa1d86358 Fixes for all features 2023-03-01 22:19:37 -05:00
Steve Cook
a9bc58108c Initial generics 2023-03-01 22:08:12 -05:00
Steve Cook
b561bd77c3 Update macro and cargo fmt 2023-03-01 13:43:21 -05:00
Steve Cook
51fcc98b34 Merge branch 'main' into thiserror
# Conflicts:
#	src/aztec/decoder.rs
#	src/datamatrix/decoder/decoded_bit_stream_parser.rs
2023-03-01 13:39:30 -05:00
Henry Schimke
f450c6e0f7 cargo clippy --fix 2023-03-01 10:50:52 -06:00
Henry Schimke
42efbb397d move maxicode detector to Point 2023-03-01 10:47:31 -06:00
SteveCookTU
35eb716813 Remove #[allow(non_upper_case_globals)] 2023-02-22 00:56:04 -05:00
Steve Cook
f8b29f37db Use thiserror for error handling with less boilerplate 2023-02-20 09:41:28 -05:00
Vukašin Stepanović
c77f0af6f6 remove unnecessary number suffixes 2023-02-17 16:12:23 +00:00
Vukašin Stepanović
4c9987425d Merge branch 'main' into pr/point_refactor 2023-02-16 16:43:24 +00:00
Vukašin Stepanović
1322f7defa remove impl ResultPoint for FinderPattern & AlignmentPattern 2023-02-16 16:33:22 +00:00
Vukašin Stepanović
072d3d0ec7 change PointCallback to accept Point instead of ResultPoint 2023-02-16 16:20:58 +00:00
Vukašin Stepanović
0992e85e6c remove ResultPoint trait uses of Point
Point already has `x` and `y` properties, so accessing
them with `getX()` and `getY()` is needlessly verbose.
These calls have been removed, though the trait impl is
still presen for the time being, since the OneDReader
proc macro requires it.
2023-02-16 15:54:07 +00:00
Vukašin Stepanović
9889555b02 refactor ResultPoint trait bounds into Into<Point> bounds 2023-02-16 15:19:35 +00:00
Vukašin Stepanović
00f007f14c refactor orderBestPatterns to not use ResultPoint 2023-02-16 15:10:33 +00:00
Vukašin Stepanović
41150a8f8b re-add RXingResultPointCallback for backwards-compat 2023-02-16 15:02:30 +00:00
Vukašin Stepanović
3881df6672 Remove result_point_utils::distance() 2023-02-16 12:50:24 +00:00
Vukašin Stepanović
39b4866e47 add point(x: f32, y: f32) function
Shorter than writing `Point::new`
2023-02-16 11:20:03 +00:00
Vukašin Stepanović
868a9b26de remove MathUtils module 2023-02-16 09:38:37 +00:00
Vukašin Stepanović
71128a81bc remove MathUtils::round() 2023-02-16 09:37:21 +00:00
Vukašin Stepanović
79d9b28d19 remove MathUtils::distance() 2023-02-16 09:28:22 +00:00
Vukašin Stepanović
844ffc3b81 cargo fmt 2023-02-16 08:40:57 +00:00
Vukašin Stepanović
05e377e85b add aliases so the OneDReader proc macro compiles
Currently it's not possible to rename RXingResultPoint
to Point cleanly, since the external OneDReader proc macro
makes use of them. For the time being, simple aliases
are introduced to get the code to compile, but the plan
is to remove them at a later point.
2023-02-16 08:31:35 +00:00
Vukašin Stepanović
dbc6ca4e55 wip: Search & replace RXingResultPoint with Point
Build fails because the OneDReader proc macro expects
that a RXingResultPoint type exists.
2023-02-16 08:25:32 +00:00
Vukašin Stepanović
15280d5f98 Merge branch 'main' into pr/point_refactor 2023-02-16 07:19:36 +00:00