Skip to main content

StereoViewingMethodV2

Enum StereoViewingMethodV2 

Source
#[non_exhaustive]
pub enum StereoViewingMethodV2 { FieldSequential { eye_on_high_half: StereoEye, }, SideBySide { left_half: StereoEye, }, PixelInterleaved { pattern: [u8; 8], }, DualInterface { eye: StereoEye, mirroring: DualInterfaceMirroring, }, MultiView { view_count: u8, interleaving_method_code: u8, }, StackedFrame { top_half: StereoEye, }, Proprietary, Reserved(u8), }
Expand description

Stereo viewing method advertised by a DisplayID 2.x Stereo Display Interface block (0x27).

Each variant carries the method-specific parameters. Method codes that are reserved by the spec are surfaced as StereoViewingMethodV2::Reserved with the raw method byte.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

FieldSequential

Method 0x00 — Field-sequential stereo. eye_on_high_half identifies which eye view is delivered during the HIGH half of the sync signal; the other eye is delivered during the LOW half. Right corresponds to payload bit 0 = 1 (spec wording “L/R polarity 1”), Left to bit 0 = 0 (“L/R polarity 0”).

Fields

§eye_on_high_half: StereoEye

Eye view delivered during the HIGH half of the sync signal.

§

SideBySide

Method 0x01 — Side-by-side stereo. left_half indicates which eye view occupies the left half of the frame.

Fields

§left_half: StereoEye

Eye view that occupies the left half of the frame.

§

PixelInterleaved

Method 0x02 — Pixel-interleaved stereo. The 8-byte pattern describes an 8×8 L/R pixel mask (bit set = Left, clear = Right). MSB of each byte is the leftmost pixel of that row.

Fields

§pattern: [u8; 8]

8×8 bitmap; row i, bit 7 − x selects whether pixel (x, i) is Left (1) or Right (0).

§

DualInterface

Method 0x03 — Dual-interface stereo. Each physical interface carries a single eye view; eye identifies which eye is delivered on this interface, and mirroring describes how the image is oriented.

Fields

§eye: StereoEye

Eye view delivered over this interface.

§mirroring: DualInterfaceMirroring

Mirroring applied to this interface’s image.

§

MultiView

Method 0x04 — Multi-view stereo. view_count is the number of views and interleaving_method_code is a vendor-defined identifier for how they interleave.

Fields

§view_count: u8

Number of distinct views in the multi-view configuration.

§interleaving_method_code: u8

Vendor-defined identifier describing how the views interleave.

§

StackedFrame

Method 0x05 — Stacked-frame stereo (top/bottom). top_half indicates which eye view occupies the top half of the frame.

Fields

§top_half: StereoEye

Eye view that occupies the top half of the frame.

§

Proprietary

Method 0xFF — Proprietary / vendor-defined.

§

Reserved(u8)

Method codes reserved by the DisplayID 2.x specification (0x06–0xFE).

Trait Implementations§

Source§

impl Clone for StereoViewingMethodV2

Source§

fn clone(&self) -> StereoViewingMethodV2

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for StereoViewingMethodV2

Source§

impl Debug for StereoViewingMethodV2

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for StereoViewingMethodV2

Source§

impl PartialEq for StereoViewingMethodV2

Source§

fn eq(&self, other: &StereoViewingMethodV2) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for StereoViewingMethodV2

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> ExtensionData for T
where T: Any + Debug + Send + Sync,

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Returns self as &dyn Any to enable downcasting.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.