KAMADA Ken'ichi
6c3ddddc96
Remove an empty line.
2019-04-13 19:45:00 +09:00
KAMADA Ken'ichi
e1e4800eea
Implement From<(u32, u32)> for Rational and i32 version for SRational.
2019-04-12 23:35:28 +09:00
KAMADA Ken'ichi
437b1a1750
Eliminate unnecessary use of format! macro.
...
- Use Display::to_string in tests for conciseness.
- panic! directly takes format!-like arguments.
2019-04-09 23:11:05 +09:00
KAMADA Ken'ichi
2ffa449d9d
Support displaying a value with its unit.
...
- Field::display_value and DisplayValue::with_unit were introduced.
- The string "centimeter" was changed to "cm" for consistency
with "m", "mm", and "km".
- F-number was changed to be prefixed by "f/" only when with_unit() is
called, though it is actually not a unit.
2019-04-07 21:11:14 +09:00
KAMADA Ken'ichi
eb4723a8a9
Migrate to Rust 2018.
2019-04-01 21:11:54 +09:00
KAMADA Ken'ichi
56106534cd
Remove the deprecated tag module.
2019-03-31 23:50:04 +09:00
kpcyrd
288a7e85c5
Remove some usage of unsafe rust
2019-03-17 23:55:10 +09:00
KAMADA Ken'ichi
bbca6ea229
Use {f32,f64}::{from_bits,to_bits} instead of unsafe transmute.
...
These APIs were stabilized in Rust 1.20.0.
2018-04-20 22:16:21 +09:00
KAMADA Ken'ichi
d882dce9a0
Update documentation and doc-tests.
2018-01-13 23:33:45 +09:00
KAMADA Ken'ichi
26a64361b3
Add `Tag::TagName`s and deprecate `tag::TagName`s.
2017-10-12 22:55:56 +09:00
KAMADA Ken'ichi
078bfcdc78
Add the 2nd member to Value::Undefined to keep the offset of the value.
2017-08-04 21:15:19 +09:00
KAMADA Ken'ichi
f0a9297579
Add Value::iter_uint().
2017-07-11 23:33:14 +09:00
KAMADA Ken'ichi
5a540228c3
Implement the body of Value::display_as().
2017-06-17 21:57:38 +09:00
KAMADA Ken'ichi
7c61ddf3f9
Add Value::get_uint() to handle BYTE, SHORT, and LONG transparently.
2017-06-17 21:47:27 +09:00
KAMADA Ken'ichi
065276d5a1
Add converters from Rational/SRational to f64/f32.
...
- Rational::to_f64() and SRational::to_f64().
- From<Rational> and From<SRational> traits for f64 and f32.
2017-06-14 23:28:20 +09:00
KAMADA Ken'ichi
94e62181eb
Derive Copy and Clone traits for Rational and SRational.
2017-06-14 23:23:53 +09:00
KAMADA Ken'ichi
0d9551af0f
Add a struct for displaying a value in a tag-specific way.
2017-05-11 23:19:16 +09:00
KAMADA Ken'ichi
91ce94844c
Implement std::fmt::Display for Rational and SRational.
2017-04-08 20:21:54 +09:00
KAMADA Ken'ichi
81b5efa7aa
Cleanup imports and require Rust 1.15.
2017-03-24 23:09:22 +09:00
KAMADA Ken'ichi
7f66863d84
Add Tag.default_value().
2017-03-24 22:46:26 +09:00
KAMADA Ken'ichi
61d78aa197
Test parsing an unknown field.
2017-03-14 21:53:48 +09:00
KAMADA Ken'ichi
b66b47d1fd
More tests on out-of-range accesses around unsafe code.
2017-03-12 19:16:00 +09:00
KAMADA Ken'ichi
4f2e54a6b9
Parse an empty ASCII field into an empty Vec.
...
The previous behavior was chosen to ensure that value[0] is always
present, but it is inconsistent with that of other fields.
2017-03-12 19:13:21 +09:00
KAMADA Ken'ichi
2a0c4d9f61
Fix comments on Value variants.
2016-12-30 23:19:02 +09:00
KAMADA Ken'ichi
eaaad2418f
Parse DOUBLE fields.
2016-11-19 20:46:49 +09:00
KAMADA Ken'ichi
60b6455905
Parse FLOAT fields.
2016-11-19 20:43:41 +09:00
KAMADA Ken'ichi
2bb71cfefb
Parse SRATIONAL fields.
2016-11-19 20:28:17 +09:00
KAMADA Ken'ichi
0741492615
Parse SLONG fields.
2016-11-19 20:21:08 +09:00
KAMADA Ken'ichi
4acfa58e44
Parse SSHORT fields.
2016-11-19 20:16:49 +09:00
KAMADA Ken'ichi
2612b22d54
Parse UNDEFINED fields.
2016-11-19 20:10:12 +09:00
KAMADA Ken'ichi
471f9394c4
Parse SBYTE fields.
2016-11-17 21:32:17 +09:00
KAMADA Ken'ichi
3788c45482
Parse RATIONAL fields.
2016-11-17 21:14:07 +09:00
KAMADA Ken'ichi
e84675d5a7
Parse LONG fields.
2016-11-17 21:03:34 +09:00
KAMADA Ken'ichi
111a2fd34c
Test unitlen more.
2016-11-16 23:16:53 +09:00
KAMADA Ken'ichi
a8620a1ff6
Pre-allocate a Vec since the count of a TIFF field value is known.
2016-11-16 23:13:29 +09:00
KAMADA Ken'ichi
6225236870
Adjust parse_ascii() tester to match with others.
2016-11-04 22:11:57 +09:00
KAMADA Ken'ichi
b86c74856c
Test parse_short().
2016-11-03 19:52:18 +09:00
KAMADA Ken'ichi
8bff68fccc
Implement and test parse_byte().
2016-11-03 19:49:10 +09:00
KAMADA Ken'ichi
6f9be2c2a9
Return a usize for the unit length from get_type_info().
2016-11-03 18:51:54 +09:00
KAMADA Ken'ichi
f99eae06ca
Test parse_ascii().
2016-10-27 20:53:07 +09:00
KAMADA Ken'ichi
3df4f323d7
An ASCII field may contain multiple strings.
2016-10-27 20:48:38 +09:00
KAMADA Ken'ichi
0e9512472c
Parse TIFF IFD structure.
2016-10-26 22:46:20 +09:00