Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev0.0.4

flutter_custom_cursor

Crie ou defina um cursor de mouse personalizado diretamente a partir de um buffer de memória.

macOSWindowsLinux
Downloads em 30 dias
54,2 mil
Curtidas
19
Pontos Pub
140

Instalar pacote

flutter pub add flutter_custom_cursor

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

Um pacote Flutter que permite aos desenvolvedores definir cursores personalizados em plataformas desktop usando um buffer de memória. Permite controle preciso sobre a aparência do cursor carregando os dados diretamente da memória, ideal para aplicações que exigem designs únicos ou dinâmicos de cursor. O pacote é especificamente adaptado para Windows, Linux e macOS, oferecendo integração perfeita com os alvos desktop do Flutter. Suporta personalização avançada de cursores sem depender de arquivos externos, melhorando desempenho e flexibilidade no design da interface.

Casos de uso

  • Cursor personalizado em jogos
  • Elementos de interface do usuário interativos
  • Marcação de aplicativo para desktop
  • Alterações dinâmicas do cursor
  • Renderização de cursor de alto desempenho
  • Funcionalidades de acessibilidade

Principais recursos

  • Entrada de buffer de memória direta
  • Suporte multiplataforma para desktop
  • Nenhuma dependência de arquivo externo
  • Alto desempenho
  • Integração fácil com o Flutter
  • Suporta cursores animados

Indicado para

  • Desenvolvedores de aplicativos para desktop
  • Desenvolvedores de jogos
  • designers de UI/UX
  • Aplicações que precisam de comportamento de cursor exclusivo
  • Projetos sensíveis ao desempenho

Considerações

  • Limitado a plataformas de desktop
  • Requer conhecimento de implementação específica da plataforma
  • Gerenciamento de memória para buffers de cursor
  • Não adequado para aplicativos móveis
  • Restrições de tamanho e formato do cursor
  • Possíveis problemas de compatibilidade com certas versões do sistema operacional

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

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

  • [x] macOS
  • [x] Windows
  • [x] 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.

MouseRegion(
  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");

Categorias

Repositório-fonte

Projetos que usam este pacote