1234567891011121314151617181920212223242526272829303132333435 |
- //! 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<formats::Rgba32>;
- /// Helper type alias for an A8 bitmap.
- pub type Alphamap = Bitmap<formats::A8>;
|