IODetailedTimingInformationV2

Struct IODetailedTimingInformationV2 

Source
pub struct IODetailedTimingInformationV2 {
Show 37 fields pub horizontalScaledInset: u32, pub verticalScaledInset: u32, pub scalerFlags: u32, pub horizontalScaled: u32, pub verticalScaled: u32, pub signalConfig: u32, pub signalLevels: u32, pub pixelClock: u64, pub minPixelClock: u64, pub maxPixelClock: u64, pub horizontalActive: u32, pub horizontalBlanking: u32, pub horizontalSyncOffset: u32, pub horizontalSyncPulseWidth: u32, pub verticalActive: u32, pub verticalBlanking: u32, pub verticalSyncOffset: u32, pub verticalSyncPulseWidth: u32, pub horizontalBorderLeft: u32, pub horizontalBorderRight: u32, pub verticalBorderTop: u32, pub verticalBorderBottom: u32, pub horizontalSyncConfig: u32, pub horizontalSyncLevel: u32, pub verticalSyncConfig: u32, pub verticalSyncLevel: u32, pub numLinks: u32, pub verticalBlankingExtension: u32, pub pixelEncoding: u16, pub bitsPerColorComponent: u16, pub colorimetry: u16, pub dynamicRange: u16, pub dscCompressedBitsPerPixel: u16, pub dscSliceHeight: u16, pub dscSliceWidth: u16, pub verticalBlankingMaxStretchPerFrame: u16, pub verticalBlankingMaxShrinkPerFrame: u16, /* private fields */
}
Available on crate feature graphics only.
Expand description

A structure defining the detailed timing information of a display mode.

This structure is used by IOFramebuffer to define detailed timing information for a display mode. The VESA EDID document has more information. Field: __reservedA Set to zero. Field: horizontalScaledInset If the mode is scaled, sets the number of active pixels to remove the left and right edges in order to display an underscanned image. Field: verticalScaledInset If the mode is scaled, sets the number of active lines to remove the top and bottom edges in order to display an underscanned image. Field: scalerFlags If the mode is scaled, kIOScaleStretchToFit may be set to allow stretching. kIOScaleRotateFlags is mask which may have the value given by kIOScaleRotate90, kIOScaleRotate180, kIOScaleRotate270 to display a rotated framebuffer. Field: horizontalScaled If the mode is scaled, sets the size of the image before scaling or rotation. Field: verticalScaled If the mode is scaled, sets the size of the image before scaling or rotation. Field: signalConfig kIOAnalogSetupExpected set if display expects a blank-to-black setup or pedestal. See VESA signal standards.
kIOInterlacedCEATiming set for a CEA style interlaced timing:
Field 1 vertical blanking = half specified vertical blanking lines.
Field 2 vertical blanking = (half vertical blanking lines) + 1 line.
Field 1 vertical offset = half specified vertical sync offset.
Field 2 vertical offset = (half specified vertical sync offset) + 0.5 lines.
Field: signalLevels One of:
kIOAnalogSignalLevel_0700_0300 0.700 - 0.300 V p-p.
kIOAnalogSignalLevel_0714_0286 0.714 - 0.286 V p-p.
kIOAnalogSignalLevel_1000_0400 1.000 - 0.400 V p-p.
kIOAnalogSignalLevel_0700_0000 0.700 - 0.000 V p-p.
Field: pixelClock Pixel clock frequency in Hz. Field: minPixelClock Minimum pixel clock frequency in Hz, with error. Field: maxPixelClock Maximum pixel clock frequency in Hz, with error. Field: horizontalActive Pixel clocks per line. Field: horizontalBlanking Blanking clocks per line. Field: horizontalSyncOffset First clock of horizontal sync. Field: horizontalSyncPulseWidth Width of horizontal sync. Field: verticalActive Number of lines per frame. Field: verticalBlanking Blanking lines per frame. Field: verticalSyncOffset First line of vertical sync. Field: verticalSyncPulseWidth Height of vertical sync. Field: horizontalBorderLeft Number of pixels in left horizontal border. Field: horizontalBorderRight Number of pixels in right horizontal border. Field: verticalBorderTop Number of lines in top vertical border. Field: verticalBorderBottom Number of lines in bottom vertical border. Field: horizontalSyncConfig kIOSyncPositivePolarity for positive polarity horizontal sync (0 for negative). Field: horizontalSyncLevel Zero. Field: verticalSyncConfig kIOSyncPositivePolarity for positive polarity vertical sync (0 for negative). Field: verticalSyncLevel Zero. Field: numLinks number of links to be used by a dual link timing, if zero, assume one link. Field: verticalBlankingExtension maximum number of blanking extension lines that is available. (0 for none). Field: pixelEncoding 2017 Timing Features - ERS 2-58 (6.3.1) Field: bitsPerColorComponent 2017 Timing Features - ERS 2-58 (6.3.1) Field: colorimetry 2017 Timing Features - ERS 2-58 (6.3.1) Field: dynamicRange 2017 Timing Features - ERS 2-58 (6.3.1) Field: dscCompressedBitsPerPixel 2018 Timing Features - ERS 2-63 (6.3.1) Field: dscSliceHeight 2018 Timing Features - ERS 2-63 (6.3.1) Field: dscSliceWidth 2018 Timing Features - ERS 2-63 (6.3.1) Field: verticalBlankingMaxStretchPerFrame Max stretch time used for VRR refresh rate ramps Field: verticalBlankingMaxShrinkPerFrame Max shrink time used for VRR refresh rate ramps Field: __reservedB Reserved set to zero.

