A cursor is assigned to each window (or the window may use its parent’s cursor; see set-cursor for more information), and the pointer image is changed to match the window’s cursor when the pointer is moved over the window. Each cursor object may be assigned to many windows.
(make-object cursor% image mask [ hot-spot-x hot-spot-y]) → (is-a?/c cursor%) image : (is-a?/c bitmap%) mask : (is-a?/c bitmap%) hot-spot-x : (integer-in 0 15) = 0 hot-spot-y : (integer-in 0 15) = 0 (make-object cursor% id) → (is-a?/c cursor%)
(or/c 'arrow 'bullseye 'cross 'hand 'ibeam 'watch 'blank 'size-n/s 'size-e/w 'size-ne/sw 'size-nw/se)
The second case creates a cursor using a stock cursor, specified as one of the following:
the default cursor
an open hand
a vertical line, indicating that clicks control a text-selection caret
a watch or hourglass, indicating that the user must wait for a computation to complete
the default cursor with a watch or hourglass, indicating that some computation is in progress, but the cursor can still be used
arrows left and right
arrows up and down
arrows up-right and down-left
arrows up-left and down-right
If the cursor is created successfully, ok? returns #t, otherwise the cursor object cannot be assigned to a window.