layer_shika_domain/value_objects/
surface_instance_id.rs

1use crate::value_objects::handle::{Handle, Surface};
2use crate::value_objects::output_handle::OutputHandle;
3
4pub type SurfaceHandle = Handle<Surface>;
5
6#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
7pub struct SurfaceInstanceId {
8    surface: SurfaceHandle,
9    output: OutputHandle,
10}
11
12impl SurfaceInstanceId {
13    pub const fn new(surface: SurfaceHandle, output: OutputHandle) -> Self {
14        Self { surface, output }
15    }
16
17    pub const fn surface(self) -> SurfaceHandle {
18        self.surface
19    }
20
21    pub const fn output(self) -> OutputHandle {
22        self.output
23    }
24}