Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add new wayland cursors #17

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -252,6 +252,12 @@ pub enum CursorIcon {
/// Indicates that something can be zoomed in. Often rendered as a
/// magnifying glass with a "-" in the center of the glass.
ZoomOut,

/// Indicates that the user will select the action that will be carried out.
DndAsk,

/// Indicates that something can be moved or resized in any direction.
AllResize,
Comment on lines +255 to +260
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure how to be with this one. The repo follows the w3c css cursor spec, thus such cursors are not present in it and would confuse the impl.

Maybe we should separate them into the platform specific enum, so we say that they are generally may not be present, etc?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there's an open issue for this at w3c/csswg-drafts#10115, but it doesn't seem like there's happening a lot there. i think even without this being added to the css standard adding these is useful: cursor-icon is used by winit, smithay and the smithay-client-toolkit and i think it would be annoying to not be able to set your winit cursor to all of the available ones.

maybe a native and a css cursor enum might make sense? but i don't know if that would complicate things.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is precedent in keyboard-types for non-standard variants. As long as it's clearly documented, I'm on board with it here as well.

Though I would somewhat prefer to wait with adding these 'till they're actually finalized in the Wayland protocol (unless there's a good reason not to?).

Moreso, I'd be interested in seeing how Chrome and/or Firefox decide to expose these to the Web, if they do?

}

impl CursorIcon {
Expand Down Expand Up @@ -319,6 +325,8 @@ impl CursorIcon {
CursorIcon::AllScroll => "all-scroll",
CursorIcon::ZoomIn => "zoom-in",
CursorIcon::ZoomOut => "zoom-out",
CursorIcon::DndAsk => "dnd-ask",
CursorIcon::AllResize => "all-resize",
}
}

Expand Down Expand Up @@ -363,6 +371,8 @@ impl CursorIcon {
CursorIcon::AllScroll => &["size_all"],
CursorIcon::ZoomIn => &[],
CursorIcon::ZoomOut => &[],
CursorIcon::DndAsk => &["copy"],
CursorIcon::AllResize => &["move"],
}
}
}
Expand Down