Commit Graph
20 Commits
Author SHA1 Message Date
Andrew Champion eadec8f0b9 Remove most unchecked size/index casts
Convert most unchecked size/index `as` casts to checked casts with
`TryFrom`, included another top-level error variant.

This has several motivations:
- Making the library as robust as possible, including to platform
differences.
- Unchecked casts are susceptible to breakage during refactorings.
- Preparing for BigTIFF support, which will require the introduction of
generics and associated types for some parts of the de/encoders.
Unchecked primitive casts cannot be bound, while TryFrom can, and
overflowing conversions become more likely.
- Remaining u16 casts may be prone in failure in existing practice and
not just in theory during future changes.
2019-12-21 15:57:24 +00:00
Andrew Champion f92be13f6c Factor tags into own module
Tag representations are not decoder- or encoder-specific, so should live
in their own module accessible to both for reuse. The decoder::ifd
module remains since this module is mainly dedicated to decoding the
IFD.
2019-12-21 15:57:24 +00:00
Andrew Champion 959254aee9 Deduplicate encoding tests
Also removes dev dependency on tempfile.
2019-12-21 15:12:25 +00:00
Andrew Champion 8c4cea5d97 Support 64-bit encoding
Note that this adds the LONG8 data type from BigTIFF because of bounds
requiring TiffValue. However, this datatype should not actually be
written to tags.
2019-12-10 20:18:53 +00:00
Andrew Champion af010edcfd Support 32-bit encoding 2019-12-10 20:18:53 +00:00
Andrew Champion f32b3b9d10 Fix warnings in encoding test 2019-12-10 20:18:53 +00:00
Onno Kammeraad fd789dc420 Cursor::new(Vec::new()) requires a &mut instead of just & 2019-11-12 13:09:09 +01:00
OnnoandHeroicKatora f70447325e Update tests/encode_images.rs
Co-Authored-By: HeroicKatora <HeroicKatora@users.noreply.github.com>
2019-11-12 10:40:19 +01:00
Onno Kammeraad b2eb480c44 add multipage testcase, to validate the multipage image handling 2019-11-12 09:44:27 +01:00
Dustin Thomson 30eb8487a6 Signed value support
Add support for SBYTE, SSHORT, SLONG, SRATIONAL as per the Tiff 6.0 spec
Add support for multiple BYTE
2019-08-14 21:22:56 -06:00
Andrew Champion 334759b08d Remove several panics in write_image
Closes #35.
2019-04-25 20:03:29 +02:00
Atul Bhosale 522fbd1a69 Format code using 'cargo fmt' 2019-04-18 00:04:43 +05:30
Birk Tjelmeland de18d446f2 Fix error in encoder tests 2019-02-27 17:23:19 +01:00
Birk Tjelmeland b0d7ac9cbf Add documentation and reorganize 2019-02-09 21:53:11 +01:00
Birk Tjelmeland 9ca445a5eb Add roundtrip tests 2019-02-09 20:58:28 +01:00
Birk Tjelmeland fa540dbad6 Add more colortypes 2019-02-09 20:53:11 +01:00
Birk Tjelmeland 503c4d29ed Add function to write entire image 2019-02-09 20:40:25 +01:00
Birk Tjelmeland fb233771b5 Fix small errors and clean up 2019-02-09 20:36:40 +01:00
Birk Tjelmeland f38c3f9c4a Clean up api 2019-02-09 02:11:01 +01:00
Birk Tjelmeland 6ccca781c3 Create encode test 2019-01-31 21:32:14 +01:00