1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
//! A piet backend appropriate for the current platform. //! //! This crate reexports the [piet crate][piet], alongside an appropriate backend //! for the given platform. It also exposes [kurbo][], which defines shape and //! curve types useful in drawing. //! //! The intention of this crate is to provide a single dependency that handles //! the common piet use-case. If you have more complicated needs (such as //! supporting multiple backends simultaneously) you should use crates such as //! [piet][] and [piet-cairo][] directly. //! //! [piet]: https://crates.io/crates/piet //! [kurbo]: https://crates.io/crates/kurbo //! [piet-cairo]: https://crates.io/crates/piet-cairo pub use piet::*; #[doc(hidden)] pub use piet::kurbo; #[cfg(any( feature = "cairo", not(any(target_arch = "wasm32", target_os = "windows", feature = "direct2d")) ))] #[path = "cairo_back.rs"] mod backend; #[cfg(any(feature = "d2d", all(target_os = "windows", not(feature = "cairo"))))] #[path = "direct2d_back.rs"] mod backend; #[cfg(any(feature = "web", target_arch = "wasm32"))] mod backend { pub use piet_web::*; pub type Piet<'a> = WebRenderContext<'a>; } #[doc(hidden)] pub use backend::*;