use thiserror::Error;
#[derive(Debug, Error)]
pub enum CompositorError {
#[error("unknown window")]
UnknownWindow,
#[error("unknown surface target")]
UnknownTarget,
#[error("unknown composition item")]
UnknownItem,
#[error("composition item is not interactive")]
ItemNotInteractive,
#[error("composition item does not use region-based hit testing")]
ItemDoesNotUseRegionHitTesting,
#[error("composition item is already attached to another window")]
ItemOwnedByAnotherWindow,
#[error("surface target is already attached in the live composition")]
DuplicateSurfaceTarget,
#[error("platform-specific compositor support is unavailable")]
PlatformUnsupported,
}