pub mod error;
#[cfg(feature = "render")]
pub mod backend;
#[cfg(feature = "render")]
pub mod browser;
#[cfg(feature = "render")]
pub mod page;
#[cfg(feature = "render")]
pub mod screenshot;
pub use error::RenderError;
#[cfg(feature = "render")]
pub use backend::BrowserBackend;
#[cfg(feature = "render")]
pub use browser::Browser;
#[cfg(feature = "render")]
pub use page::render_html;
#[cfg(feature = "render")]
pub use screenshot::{DESKTOP, MOBILE, Screenshot, TABLET, Viewport, capture_viewports};
#[cfg(not(feature = "render"))]
pub fn not_available() -> Result<(), RenderError> {
Err(RenderError::FeatureNotEnabled)
}
#[cfg(not(feature = "render"))]
pub mod backend {
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
pub enum BrowserBackend {
Chrome,
Lightpanda,
}
}
#[cfg(not(feature = "render"))]
pub mod browser {
pub struct Browser;
}
#[cfg(not(feature = "render"))]
pub mod screenshot {
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
pub struct Viewport {
pub name: &'static str,
pub width: u32,
pub height: u32,
}
pub const MOBILE: Viewport = Viewport {
name: "mobile",
width: 390,
height: 844,
};
pub const TABLET: Viewport = Viewport {
name: "tablet",
width: 768,
height: 1024,
};
pub const DESKTOP: Viewport = Viewport {
name: "desktop",
width: 1440,
height: 900,
};
}
#[cfg(not(feature = "render"))]
pub use backend::BrowserBackend;
#[cfg(not(feature = "render"))]
pub use browser::Browser;
#[cfg(not(feature = "render"))]
pub use screenshot::{DESKTOP, MOBILE, TABLET, Viewport};