#[non_exhaustive]#[repr(u32)]pub enum ScanType {
Progressive = 1,
Interlaced = 0,
Field0 = 2,
Field1 = 3,
}Expand description
Video scan type (progressive, interlaced, or field-based).
This enum describes how video frames are scanned/displayed. Most modern content uses Progressive, while legacy broadcast may use Interlaced or field-based formats.
This enum is marked #[non_exhaustive] to allow future NDI SDK versions to add new scan types
without breaking existing code. Always use a wildcard pattern when matching.
§Examples
use grafton_ndi::ScanType;
let scan = ScanType::Progressive;
// When matching, always include a wildcard for forward compatibility
match scan {
ScanType::Progressive => println!("Progressive scan"),
ScanType::Interlaced => println!("Interlaced"),
_ => println!("Field-based or other"),
}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.
Progressive = 1
Progressive scan - full frames rendered sequentially.
Interlaced = 0
Interlaced scan - alternating even/odd lines.
Field0 = 2
Field 0 only (first field of interlaced content).
Field1 = 3
Field 1 only (second field of interlaced content).
Trait Implementations§
impl Copy for ScanType
impl Eq for ScanType
impl StructuralPartialEq for ScanType
Auto Trait Implementations§
impl Freeze for ScanType
impl RefUnwindSafe for ScanType
impl Send for ScanType
impl Sync for ScanType
impl Unpin for ScanType
impl UnsafeUnpin for ScanType
impl UnwindSafe for ScanType
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
Mutably borrows from an owned value. Read more