S or /

SourceClass CustomCursorImage

from egui import CustomCursorImage
class CustomCursorImage:

A bitmap cursor pushed to the integration via PlatformOutput.cursor_image.

The integration is expected to upload this to the OS as a real cursor (so the image is not clipped by the egui window — what egui.Painter drawn cursors suffer from). Backends that don't support it should fall back to PlatformOutput.cursor_icon.

rgba is straight (non-premultiplied) RGBA — same encoding as winit.window.CustomCursor.from_rgba. The buffer length must be exactly size[0] * size[1] * 4 bytes. size and hotspot use int to match winit's native types and avoid a lossy cast in the integration layer.

Arc<[int](https://github.com/emilk/egui/blob/e44f9f60d93bba451c513b3c193f24bd0260f969/crates/egui/src/data/output.rs#L324)> is used so integrations can dedupe / cache by pointer identity (Arc.ptr_eq) and avoid re-uploading the same bitmap to the OS every frame.

Properties§

@property def hotspot(self, /) -> tuple[int, int]§
@hotspot.setter def hotspot(self, /, hotspot: tuple[int, int]) -> None§
@property def rgba(self, /) -> bytes§
@rgba.setter def rgba(self, /, rgba: Sequence[int]) -> None§
@property def size(self, /) -> tuple[int, int]§
@size.setter def size(self, /, size: tuple[int, int]) -> None§