1
0
Fork 0
forked from wry/wry

cursor-shape: implement v2

This commit is contained in:
Julian Orth 2024-10-21 17:31:19 +02:00
parent dbb55f10f0
commit aa207ffe14
6 changed files with 17 additions and 2 deletions

View file

@ -111,6 +111,8 @@ pub struct ServerCursors {
pub all_scroll: ServerCursorTemplate,
pub zoom_in: ServerCursorTemplate,
pub zoom_out: ServerCursorTemplate,
pub dnd_ask: ServerCursorTemplate,
pub all_resize: ServerCursorTemplate,
}
#[derive(Copy, Clone, Debug, Eq, PartialEq, FromPrimitive)]
@ -149,6 +151,8 @@ pub enum KnownCursor {
AllScroll,
ZoomIn,
ZoomOut,
DndAsk,
AllResize,
}
impl ServerCursors {
@ -201,6 +205,8 @@ impl ServerCursors {
all_scroll: load(&["all-scroll", "grabbing"])?,
zoom_in: load(&["zoom-in"])?,
zoom_out: load(&["zoom-out"])?,
dnd_ask: load(&["dnd-ask", "dnd-copy", "copy"])?,
all_resize: load(&["all-resize", "move"])?,
}))
}
}

View file

@ -328,6 +328,8 @@ impl CursorUser {
KnownCursor::AllScroll => &cursors.all_scroll,
KnownCursor::ZoomIn => &cursors.zoom_in,
KnownCursor::ZoomOut => &cursors.zoom_out,
KnownCursor::DndAsk => &cursors.dnd_ask,
KnownCursor::AllResize => &cursors.all_resize,
};
self.set_cursor2(Some(
tpl.instantiate(&self.group.state, self.group.size.get()),

View file

@ -45,6 +45,10 @@ const ROW_RESIZE: u32 = 31;
const ALL_SCROLL: u32 = 32;
const ZOOM_IN: u32 = 33;
const ZOOM_OUT: u32 = 34;
const DND_ASK: u32 = 35;
const ALL_RESIZE: u32 = 36;
const V2: Version = Version(2);
pub enum CursorShapeCursorUser {
Seat(Rc<WlSeatGlobal>),
@ -103,6 +107,8 @@ impl WpCursorShapeDeviceV1RequestHandler for WpCursorShapeDeviceV1 {
ALL_SCROLL => KnownCursor::AllScroll,
ZOOM_IN => KnownCursor::ZoomIn,
ZOOM_OUT => KnownCursor::ZoomOut,
DND_ASK if self.version >= V2 => KnownCursor::DndAsk,
ALL_RESIZE if self.version >= V2 => KnownCursor::AllResize,
_ => return Err(WpCursorShapeDeviceV1Error::UnknownShape(req.shape)),
};
let tablet_tool;

View file

@ -52,7 +52,7 @@ impl Global for WpCursorShapeManagerV1Global {
}
fn version(&self) -> u32 {
1
2
}
}