#[non_exhaustive]pub enum DisplayTechnology {
Unspecified,
Amlcd,
Amoled,
#[non_exhaustive] Other(u8),
}Expand description
Display technology family, decoded from byte 10 of DisplayID 2.x block 0x21.
Unknown byte values are preserved via DisplayTechnology::Other so a spec-defined
future value (e.g. LCoS, microLED) does not make the containing block un-decodable.
Other is #[non_exhaustive] and cannot be constructed outside this crate; use
from_byte (which canonicalises known bytes) or other
(which rejects known bytes) so that every value satisfies the invariant
from_byte(t.as_byte()) == t.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Unspecified
Not specified (byte value 0x00).
Amlcd
Active-matrix LCD (byte value 0x01).
Amoled
Active-matrix OLED (byte value 0x02).
#[non_exhaustive]Other(u8)
Implementations§
Source§impl DisplayTechnology
impl DisplayTechnology
Sourcepub fn from_byte(b: u8) -> Self
pub fn from_byte(b: u8) -> Self
Decodes the raw byte 10 value, mapping known bytes to their named variant.
Sourcepub fn other(b: u8) -> Option<Self>
pub fn other(b: u8) -> Option<Self>
Constructs an Other(b) for a non-canonical byte value.
Returns None for 0x00, 0x01, and 0x02 — those bytes have named variants
and constructing Other for them would break the round-trip invariant
from_byte(t.as_byte()) == t. Callers decoding raw EDID bytes should use
from_byte instead.