diff options
| author | 2021-08-04 21:45:38 +0700 | |
|---|---|---|
| committer | 2021-08-04 21:52:02 +0700 | |
| commit | 3e03a42bc69562639784a1b560978bf184576824 (patch) | |
| tree | 9155f31fba9b98b47acbc515c3b3782f5a237aa6 /graphics | |
| parent | b629a8025426afd5a6a03a5d17f4e28a6bed6e30 (diff) | |
| download | iced-3e03a42bc69562639784a1b560978bf184576824.tar.gz iced-3e03a42bc69562639784a1b560978bf184576824.tar.bz2 iced-3e03a42bc69562639784a1b560978bf184576824.zip | |
Use `thiserror` to derive `Error` for `SwapChainError`
Diffstat (limited to '')
| -rw-r--r-- | graphics/src/window/compositor.rs | 26 | 
1 files changed, 12 insertions, 14 deletions
| diff --git a/graphics/src/window/compositor.rs b/graphics/src/window/compositor.rs index e6633293..de2a6990 100644 --- a/graphics/src/window/compositor.rs +++ b/graphics/src/window/compositor.rs @@ -1,6 +1,9 @@  use crate::{Color, Error, Viewport}; +  use iced_native::mouse; +  use raw_window_handle::HasRawWindowHandle; +use thiserror::Error;  /// A graphics compositor that can draw to windows.  pub trait Compositor: Sized { @@ -56,27 +59,22 @@ pub trait Compositor: Sized {  }  /// Result of an unsuccessful call to [`Compositor::draw`]. -#[derive(Clone, PartialEq, Eq, Debug)] +#[derive(Clone, PartialEq, Eq, Debug, Error)]  pub enum SwapChainError {      /// A timeout was encountered while trying to acquire the next frame. +    #[error( +        "A timeout was encountered while trying to acquire the next frame" +    )]      Timeout,      /// The underlying surface has changed, and therefore the swap chain must be updated. +    #[error( +        "The underlying surface has changed, and therefore the swap chain must be updated." +    )]      Outdated,      /// The swap chain has been lost and needs to be recreated. +    #[error("The swap chain has been lost and needs to be recreated")]      Lost,      /// There is no more memory left to allocate a new frame. +    #[error("There is no more memory left to allocate a new frame")]      OutOfMemory,  } - -impl std::error::Error for SwapChainError {} - -impl std::fmt::Display for SwapChainError { -    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { -        write!(f, "{}", match self { -            Self::Timeout => "A timeout was encountered while trying to acquire the next frame", -            Self::Outdated => "The underlying surface has changed, and therefore the swap chain must be updated", -            Self::Lost =>  "The swap chain has been lost and needs to be recreated", -            Self::OutOfMemory => "There is no more memory left to allocate a new frame", -        }) -    } -} | 
