cotis-defaults 0.1.0-alpha.2

Modular Rust UI framework core
Documentation
use cotis::utils::OwnedOrRef;

/// Image payload configuration attached to an element.
#[derive(Debug, Clone)]
#[cfg_attr(
    feature = "serialization",
    derive(serde::Serialize, serde::Deserialize)
)]
#[cfg_attr(
    feature = "serialization",
    serde(bound(deserialize = "
    ImageElementData: serde::de::DeserializeOwned,
"))
)]
pub struct ImageConfig<'render, ImageElementData: 'render> {
    /// Image payload stored as borrowed or owned data.
    pub image: OwnedOrRef<'render, ImageElementData>,
}
impl<'render, ImageElementData> ImageConfig<'render, ImageElementData> {
    /// Creates an image config borrowing the payload.
    pub fn new(image: &'render ImageElementData) -> Self {
        Self {
            image: OwnedOrRef::Ref(image),
        }
    }

    /// Creates an image config owning the payload.
    pub fn new_owned(image: ImageElementData) -> Self {
        Self {
            image: OwnedOrRef::Owned(Box::new(image)),
        }
    }
}