use crate::model::{
CompositionItemId, CompositorWindowId, HitTestCoordinateSpace, HitTestRegion,
HitTestRegionMode, Rect, WindowCompositionSpec,
};
#[derive(Debug, Clone)]
pub enum CompositionCommand {
SetWindowComposition {
window_id: CompositorWindowId,
composition: WindowCompositionSpec,
},
UpdateItemBounds {
window_id: CompositorWindowId,
item_id: CompositionItemId,
bounds: Rect,
},
SetItemVisibility {
window_id: CompositorWindowId,
item_id: CompositionItemId,
visible: bool,
},
SetItemHitTestRegions {
window_id: CompositorWindowId,
item_id: CompositionItemId,
snapshot_id: u64,
coordinate_space: HitTestCoordinateSpace,
mode: HitTestRegionMode,
regions: Vec<HitTestRegion>,
},
RemoveItem {
window_id: CompositorWindowId,
item_id: CompositionItemId,
},
}