Skip to content

Commit

Permalink
Merge pull request #12 from lucasmerlin/taffy
Browse files Browse the repository at this point in the history
Add egui_taffy and other crates, move egui_dnd from top level to crates folder
  • Loading branch information
lucasmerlin authored Aug 18, 2023
2 parents 13037e7 + fc01f9b commit 8cc4997
Show file tree
Hide file tree
Showing 31 changed files with 1,394 additions and 113 deletions.
126 changes: 90 additions & 36 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

25 changes: 2 additions & 23 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,29 +1,8 @@
[package]
name = "egui_dnd"
version = "0.5.0"
edition = "2021"
authors = ["Lucas Meurer"]
repository = "https://github.com/lucasmerlin/egui_dnd"
keywords = ["egui", "drag", "drop", "ui"]
description = "A drag and drop library for egui"
license = "MIT"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[workspace]
members = ["fancy-example", "crates/*"]

[dependencies]
egui = { version = ">=0.22", default-features = false }

[target.'cfg(target_arch = "wasm32")'.dependencies]
web-time = "0.2.0"

[dev-dependencies]
egui_infinite_scroll = { path = "./crates/egui_infinite_scroll" }

egui_extras = ">=0.22"
color-hex = "0.2.0"
egui = { version = ">=0.22", features = ["color-hex"] }
eframe = ">=0.22"

[patch.crates-io]
taffy = { git = "https://github.com/nicoburns/taffy", branch = "measure-func-context" }
45 changes: 32 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,42 @@
# egui_dnd
# Hello Egui!
This projects contains a collection of egui tools I've created during
development of the native app for https://hellopaint.io (still unreleased, stay tuned!).

[![egui_ver](https://img.shields.io/badge/egui-0.22.0-blue)](https://github.com/emilk/egui)
[![Latest version](https://img.shields.io/crates/v/egui_dnd.svg)](https://crates.io/crates/egui_dnd)
[![Documentation](https://docs.rs/egui_dnd/badge.svg)](https://docs.rs/egui_dnd)
[![unsafe forbidden](https://img.shields.io/badge/unsafe-forbidden-success.svg)](https://github.com/rust-secure-code/safety-dance/)
[![License](https://img.shields.io/crates/l/egui_dnd.svg)](https://crates.io/crates/egui_dnd)
The crates have varying levels of maturity, some are ready for use in production
while others are highly experimental.
If you're interested in using one of the experimental crates, open an issue, and I'll try to
release it on crates.io.

... is a drag & drop library for [egui](https://github.com/emilk/egui).
## Example app
An example using most of the crates is available [here](https://lucasmerlin.github.io/egui_dnd/).
Source code in [fancy-example](fancy-example).

Give it a try here: <https://lucasmerlin.github.io/egui_dnd/>
## **Mature** Crates
- [egui_dnd](crates/egui_dnd)
- Drag & drop sorting library for egui
- released on [crates.io](https://crates.io/crates/egui_dnd)

## **Experimental** Crates

- [egui_virtual_list](crates/egui_virtual_list)
- Flexible virtual scroll widget for egui with support for dynamic heights and complex layouts
- Compatible with [egui_dnd](crates/egui_dnd) (let me know if you need an example)
- Experimental, unreleased

To get started, take a look at the [simple example.](https://github.com/lucasmerlin/egui_dnd/blob/main/examples/simple.rs)
- [egui_infinite_scroll](crates/egui_infinite_scroll)
- Infinite scroll based on [egui_virtual_list](crates/egui_virtual_list)
- Experimental, unreleased

Demo Videos:
- [egui_animation](crates/egui_animation)
- Animation utilities for egui
- Experimental, used internally by [egui_dnd](crates/egui_dnd)

<https://github.com/lucasmerlin/egui_dnd/assets/8009393/a05fa961-ef12-479c-a3fd-f765160e048e>
- [egui_taffy](crates/egui_taffy)
- Adds flexbox layout to egui using [taffy](https://github.com/DioxusLabs/taffy)
- Highly experimental, unreleased

- [egui_inbox](crates/egui_inbox)
- Simple utility for sending messages to egui uis from other threads / async functions

<https://github.com/lucasmerlin/egui_dnd/assets/8009393/4e3b7843-822f-4900-8e8b-d516794590b7>

- [hello_egui_utils](crates/hello_egui_utils)
- Collection of utilities used by the other crates
Loading

0 comments on commit 8cc4997

Please sign in to comment.