Struct sfml::window::Cursor

source ·
#[repr(C)]
pub struct Cursor { /* private fields */ }
Expand description

Defines the appearance of a system cursor.

Warning: Features related to Cursor are not supported on iOS and Android.

This type abstracts the operating system resources associated with either a native system cursor or a custom cursor.

After loading the cursor the graphical appearance with either Cursor::from_pixels or Cursor::from_system, the cursor can be changed with Window::set_mouse_cursor.

The behaviour is undefined if the cursor is destroyed while in use by the window.

Implementations§

Create a cursor with the provided image.

pixels must be an array of width by height pixels in 32-bit RGBA format. If not, this will cause undefined behavior.

If the width or height are 0, the current cursor is left unchanged and the function will return false.

In addition to specifying the pixel data, you can also specify the location of the hotspot of the cursor. The hotspot is the pixel coordinate within the cursor image which will be located exactly where the mouse pointer position is. Any mouse actions that are performed will return the window/screen location of the hotspot.

Warning

On Unix, the pixels are mapped into a monochrome bitmap: pixels with an alpha channel to 0 are transparent, black if the RGB channel are close to zero, and white otherwise.

Parameters
  • pixels: Array of pixels of the image
  • size: Width and height of the image
  • hotspot: (x,y) location of the hotspot
Returns

true if the cursor was successfully loaded; false otherwise

Safety

pixels must be an array of width by height pixels in 32-bit RGBA format. If not, this will cause undefined behavior.

Binding maintainer’s note:

I noticed that on at least Linux X11, if the size of the image is not a power of 2, the image is loaded in a wrong way that doesn’t respect the dimensions. This is also why I decided to leave this function unsafe.

Create a native system cursor.

Refer to the list of cursor available on each system (see CursorType) to know whether a given cursor is expected to load successfully or is not supported by the operating system.

Parameters
  • type: Native system cursor type
Returns

true if and only if the corresponding cursor is natively supported by the operating system; false otherwise.

Trait Implementations§

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.