mod owned;
pub use owned::*;
use crate::{Canvas, Dimension, Handle};
pub trait Texture<H: Handle> {
fn handle(&self) -> &H;
fn wgpu_texture(&self) -> &wgpu::Texture;
#[inline]
fn wgpu_texture_usage(&self) -> wgpu::TextureUsages {
self.wgpu_texture().usage()
}
#[inline]
fn size(&self) -> Dimension {
Dimension::new(self.wgpu_texture().width(), self.wgpu_texture().height())
}
#[inline]
fn canvas(&self) -> Canvas<'_, H> {
Canvas::from_raw_parts(self.handle(), self.wgpu_texture())
}
}