simd-blit 1.0.1

Alpha Compositing & SSAA, optionally using SIMD
Documentation
//! Alpha Compositing & SSAA, optionally using SIMD
//!
//! If you want this crate to use SIMD, activate the `simd` feature;
//! You will need a nightly toolchain for this to work, however.
//!
//! If the feature is disabled, a sequential implementation is also provided.

#![no_std]
#![cfg_attr(feature = "simd", feature(portable_simd))]

use rgb::RGBA8;

#[cfg_attr(feature = "simd", path = "simd.rs")]
#[cfg_attr(not(feature = "simd"), path = "sequential.rs")]
mod implementation;

#[doc(inline)]
pub use implementation::*;

/// Trait for 2D-sized & indexed pixel storage
pub trait PixelArray {
    fn get   (&self, index: usize) -> RGBA8;
    fn width (&self) -> usize;
    fn height(&self) -> usize;
    fn length(&self) -> usize;
    fn bytes_per_pixel() -> usize;
    fn has_alpha() -> bool;
}