#![cfg_attr(not(feature = "std"), no_std)]
#![cfg_attr(not(feature = "pretty-safe"), forbid(unsafe_code))]
#[cfg(not(feature = "std"))]
extern crate alloc;
whereat::define_at_crate_info!();
pub(crate) mod blur;
pub(crate) mod color;
pub mod composite;
#[doc(hidden)]
pub mod filter;
pub(crate) mod pixel;
pub mod plane;
pub(crate) mod resize;
pub(crate) mod streaming;
pub(crate) mod transfer;
#[doc(hidden)]
pub mod weights;
#[allow(dead_code)] pub(crate) mod working;
#[doc(hidden)]
#[allow(clippy::excessive_precision)]
pub mod fastmath;
mod proven;
#[doc(hidden)]
pub mod simd;
pub use zenpixels::{AlphaMode, ChannelLayout, ChannelType, PixelDescriptor, TransferFunction};
pub use filter::Filter;
pub use pixel::{Element, LobeRatio, Padding, ResizeConfig, ResizeConfigBuilder, SourceRegion};
pub use plane::PlaneResizer;
pub use resize::Resizer;
pub use streaming::{OrientOutput, StreamingError, StreamingResize, WorkingFormat};
pub use composite::{
Background, BlendMode, CompositeError, NoBackground, SliceBackground, SolidBackground,
StreamedBackground, composite_over_premul, composite_over_solid_opaque_premul,
composite_over_solid_premul, unpremultiply_f32_row,
};
pub use zenblend::mask::{
LinearGradientMask, MaskFill, MaskSource, MaskSpan, MaskSpans, RadialGradientMask,
RoundedRectMask, SpanKind, mask_pixel_align,
};
pub use resize::{
resize_3ch, resize_4ch, resize_gray8, resize_hfirst_streaming, resize_hfirst_streaming_f32,
};
pub use transfer::{Bt709, Hlg, NoTransfer, Pq, Srgb, TransferCurve};
pub use whereat::{At, ResultAtExt};