use_mouse
API
counterweight.hooks.use_mouse
use_mouse() -> Mouse
RETURNS | DESCRIPTION |
---|---|
Mouse
|
A record describing the current state of the mouse. |
counterweight.hooks.Mouse
dataclass
Mouse(
absolute: Position, motion: Position, button: int | None
)
absolute
instance-attribute
The absolute position of the mouse on the screen (i.e., the top-left corner of the screen is Position(x=0, y=0)
).
motion
instance-attribute
The difference in the absolute
position of the mouse since the last render cycle.
button
instance-attribute
button: int | None
The button that is currently pressed, or None
if no button is pressed.
use_mouse
vs. on_mouse
use_mouse
and on_mouse
provide similar functionality, but use_mouse
is a hook and on_mouse
is an event handler.
use_mouse
is more efficient when a component depends only on the current state of the mouse
(e.g., the current position, or whether a button is currently pressed),
while on_mouse
is more convenient when a component needs to respond to changes in the mouse state,
(e.g., a button release (MouseUp
).