//! kahlo is a software drawing library designed for speed and flexibility. //! //! The main goal for kahlo is to provide _fast_ drawing of simple 2D shapes and paths onto //! multiple surface formats. See the [`formats`] module for the supported formats. //! //! kahlo will use AVX, if present, but has fallbacks to unoptimized implementations as well. Note //! that the unoptimized implementations are mostly present for automated testing and verification //! purposes, and are written for clarity and not speed. mod bitmap; mod op; #[cfg(target_endian = "big")] std::compile_error!("kahlo only works on little-endian targets!"); /// Colour-related functionality. pub mod colour; /// Pixel format definitions. pub mod formats; /// Trait re-exports. pub mod prelude { // pub use crate::ops::{AlphaPaintable, Readable, RgbaPaintable, Paintable, Writable}; pub use crate::bitmap::{BitmapAccess, BitmapMutAccess}; pub use crate::op::KahloOps; } pub mod math; pub use bitmap::{Bitmap, BitmapMut, BitmapRef}; /// Helper type alias for a Rgba32 bitmap. pub type RgbaBitmap = Bitmap; /// Helper type alias for an A8 bitmap. pub type Alphamap = Bitmap;