use cfg_if::cfg_if;
mod base;
pub mod bitmap;
pub mod brush;
pub mod canvas;
pub mod device;
#[macro_use]
pub mod error;
pub mod font;
pub mod geometry;
pub mod gradient;
pub mod layer;
pub mod matrix;
pub mod paint;
pub mod path;
pub mod text;
pub mod window;
cfg_if! {
if #[cfg(target_os = "windows")] {
#[path = "direct2d/mod.rs"]
pub mod backend;
pub use crate::backend::bitmap::D2DBitmap as DefaultBitmap;
pub use crate::backend::brush::D2DBrush as DefaultBrush;
pub use crate::backend::canvas::D2DCanvas as DefaultCanvas;
pub use crate::backend::device::D2DDeviceContext as DefaultDeviceContext;
pub use crate::backend::gradient::D2DGradient as DefaultGradient;
pub use crate::backend::layer::D2DLayer as DefaultLayer;
pub use crate::backend::matrix::D2DMatrix as DefaultMatrix;
pub use crate::backend::path::D2DPath as DefaultPath;
} else if #[cfg(any(target_os = "ios", target_os = "macos"))] {
extern crate core_graphics2 as core_graphics;
#[path = "core_graphics/mod.rs"]
pub mod backend;
pub use crate::backend::bitmap::CoreGraphicsBitmap as DefaultBitmap;
pub use crate::backend::brush::CoreGraphicsBrush as DefaultBrush;
pub use crate::backend::canvas::CoreGraphicsCanvas as DefaultCanvas;
pub use crate::backend::device::CoreGraphicsDeviceContext as DefaultDeviceContext;
pub use crate::backend::gradient::CoreGraphicsGradient as DefaultGradient;
pub use crate::backend::layer::CoreGraphicsLayer as DefaultLayer;
pub use crate::backend::matrix::CoreGraphicsMatrix as DefaultMatrix;
pub use crate::backend::path::CoreGraphicsPath as DefaultPath;
} else if #[cfg(target_family = "wasm")] {
#[path = "web/mod.rs"]
pub mod backend;
pub use crate::backend::bitmap::WebBitmap as DefaultBitmap;
pub use crate::backend::brush::WebBrush as DefaultBrush;
pub use crate::backend::canvas::WebCanvas as DefaultCanvas;
pub use crate::backend::device::WebDeviceContext as DefaultDeviceContext;
pub use crate::backend::gradient::WebGradient as DefaultGradient;
pub use crate::backend::layer::WebLayer as DefaultLayer;
pub use crate::backend::matrix::WebMatrix as DefaultMatrix;
pub use crate::backend::path::WebPath as DefaultPath;
} else {
compile_error!("unsupported target");
}
}
pub use base::*;