You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Emil Ernerfeldt c6ac1827f6
Use tracing crate for logging (#1192)
3 years ago
..
examples Choose your own font and size (#1154) 3 years ago
src Put everything in Context behind the same Mutex (#1050) 3 years ago
CHANGELOG.md Use tracing crate for logging (#1192) 3 years ago
Cargo.toml Simplify http demo and add new download_image eframe demo 3 years ago
README.md Switch to using glow as the default renderer both on native and the web (#1020) 3 years ago

README.md

eframe: the egui framework

Latest version Documentation unsafe forbidden MIT Apache

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).