IODisplayTimingRangeV1

Struct IODisplayTimingRangeV1 

Source
#[repr(C)]
pub struct IODisplayTimingRangeV1 {
Show 60 fields pub version: u32, pub minPixelClock: u64, pub maxPixelClock: u64, pub maxPixelError: u32, pub supportedSyncFlags: u32, pub supportedSignalLevels: u32, pub supportedSignalConfigs: u32, pub minFrameRate: u32, pub maxFrameRate: u32, pub minLineRate: u32, pub maxLineRate: u32, pub maxHorizontalTotal: u32, pub maxVerticalTotal: u32, pub charSizeHorizontalActive: u8, pub charSizeHorizontalBlanking: u8, pub charSizeHorizontalSyncOffset: u8, pub charSizeHorizontalSyncPulse: u8, pub charSizeVerticalActive: u8, pub charSizeVerticalBlanking: u8, pub charSizeVerticalSyncOffset: u8, pub charSizeVerticalSyncPulse: u8, pub charSizeHorizontalBorderLeft: u8, pub charSizeHorizontalBorderRight: u8, pub charSizeVerticalBorderTop: u8, pub charSizeVerticalBorderBottom: u8, pub charSizeHorizontalTotal: u8, pub charSizeVerticalTotal: u8, pub minHorizontalActiveClocks: u32, pub maxHorizontalActiveClocks: u32, pub minHorizontalBlankingClocks: u32, pub maxHorizontalBlankingClocks: u32, pub minHorizontalSyncOffsetClocks: u32, pub maxHorizontalSyncOffsetClocks: u32, pub minHorizontalPulseWidthClocks: u32, pub maxHorizontalPulseWidthClocks: u32, pub minVerticalActiveClocks: u32, pub maxVerticalActiveClocks: u32, pub minVerticalBlankingClocks: u32, pub maxVerticalBlankingClocks: u32, pub minVerticalSyncOffsetClocks: u32, pub maxVerticalSyncOffsetClocks: u32, pub minVerticalPulseWidthClocks: u32, pub maxVerticalPulseWidthClocks: u32, pub minHorizontalBorderLeft: u32, pub maxHorizontalBorderLeft: u32, pub minHorizontalBorderRight: u32, pub maxHorizontalBorderRight: u32, pub minVerticalBorderTop: u32, pub maxVerticalBorderTop: u32, pub minVerticalBorderBottom: u32, pub maxVerticalBorderBottom: u32, pub maxNumLinks: u32, pub minLink0PixelClock: u32, pub maxLink0PixelClock: u32, pub minLink1PixelClock: u32, pub maxLink1PixelClock: u32, pub supportedPixelEncoding: u16, pub supportedBitsPerColorComponent: u16, pub supportedColorimetryModes: u16, pub supportedDynamicRangeModes: u16, /* private fields */
}
Available on crate feature graphics only.
Expand description

A structure defining the limits and attributes of a display or framebuffer.