See also Apple’s documentation

Fields§

§horizontalScaledInset: u32§verticalScaledInset: u32§scalerFlags: u32§horizontalScaled: u32§verticalScaled: u32§signalConfig: u32§signalLevels: u32§pixelClock: u64§minPixelClock: u64§maxPixelClock: u64§horizontalActive: u32§horizontalBlanking: u32§horizontalSyncOffset: u32§horizontalSyncPulseWidth: u32§verticalActive: u32§verticalBlanking: u32§verticalSyncOffset: u32§verticalSyncPulseWidth: u32§horizontalBorderLeft: u32§horizontalBorderRight: u32§verticalBorderTop: u32§verticalBorderBottom: u32§horizontalSyncConfig: u32§horizontalSyncLevel: u32§verticalSyncConfig: u32§verticalSyncLevel: u32§numLinks: u32§verticalBlankingExtension: u32§pixelEncoding: u16§bitsPerColorComponent: u16§colorimetry: u16§dynamicRange: u16§dscCompressedBitsPerPixel: u16§dscSliceHeight: u16§dscSliceWidth: u16§verticalBlankingMaxStretchPerFrame: u16§verticalBlankingMaxShrinkPerFrame: u16

Trait Implementations§

Source§

impl Clone for IODetailedTimingInformationV2

Source§

fn clone(&self) -> IODetailedTimingInformationV2

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for IODetailedTimingInformationV2

Source§

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

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

impl Encode for IODetailedTimingInformationV2

Available on crate feature objc2 only.
Source§

const ENCODING: Encoding

The Objective-C type-encoding for this type.
Source§

impl PartialEq for IODetailedTimingInformationV2

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl RefEncode for IODetailedTimingInformationV2

Available on crate feature objc2 only.
Source§

const ENCODING_REF: Encoding

The Objective-C type-encoding for a reference of this type. Read more
Source§

impl Copy for IODetailedTimingInformationV2

Source§

impl StructuralPartialEq for IODetailedTimingInformationV2

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> EncodeArgument for T
where T: Encode,

Source§

const ENCODING_ARGUMENT: Encoding = T::ENCODING

The Objective-C type-encoding for this type.
Source§

impl<T> EncodeReturn for T
where T: Encode,

Source§

const ENCODING_RETURN: Encoding = T::ENCODING

The Objective-C type-encoding for this type.
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.
Source§

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