blob: 1d6790bf337ce5275a81992084e93f6d4fbd861c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
use cairo::{Error as CairoError, IoError};
use std::io::Error as StdError;
use thiserror::Error;
/// Error types for rendering
#[derive(Debug, Error)]
pub enum RenderError {
#[error("Cairo rendering error: {0}")]
Cairo(String),
#[error("Invalid configuration: {0}")]
InvalidConfig(String),
#[error("Concave hull calculation failed")]
GeometryError,
#[error("IO error: {0}")]
Io(#[from] StdError),
}
impl From<CairoError> for RenderError {
fn from(err: CairoError) -> Self {
RenderError::Cairo(err.to_string())
}
}
impl From<IoError> for RenderError {
fn from(err: IoError) -> Self {
RenderError::Cairo(err.to_string())
}
}
|