1#[cfg(feature = "alloc")]
4mod inner_alloc;
5
6mod impl_target;
7
8use core::marker::PhantomData;
9use pxlfmt::{formats::rgba::Rgba8888, pixel::Format};
10
11pub struct Framebuffer<T, F = Rgba8888>
13where
14 F: Format,
15{
16 inner: T,
17 _fmt: PhantomData<F>,
18}
19
20impl<T, F> AsRef<T> for Framebuffer<T, F>
21where
22 F: Format,
23{
24 fn as_ref(&self) -> &T {
25 &self.inner
26 }
27}
28
29impl<T, F> AsMut<T> for Framebuffer<T, F>
30where
31 F: Format,
32{
33 fn as_mut(&mut self) -> &mut T {
34 &mut self.inner
35 }
36}