This structure is used to define the limits for modes programmed as detailed timings by the OS. The VESA EDID is useful background information for many of these fields. A data property with this structure under the key kIOFBTimingRangeKey in a framebuffer will allow the OS to program detailed timings that fall within its range. Field: __reservedA Set to zero. Field: version Set to zero. Field: __reservedB Set to zero. Field: minPixelClock minimum pixel clock frequency in range, in Hz. Field: minPixelClock maximum pixel clock frequency in range, in Hz. Field: maxPixelError largest variation between specified and actual pixel clock frequency, in Hz. Field: supportedSyncFlags mask of supported sync attributes. The following are defined:
kIORangeSupportsSeparateSyncs - digital separate syncs.
kIORangeSupportsSyncOnGreen - sync on green.
kIORangeSupportsCompositeSync - composite sync.
kIORangeSupportsVSyncSerration - vertical sync has serration and equalization pulses.
kIORangeSupportsVRR - variable refresh rate.
Field: supportedSignalLevels mask of possible signal levels. The following are defined:
kIORangeSupportsSignal_0700_0300 0.700 - 0.300 V p-p.
kIORangeSupportsSignal_0714_0286 0.714 - 0.286 V p-p.
kIORangeSupportsSignal_1000_0400 1.000 - 0.400 V p-p.
kIORangeSupportsSignal_0700_0000 0.700 - 0.000 V p-p.
Field: supportedSignalConfigs mask of possible signal configurations. The following are defined:
kIORangeSupportsInterlacedCEATiming Supports CEA style interlaced timing:
Field 1 vertical blanking = specified vertical blanking lines.
Field 2 vertical blanking = vertical blanking lines + 1 line.
Field 1 vertical offset = specified vertical sync offset.
Field 2 vertical offset = specified vertical sync offset + 0.5 lines.
kIORangeSupportsInterlacedCEATimingWithConfirm Supports CEA style interlaced timing, but require a confirm. Field: minFrameRate minimum frame rate (vertical refresh frequency) in range, in Hz. Field: maxFrameRate maximum frame rate (vertical refresh frequency) in range, in Hz. Field: minLineRate minimum line rate (horizontal refresh frequency) in range, in Hz. Field: maxLineRate maximum line rate (horizontal refresh frequency) in range, in Hz. Field: maxHorizontalTotal maximum clocks in horizontal line (active + blanking). Field: maxVerticalTotal maximum lines in vertical frame (active + blanking). Field: __reservedD Set to zero. Field: charSizeHorizontalActive horizontalActive must be a multiple of charSizeHorizontalActive. Field: charSizeHorizontalBlanking horizontalBlanking must be a multiple of charSizeHorizontalBlanking. Field: charSizeHorizontalSyncOffset horizontalSyncOffset must be a multiple of charSizeHorizontalSyncOffset. Field: charSizeHorizontalSyncPulse horizontalSyncPulse must be a multiple of charSizeHorizontalSyncPulse. Field: charSizeVerticalActive verticalActive must be a multiple of charSizeVerticalActive. Field: charSizeVerticalBlanking verticalBlanking must be a multiple of charSizeVerticalBlanking. Field: charSizeVerticalSyncOffset verticalSyncOffset must be a multiple of charSizeVerticalSyncOffset. Field: charSizeVerticalSyncPulse verticalSyncPulse must be a multiple of charSizeVerticalSyncPulse. Field: charSizeHorizontalBorderLeft horizontalBorderLeft must be a multiple of charSizeHorizontalBorderLeft. Field: charSizeHorizontalBorderRight horizontalBorderRight must be a multiple of charSizeHorizontalBorderRight. Field: charSizeVerticalBorderTop verticalBorderTop must be a multiple of charSizeVerticalBorderTop. Field: charSizeVerticalBorderBottom verticalBorderBottom must be a multiple of charSizeVerticalBorderBottom. Field: charSizeHorizontalTotal (horizontalActive + horizontalBlanking) must be a multiple of charSizeHorizontalTotal. Field: charSizeVerticalTotal (verticalActive + verticalBlanking) must be a multiple of charSizeVerticalTotal. Field: __reservedE Set to zero. Field: minHorizontalActiveClocks minimum value of horizontalActive. Field: maxHorizontalActiveClocks maximum value of horizontalActive. Field: minHorizontalBlankingClocks minimum value of horizontalBlanking. Field: maxHorizontalBlankingClocks maximum value of horizontalBlanking. Field: minHorizontalSyncOffsetClocks minimum value of horizontalSyncOffset. Field: maxHorizontalSyncOffsetClocks maximum value of horizontalSyncOffset. Field: minHorizontalPulseWidthClocks minimum value of horizontalPulseWidth. Field: maxHorizontalPulseWidthClocks maximum value of horizontalPulseWidth. Field: minVerticalActiveClocks minimum value of verticalActive. Field: maxVerticalActiveClocks maximum value of verticalActive. Field: minVerticalBlankingClocks minimum value of verticalBlanking. Field: maxVerticalBlankingClocks maximum value of verticalBlanking. Field: minVerticalSyncOffsetClocks minimum value of verticalSyncOffset. Field: maxVerticalSyncOffsetClocks maximum value of verticalSyncOffset. Field: minVerticalPulseWidthClocks minimum value of verticalPulseWidth. Field: maxVerticalPulseWidthClocks maximum value of verticalPulseWidth. Field: minHorizontalBorderLeft minimum value of horizontalBorderLeft. Field: maxHorizontalBorderLeft maximum value of horizontalBorderLeft. Field: minHorizontalBorderRight minimum value of horizontalBorderRight. Field: maxHorizontalBorderRight maximum value of horizontalBorderRight. Field: minVerticalBorderTop minimum value of verticalBorderTop. Field: maxVerticalBorderTop maximum value of verticalBorderTop. Field: minVerticalBorderBottom minimum value of verticalBorderBottom. Field: maxVerticalBorderBottom maximum value of verticalBorderBottom. Field: maxNumLinks number of links supported, if zero, 1 link is assumed. Field: minLink0PixelClock minimum pixel clock for link 0 (kHz). Field: maxLink0PixelClock maximum pixel clock for link 0 (kHz). Field: minLink1PixelClock minimum pixel clock for link 1 (kHz). Field: maxLink1PixelClock maximum pixel clock for link 1 (kHz). Field: supportedPixelEncoding 2017 Timing Features - ERS 2-58 (6.3.1) Field: supportedBitsPerColorComponent 2017 Timing Features - ERS 2-58 (6.3.1) Field: supportedColorimetry 2017 Timing Features - ERS 2-58 (6.3.1) Field: supportedDynamicRange 2017 Timing Features - ERS 2-58 (6.3.1) Field: __reservedF Set to zero.

