mepeyew 0.3.5

mepeyew - Small But Powerful Graphics Library
Documentation
use super::*;

pub type VkDropQueueCallback = Box<dyn FnOnce(&Device, &mut Allocator)>;

#[derive(Default)]
pub struct VkDropQueue {
    rms: Vec<VkDropQueueCallback>,
}

impl VkDropQueue {
    pub fn new() -> Self {
        VkDropQueue { rms: Vec::new() }
    }

    pub fn idle_flush(&mut self, dev: &Device, alloc: &mut Allocator) {
        self.rms
            .drain(0..self.rms.len())
            .for_each(|rm| (rm)(dev, alloc));
    }

    pub fn push(&mut self, callback: VkDropQueueCallback) {
        self.rms.push(callback);
    }
}