diff --git a/src/wayland/buffer.rs b/src/wayland/buffer.rs
index 55c79b4..459bc0e 100644
--- a/src/wayland/buffer.rs
+++ b/src/wayland/buffer.rs
@@ -84,10 +84,7 @@ pub struct Buffer {
}
impl AppData {
- fn create_shm_backing(
- &self,
- buffer_info: &BufferInfo,
- ) -> (BufferBacking, Mmap, wl_buffer::WlBuffer) {
+ fn create_shm_buffer(&self, buffer_info: &BufferInfo) -> Buffer {
let fd = create_memfile().unwrap(); // XXX?
rustix::fs::ftruncate(&fd, buffer_info.stride as u64 * buffer_info.height as u64);
@@ -111,15 +108,20 @@ impl AppData {
let mmap = unsafe { Mmap::map(&fd).unwrap() };
- (BufferBacking::Shm { fd }, mmap, buffer)
+ Buffer {
+ backing: BufferBacking::Shm { fd },
+ mmap,
+ buffer,
+ buffer_info: buffer_info.clone(),
+ }
}
#[allow(dead_code)]
- fn create_gbm_backing(
+ fn create_gbm_buffer(
&self,
buffer_info: &BufferInfo,
needs_linear: bool,
- ) -> anyhow::Result