/egui_cable

Generic and extensible egui widgets to create analog synthesizer-like UI with data-oriented API

Primary LanguageRust

egui_cable

GitHub MIT/Apache 2.0 Crates.io docs.rs

A generic and extensible data-oriented widget for connecting ports by cables.

I create this for the visual programming editor of Hihaheho/Desk.

It's good for:

  • analog synthesizer-like UI
  • node-based UI
  • anything you can imagine

The code is good for studying how to write egui widgets.

Features

  • connect ports by data
  • dynamic connect and disconnect
  • lock connection
  • custom plug widget
  • custom port widget
  • custom cable widget
  • multiple connections on a single port.
  • on-connect event
  • on-disconnect event
  • on-hover event
  • garbage collection
  • multi-touch support (help me)

Examples

Click the images to see the source code.

Simple example

Connect example