Expand description
Pointer shape as declared data. A view says what the pointer is over
a node with the cursor prop — a button is a hand because it declared
one, a handle a grab because it declared one — and the core resolves
which declaration is under the pointer per frame
(crate::runtime::Core::cursor_shape), which the frame driver hands
to the real window. Nothing is inferred from what a node does: an
on_click node with no cursor is the plain arrow, as a native
button is, and so is an on_drag node. The one shape the core implies
is the I-beam over an editor or a selection scope, the way every
desktop marks text that can be taken. The stock button declares
Pointer for itself, so <button> is a hand in every binding without
the app saying so.
The core never touches a device: headless drivers simply never read.
Enums§
- Cursor
Shape - The shape the pointer takes. Spelled the way CSS and the platform
toolkits do, so a driver maps it one-to-one (winit’s
CursorIcon, the Web’scursor, GTK’s names) instead of interpreting it.