#[non_exhaustive]pub enum OrientationPolicy {
ExifOnly,
MakerNotePreferred,
MakerNoteWhenExifNormal,
CanonAutoRotateAware,
}Expand description
How the standard and vendor orientation records of a camera are combined.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
ExifOnly
Only the standard tag is used; vendor records are informational.
MakerNotePreferred
The vendor record wins whenever it is present.
MakerNoteWhenExifNormal
The vendor record is used when the standard tag is Normal, missing or invalid (for cameras that only write the rotation into the vendor record).
CanonAutoRotateAware
Canon: the camera writes the standard tag from its orientation sensor only when its Auto Rotate setting is on, and always records the sensor in the MakerNote (CameraOrientation). A Normal standard tag is therefore what the camera chose unless the recorded Auto Rotate setting says it was on; the MakerNote replaces the standard tag only when that tag is missing or invalid, or when Auto Rotate was on and the tag still says Normal.
Implementations§
Trait Implementations§
Source§impl Clone for OrientationPolicy
impl Clone for OrientationPolicy
impl Copy for OrientationPolicy
Source§impl Debug for OrientationPolicy
impl Debug for OrientationPolicy
Source§impl Default for OrientationPolicy
impl Default for OrientationPolicy
impl Eq for OrientationPolicy
Source§impl Hash for OrientationPolicy
impl Hash for OrientationPolicy
Source§impl PartialEq for OrientationPolicy
impl PartialEq for OrientationPolicy
impl StructuralPartialEq for OrientationPolicy
Auto Trait Implementations§
impl Freeze for OrientationPolicy
impl RefUnwindSafe for OrientationPolicy
impl Send for OrientationPolicy
impl Sync for OrientationPolicy
impl Unpin for OrientationPolicy
impl UnsafeUnpin for OrientationPolicy
impl UnwindSafe for OrientationPolicy
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more