cosmic-workspaces/src/backend/wayland/dmabuf.rs
2025-09-11 14:03:30 -07:00

54 lines
1.3 KiB
Rust

use cctk::{
sctk::{
self,
dmabuf::{DmabufFeedback, DmabufHandler, DmabufState},
},
wayland_client::{Connection, QueueHandle, protocol::wl_buffer},
};
use cosmic::cctk;
use wayland_protocols::wp::linux_dmabuf::zv1::client::{
zwp_linux_buffer_params_v1::ZwpLinuxBufferParamsV1,
zwp_linux_dmabuf_feedback_v1::ZwpLinuxDmabufFeedbackV1,
};
use super::AppData;
impl DmabufHandler for AppData {
fn dmabuf_state(&mut self) -> &mut DmabufState {
&mut self.dmabuf_state
}
fn dmabuf_feedback(
&mut self,
_conn: &Connection,
_qh: &QueueHandle<Self>,
_proxy: &ZwpLinuxDmabufFeedbackV1,
feedback: DmabufFeedback,
) {
self.dmabuf_feedback = Some(feedback);
}
fn created(
&mut self,
_conn: &Connection,
_qh: &QueueHandle<Self>,
_params: &ZwpLinuxBufferParamsV1,
_buffer: wl_buffer::WlBuffer,
) {
}
fn failed(
&mut self,
_conn: &Connection,
_qh: &QueueHandle<Self>,
_params: &ZwpLinuxBufferParamsV1,
) {
}
fn released(
&mut self,
_conn: &Connection,
_qh: &QueueHandle<Self>,
_buffer: &wl_buffer::WlBuffer,
) {
}
}
sctk::delegate_dmabuf!(AppData);