winctx 0.0.20

A minimal window context for Rust on Windows.
Documentation
/// The buffer for an image.
pub(crate) struct IconBuffer {
    buffer: Box<[u8]>,
    width: u32,
    height: u32,
}

impl IconBuffer {
    /// Construct an icon from a raw buffer.
    pub(crate) fn from_buffer<T>(buffer: T, width: u32, height: u32) -> Self
    where
        T: AsRef<[u8]>,
    {
        Self {
            buffer: buffer.as_ref().into(),
            width,
            height,
        }
    }

    pub(crate) fn as_bytes(&self) -> &[u8] {
        self.buffer.as_ref()
    }

    pub(crate) fn width(&self) -> u32 {
        self.width
    }

    pub(crate) fn height(&self) -> u32 {
        self.height
    }
}