cotis_defaults/element_configs/
image_config.rs1use cotis::utils::OwnedOrRef;
2
3#[derive(Debug, Clone)]
5#[cfg_attr(
6 feature = "serialization",
7 derive(serde::Serialize, serde::Deserialize)
8)]
9#[cfg_attr(
10 feature = "serialization",
11 serde(bound(deserialize = "
12 ImageElementData: serde::de::DeserializeOwned,
13"))
14)]
15pub struct ImageConfig<'render, ImageElementData: 'render> {
16 pub image: OwnedOrRef<'render, ImageElementData>,
18}
19impl<'render, ImageElementData> ImageConfig<'render, ImageElementData> {
20 pub fn new(image: &'render ImageElementData) -> Self {
22 Self {
23 image: OwnedOrRef::Ref(image),
24 }
25 }
26
27 pub fn new_owned(image: ImageElementData) -> Self {
29 Self {
30 image: OwnedOrRef::Owned(Box::new(image)),
31 }
32 }
33}