#![warn(missing_docs)]
#![warn(unused_qualifications)]
#![deny(unreachable_pub)]
#![deny(deprecated)]
#![deny(missing_copy_implementations)]
#![cfg_attr(all(test, feature = "benchmarks"), feature(test))]
#![allow(clippy::many_single_char_names)]
#[cfg(all(test, feature = "benchmarks"))]
extern crate test;
#[cfg(test)]
#[macro_use]
extern crate quickcheck;
use std::io::Write;
pub use crate::color::{ColorType, ExtendedColorType};
pub use crate::color::{Luma, LumaA, Rgb, Rgba, Bgr, Bgra};
pub use crate::error::{ImageError, ImageResult};
pub use crate::image::{AnimationDecoder,
GenericImage,
GenericImageView,
ImageDecoder,
ImageDecoderExt,
ImageEncoder,
ImageFormat,
ImageOutputFormat,
Progress,
Pixels,
SubImage};
pub use crate::buffer::{ConvertBuffer,
GrayAlphaImage,
GrayImage,
ImageBuffer,
Pixel,
RgbImage,
RgbaImage,
};
pub use crate::flat::FlatSamples;
pub use crate::traits::Primitive;
pub use crate::io::free_functions::{guess_format, load};
pub use crate::dynimage::{load_from_memory, load_from_memory_with_format, open,
save_buffer, save_buffer_with_format, image_dimensions};
pub use crate::dynimage::DynamicImage;
pub use crate::animation::{Delay, Frame, Frames};
pub mod error;
pub mod math;
pub mod imageops;
pub mod io;
pub mod flat;
#[cfg(feature = "bmp")]
pub mod bmp;
#[cfg(feature = "dds")]
pub mod dds;
#[cfg(feature = "dxt")]
pub mod dxt;
#[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 = "png")]
pub mod png;
#[cfg(feature = "pnm")]
pub mod pnm;
#[cfg(feature = "tga")]
pub mod tga;
#[cfg(feature = "tiff")]
pub mod tiff;
#[cfg(feature = "webp")]
pub mod webp;
mod animation;
mod buffer;
mod color;
mod dynimage;
mod image;
mod traits;
mod utils;
macro_rules! insert_as_doc {
{ $content:expr } => {
#[doc = $content] extern { }
}
}
insert_as_doc!(include_str!("../README.md"));
#[inline]
fn copy_memory(src: &[u8], mut dst: &mut [u8]) {
let len_src = src.len();
assert!(dst.len() >= len_src);
dst.write_all(src).unwrap();
}