flutter_custom_cursor 0.0.4 copy "flutter_custom_cursor: ^0.0.4" to clipboard
flutter_custom_cursor: ^0.0.4 copied to clipboard

Create/Set a custom mouse cursor directly from a memory buffer.

flutter_custom_cursor #

This plugin allows to create/set a custom mouse cursor directly from a memory buffer.

Big thanks to imiskolee to create the base of this plugin.

Platforms #

  • macOS
  • Windows
  • Linux

Note: Currently, the api required by this plugin on Windows is included in flutter master branch. It means that u need to use this plugin with flutter master branch on Windows platform. See flutter engine PR#36143 for details.

Update: the latest Flutter 3.7.0 does not contain PR above, which merges to flutter-3.7.0-candidate.2, while Flutter stable 3.7.0 is using flutter-3.7.0-candidate.1. This limitation will be lifted maybe in the next Flutter stable release.

Get prepared #

Register your custom cursor before #

// register this cursor
cursorName = await CursorManager.instance.registerCursor(CursorData()
  ..name = "test"
  ..buffer =
      Platform.isWindows ? memoryCursorDataRawBGRA : memoryCursorDataRawPNG
  ..height = img.height
  ..width = img.width
  ..hotX = 0
  ..hotY = 0);

Note that a String cacheName will be returned by the function registerCursor, which can be used to set this cursor to system or delete this cursor.

CursorData.buffer is a Uint8List which contains the cursor data. Be aware that on Windows, buffer is formatted by rawBGRA, other OS(s) are rawPNG.

see the example project for details.

Set the custom cursor #

We have implemented the FlutterCustomMemoryImageCursor class, which is a subclass of MouseCursor. This class will automatically set the memory cursor for you. Keep it simple.

  cursor: FlutterCustomMemoryImageCursor(key: cursorName),
  child: Row(
    children: [
      Text("Memory image here", style: style),

Delete the cursor #

You can delete a cursor with the cursorName.

await CursorManager.instance.deleteCursor("cursorName");
pub points


verified publisherkingtous.cn

Create/Set a custom mouse cursor directly from a memory buffer.

Repository (GitHub)
View/report issues


API reference


Apache-2.0 (LICENSE)




Packages that depend on flutter_custom_cursor