See also Apple’s documentation

Fields§

§version: u32§minPixelClock: u64§maxPixelClock: u64§maxPixelError: u32§supportedSyncFlags: u32§supportedSignalLevels: u32§supportedSignalConfigs: u32§minFrameRate: u32§maxFrameRate: u32§minLineRate: u32§maxLineRate: u32§maxHorizontalTotal: u32§maxVerticalTotal: u32§charSizeHorizontalActive: u8§charSizeHorizontalBlanking: u8§charSizeHorizontalSyncOffset: u8§charSizeHorizontalSyncPulse: u8§charSizeVerticalActive: u8§charSizeVerticalBlanking: u8§charSizeVerticalSyncOffset: u8§charSizeVerticalSyncPulse: u8§charSizeHorizontalBorderLeft: u8§charSizeHorizontalBorderRight: u8§charSizeVerticalBorderTop: u8§charSizeVerticalBorderBottom: u8§charSizeHorizontalTotal: u8§charSizeVerticalTotal: u8§minHorizontalActiveClocks: u32§maxHorizontalActiveClocks: u32§minHorizontalBlankingClocks: u32§maxHorizontalBlankingClocks: u32§minHorizontalSyncOffsetClocks: u32§maxHorizontalSyncOffsetClocks: u32§minHorizontalPulseWidthClocks: u32§maxHorizontalPulseWidthClocks: u32§minVerticalActiveClocks: u32§maxVerticalActiveClocks: u32§minVerticalBlankingClocks: u32§maxVerticalBlankingClocks: u32§minVerticalSyncOffsetClocks: u32§maxVerticalSyncOffsetClocks: u32§minVerticalPulseWidthClocks: u32§maxVerticalPulseWidthClocks: u32§minHorizontalBorderLeft: u32§maxHorizontalBorderLeft: u32§minHorizontalBorderRight: u32§maxHorizontalBorderRight: u32§minVerticalBorderTop: u32§maxVerticalBorderTop: u32§minVerticalBorderBottom: u32§maxVerticalBorderBottom: u32§maxNumLinks: u32§minLink0PixelClock: u32§maxLink0PixelClock: u32§minLink1PixelClock: u32§maxLink1PixelClock: u32§supportedPixelEncoding: u16§supportedBitsPerColorComponent: u16§supportedColorimetryModes: u16§supportedDynamicRangeModes: u16

Trait Implementations§

Source§

impl Clone for IODisplayTimingRangeV1

Source§

fn clone(&self) -> IODisplayTimingRangeV1

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 IODisplayTimingRangeV1

Source§

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

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

impl Encode for IODisplayTimingRangeV1

Available on crate feature objc2 only.
Source§

const ENCODING: Encoding

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

impl PartialEq for IODisplayTimingRangeV1

Source§

fn eq(&self, other: &IODisplayTimingRangeV1) -> 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 IODisplayTimingRangeV1

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 IODisplayTimingRangeV1

Source§

impl StructuralPartialEq for IODisplayTimingRangeV1

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,