tufa 0.1.0

A wgpu abstraction layer.
Documentation
use ::egui::Context;
use wgpu::RenderPass;
use winit::event::{DeviceEvent, DeviceId, WindowEvent};

use crate::gpu::Gpu;

pub mod egui;
pub mod window;

#[derive(Clone)]
pub struct GraphicsCtx<'a> {
    pub gpu: &'a Gpu,
    pub window: &'a winit::window::Window,
}

pub trait Interactive {
    fn init(&mut self, _gcx: GraphicsCtx) {}
    fn render(&mut self, _gcx: GraphicsCtx, _render_pass: &mut RenderPass) {}
    fn ui(&mut self, _gcx: GraphicsCtx, _ctx: &Context) {}
    fn window_event(&mut self, _gcx: GraphicsCtx, _event: &WindowEvent) {}
    fn device_event(&mut self, _gcx: GraphicsCtx, _device_id: DeviceId, _event: &DeviceEvent) {}
}