Merge TagReader and exposed IfdReader internals

Having the value reader itself take care of the bigtiff and limit
semantics is a little cleaner, with the TagReader being responsible
for the interface of grabbing specific types of IFD values.
This commit is contained in:
A. Molzer committed 2025-07-11 15:09:31 +02:00
1 parent f021e3e599
commit e62cdfbf42
3 files changed
+42 -53

No files matched your search

+2 -13
View File
@@ -82,21 +82,10 @@ pub(crate) struct Image {
impl Image {
pub fn from_reader<R: Read + Seek>(
reader: &mut ValueReader<R>,
decoder: &mut ValueReader<R>,
ifd: Directory,
) -> TiffResult<Image> {
let ValueReader {
reader,
bigtiff,
limits,
} = reader;
let mut tag_reader = TagReader {
reader,
limits,
ifd: &ifd,
bigtiff: *bigtiff,
};
let mut tag_reader = TagReader { decoder, ifd: &ifd };
let width = tag_reader.require_tag(Tag::ImageWidth)?.into_u32()?;
let height = tag_reader.require_tag(Tag::ImageLength)?.into_u32()?;