Skip to main content

sable_platform/
error.rs

1//! Error types for the platform crate.
2
3use thiserror::Error;
4
5/// Platform-specific errors.
6#[derive(Debug, Error)]
7pub enum PlatformError {
8    /// Failed to create event loop.
9    #[error("failed to create event loop: {0}")]
10    EventLoopCreation(#[from] winit::error::EventLoopError),
11
12    /// Failed to create window.
13    #[error("failed to create window: {0}")]
14    WindowCreation(#[from] winit::error::OsError),
15
16    /// Window has been closed or is no longer valid.
17    #[error("window is no longer valid")]
18    WindowInvalid,
19
20    /// Surface handle error.
21    #[error("failed to get surface handle: {0}")]
22    SurfaceHandle(#[from] raw_window_handle::HandleError),
23}
24
25/// Result type alias for platform operations.
26pub type Result<T> = std::result::Result<T, PlatformError>;
27