Skip to main content

Module cursor

Module cursor 

Source
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§

CursorShape
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’s cursor, GTK’s names) instead of interpreting it.