![]() * Update rfd 0.8 -> 0.8 * Update webbrowser 0.5 -> 0.6 * Update unicode_names2 0.4 -> 0.5 * cargo update Updating crates.io index Adding arrayvec v0.7.2 Updating async-lock v2.4.0 -> v2.5.0 Updating autocfg v1.0.1 -> v1.1.0 Updating cc v1.0.72 -> v1.0.73 Updating cfg-expr v0.9.1 -> v0.10.1 Updating core-foundation v0.9.2 -> v0.9.3 Updating crc32fast v1.3.1 -> v1.3.2 Updating crossbeam-epoch v0.9.6 -> v0.9.7 Updating crossbeam-utils v0.8.6 -> v0.8.7 Updating deflate v0.9.1 -> v1.0.0 Removing encoding v0.2.33 Removing encoding-index-japanese v1.20141219.5 Removing encoding-index-korean v1.20141219.5 Removing encoding-index-simpchinese v1.20141219.5 Removing encoding-index-singlebyte v1.20141219.5 Removing encoding-index-tradchinese v1.20141219.5 Removing encoding_index_tests v0.1.4 Updating enum-map v2.0.1 -> v2.0.2 Updating futures-core v0.3.19 -> v0.3.21 Updating futures-io v0.3.19 -> v0.3.21 Updating futures-sink v0.3.19 -> v0.3.21 Updating futures-task v0.3.19 -> v0.3.21 Updating futures-util v0.3.19 -> v0.3.21 Updating gio-sys v0.15.4 -> v0.15.6 Updating glib-sys v0.15.4 -> v0.15.6 Updating gobject-sys v0.15.1 -> v0.15.5 Updating image v0.24.0 -> v0.24.1 Updating kurbo v0.8.0 -> v0.8.3 Updating libc v0.2.117 -> v0.2.119 Updating memmap2 v0.5.2 -> v0.5.3 Adding miniz_oxide v0.5.1 Adding ndk-context v0.1.0 Removing ndk-glue v0.5.0 Removing ndk-glue v0.6.0 Adding ndk-glue v0.5.1 Adding ndk-glue v0.6.1 Updating ntapi v0.3.6 -> v0.3.7 Updating png v0.17.2 -> v0.17.3 Updating proc-macro-crate v1.1.0 -> v1.1.2 Updating rand v0.8.4 -> v0.8.5 Removing rand_hc v0.3.1 Updating rustls v0.20.2 -> v0.20.4 Updating semver v1.0.4 -> v1.0.5 Updating serde_json v1.0.78 -> v1.0.79 Updating system-deps v6.0.1 -> v6.0.2 Updating tracing v0.1.30 -> v0.1.31 Updating tracing-subscriber v0.3.7 -> v0.3.9 Updating tts v0.20.2 -> v0.20.3 Removing windows v0.30.0 Removing windows_aarch64_msvc v0.30.0 Removing windows_i686_gnu v0.30.0 Removing windows_i686_msvc v0.30.0 Removing windows_x86_64_gnu v0.30.0 Removing windows_x86_64_msvc v0.30.0 |
||
---|---|---|
.. | ||
examples | ||
src | ||
Cargo.toml | ||
CHANGELOG.md | ||
README.md |
eframe: the egui
framework
eframe
is the official framework library for writing apps using egui
. The app can be compiled both to run natively (cross platform) or be compiled to a web app (using WASM).
To get started, go to https://github.com/emilk/eframe_template/ and follow the instructions there!
You can also take a look at the eframe
examples folder. There is also an excellent tutorial video at https://www.youtube.com/watch?v=NtUkr_z7l84.
For how to use egui
, see the egui docs.
eframe
is a very thin crate that re-exports egui
andepi
with thin wrappers over the backends.
eframe
uses egui_web
for web and egui_glium
or egui_glow
for native.
To use on Linux, first run:
sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libspeechd-dev libxkbcommon-dev libssl-dev
Alternatives
The default native backend for eframe
is currently egui_glow
, but you can switch to the previous egui_glium
backend by putting this in your Cargo.toml
:
eframe = { version = "*", default-features = false, features = ["default_fonts", "egui_glium"] }
eframe
is not the only way to write an app using egui
! You can also try egui-miniquad
and egui_sdl2_gl
.
Companion crates
Not all rust crates work when compiled to WASM, but here are some useful crates have been designed to work well both natively and as WASM:
Name
The frame in eframe
stands both for the frame in which your egui
app resides and also for "framework" (frame
is a framework, egui
is a library).