Skip to main content

DisplayStrategy

Trait DisplayStrategy 

Source
pub trait DisplayStrategy<P: Copy> {
    // Required method
    fn to_display(&self, pixel: &P) -> Srgba8;
}
Expand description

Named conversion from any pixel type to Srgba8 for display.

This follows fovea Philosophy #4: conversions are named, data loss never happens silently. Every pixel type requires an explicit strategy to become displayable.

The output is always Srgba8 because displays are sRGB devices.

§Design note

This is intentionally separate from ConvertPixel<P, Srgba8>. See the TODO.md “Why not reuse ConvertPixel?” section for rationale.

Required Methods§

Source

fn to_display(&self, pixel: &P) -> Srgba8

Convert a single pixel to display-ready Srgba8.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl DisplayStrategy<Bgr8> for LinearToDisplay

Source§

impl DisplayStrategy<Bgra8> for LinearToDisplay

Source§

impl DisplayStrategy<Mono8> for AutoContrast

Source§

impl DisplayStrategy<Mono8> for FixedRange

Source§

impl DisplayStrategy<Mono8> for LinearToDisplay

Source§

impl DisplayStrategy<Mono16> for AutoContrast

Source§

impl DisplayStrategy<Mono16> for FixedRange

Source§

impl DisplayStrategy<Mono32> for AutoContrast

Source§

impl DisplayStrategy<Mono32> for FixedRange

Source§

impl DisplayStrategy<Mono64> for AutoContrast

Source§

impl DisplayStrategy<Mono64> for FixedRange

Source§

impl DisplayStrategy<MonoF32> for AutoContrast

Source§

impl DisplayStrategy<MonoF32> for LinearToDisplay

Source§

impl DisplayStrategy<MonoF64> for AutoContrast

Source§

impl DisplayStrategy<MonoF64> for LinearToDisplay

Source§

impl DisplayStrategy<Rgb8> for LinearToDisplay

Source§

impl DisplayStrategy<RgbF32> for LinearToDisplay

Source§

impl DisplayStrategy<Rgba8> for LinearToDisplay

Source§

impl DisplayStrategy<RgbaF32> for LinearToDisplay

Source§

impl DisplayStrategy<Srgb8> for Identity

Source§

impl DisplayStrategy<SrgbMono8> for Identity

Source§

impl DisplayStrategy<SrgbMonoA8> for Identity

Source§

impl DisplayStrategy<Srgba8> for Identity

Source§

impl DisplayStrategy<f32> for AutoContrast

Source§

impl DisplayStrategy<f32> for FixedRange

Source§

impl DisplayStrategy<f32> for LinearToDisplay

Source§

impl DisplayStrategy<f64> for AutoContrast

Source§

impl DisplayStrategy<f64> for FixedRange

Source§

impl DisplayStrategy<u8> for AutoContrast

Source§

impl DisplayStrategy<u8> for FixedRange

Source§

impl DisplayStrategy<u16> for AutoContrast

Source§

impl DisplayStrategy<u16> for FixedRange

Source§

impl<const BITS: usize> DisplayStrategy<Mono<BITS>> for AutoContrast

Source§

impl<const BITS: usize> DisplayStrategy<Mono<BITS>> for FixedRange