#![doc = include_str!("../README.md")]
#![warn(missing_docs)]
#![warn(unused_qualifications)]
#![deny(unreachable_pub)]
#![deny(deprecated)]
#![deny(missing_copy_implementations)]
#![cfg_attr(all(test, feature = "benchmarks"), feature(test))]
#![cfg_attr(docsrs, feature(doc_auto_cfg))]
#[cfg(all(test, feature = "benchmarks"))]
extern crate test;
#[cfg(test)]
#[macro_use]
extern crate quickcheck;
pub use crate::color::{ColorType, ExtendedColorType};
pub use crate::color::{Luma, LumaA, Rgb, Rgba};
pub use crate::error::{ImageError, ImageResult};
pub use crate::image::{
AnimationDecoder,
GenericImage,
GenericImageView,
ImageDecoder,
ImageDecoderRect,
ImageEncoder,
ImageFormat,
Pixels,
SubImage,
};
pub use crate::buffer_::{
GrayAlphaImage,
GrayImage,
ImageBuffer,
Rgb32FImage,
RgbImage,
Rgba32FImage,
RgbaImage,
};
pub use crate::flat::FlatSamples;
pub use crate::traits::{EncodableLayout, Pixel, PixelWithColorType, Primitive};
pub use crate::dynimage::{
image_dimensions, load_from_memory, load_from_memory_with_format, open, save_buffer,
save_buffer_with_format, write_buffer_with_format,
};
pub use crate::image_reader::free_functions::{guess_format, load};
pub use crate::image_reader::{ImageReader, LimitSupport, Limits};
pub use crate::dynimage::DynamicImage;
pub use crate::animation::{Delay, Frame, Frames};
pub mod error;
pub mod buffer {
pub use crate::buffer_::{
ConvertBuffer, EnumeratePixels, EnumeratePixelsMut, EnumerateRows, EnumerateRowsMut,
Pixels, PixelsMut, Rows, RowsMut,
};
#[cfg(feature = "rayon")]
pub use crate::buffer_par::*;
}
pub mod math;
pub mod imageops;
pub mod flat;
pub mod codecs {
#[cfg(any(feature = "avif", feature = "avif-native"))]
pub mod avif;
#[cfg(feature = "bmp")]
pub mod bmp;
#[cfg(feature = "dds")]
pub mod dds;
#[cfg(feature = "ff")]
pub mod farbfeld;
#[cfg(feature = "gif")]
pub mod gif;
#[cfg(feature = "hdr")]
pub mod hdr;
#[cfg(feature = "ico")]
pub mod ico;
#[cfg(feature = "jpeg")]
pub mod jpeg;
#[cfg(feature = "exr")]
pub mod openexr;
#[cfg(feature = "png")]
pub mod png;
#[cfg(feature = "pnm")]
pub mod pnm;
#[cfg(feature = "qoi")]
pub mod qoi;
#[cfg(feature = "tga")]
pub mod tga;
#[cfg(feature = "tiff")]
pub mod tiff;
#[cfg(feature = "webp")]
pub mod webp;
#[cfg(feature = "dds")]
mod dxt;
}
mod animation;
#[path = "buffer.rs"]
mod buffer_;
#[cfg(feature = "rayon")]
mod buffer_par;
mod color;
mod dynimage;
mod image;
mod image_reader;
pub mod io {
#[deprecated(note = "this type has been moved and renamed to image::ImageReader")]
pub type Reader<R> = super::ImageReader<R>;
#[deprecated(note = "this type has been moved to image::Limits")]
pub type Limits = super::Limits;
#[deprecated(note = "this type has been moved to image::LimitSupport")]
pub type LimitSupport = super::LimitSupport;
}
mod traits;
mod utils;
macro_rules! insert_as_doc {
{ $content:expr } => {
#[allow(unused_doc_comments)]
#[doc = $content] extern { }
}
}
insert_as_doc!(include_str!("../README.md"));