layer_shika_domain/value_objects/
surface_instance_id.rs1use 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}