x-graphics 0.2.1

Graphics framework for X
Documentation
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::*;