guiver

Crates.ioguiver
lib.rsguiver
version0.1.0
sourcesrc
created_at2022-07-05 14:34:22.274201
updated_at2022-07-25 18:12:00.314177
descriptionGUI programming with Piet
homepage
repository
max_upload_size
id619732
size150,480
(kud1ing)

documentation

https://docs.rs/guiver

README

guiver

GUI programming with Rust.

guiver can be used in immediate mode, which is inspired by egui. In this case it is just a thin wrapper around druid-shell for event handling/windowing and Piet for rendering.

There are retained mode widgets that can be used with the help of an optional widget manager. The widgets are decoupled from the application data via message passing, which is inspired by Tk commands and egui.

Bildschirmfoto 2022-07-25 um 19 35 35 Bildschirmfoto 2022-07-25 um 19 59 34 Bildschirmfoto 2022-07-24 um 13 41 24 Bildschirmfoto 2022-07-24 um 11 59 31 Bildschirmfoto 2022-07-24 um 11 58 56 Bildschirmfoto 2022-07-24 um 12 59 33

Backlog

  • TextInput:
    • accept paste
    • display a caret
    • arrow keys should move the caret
    • support text selection:
      • Shift + cursor movement
      • Ctrl + A
    • Ctrl+X should cut the text
    • Ctrl-C should copy the text
  • add to `Style:
    • accent_color
    • font
    • spacing
      • use it in Row CTOR?
      • use it in Padding CTOR?
  • implement 7GUIs
    • 7GUIs "Flight Booker"
      • implement DropdownBox
    • 7GUIs "Timer"
    • 7GUIs "CRUD"
    • 7GUIs "Circle Drawer"
    • 7GUIs "Cells"
  • add Redmond 31 widgets
  • WidgetManager: implement collect_garbage()
    • remove all widgets that do not have the main widget as ancestor
  • WidgetManager: add tab order
  • allow a "no loop" optimization for static applications that only render once
  • add Python bindings
  • provide native widgets?
  • provide a WebAssembly demo

See also "So you want to write a GUI framework"

Commit count: 0

cargo fmt