graphics/
error.rs

1use core::fmt::Display;
2
3pub type Result<T> = core::result::Result<T, Error>;
4
5#[derive(Debug, Clone, Copy, PartialEq, Eq)]
6#[repr(u8)]
7pub enum Error {
8    InvalidReference,
9    AlreadyInitialized,
10    NotInitialized,
11    OutOfMemory,
12    AlreadyInUse,
13    FailedToRegister,
14    FailedToGetResolution,
15    NotRegistered,
16    NotAvailable,
17    FailedToCreateObject,
18    InvalidWindowIdentifier,
19}
20
21impl Display for Error {
22    fn fmt(&self, formatter: &mut core::fmt::Formatter) -> core::fmt::Result {
23        let string = match self {
24            Error::InvalidReference => "Invalid reference",
25            Error::AlreadyInitialized => "Already initialized",
26            Error::NotInitialized => "Not initialized",
27            Error::OutOfMemory => "Out of memory",
28            Error::AlreadyInUse => "Already in use",
29            Error::FailedToRegister => "Failed to register",
30            Error::FailedToGetResolution => "Failed to get resolution",
31            Error::NotRegistered => "Not registered",
32            Error::NotAvailable => "Not available",
33            Error::FailedToCreateObject => "Failed to create object",
34            Error::InvalidWindowIdentifier => "Invalid window identifier",
35        };
36
37        write!(formatter, "{string}")
38    }
39}