egui/eframe
bthehacker dba949240f
Fix eframe changelog links to other changelogs (#1146)
Links to the changelogs of egui_web, egui-winit, and egui_glium were broken and led to a 404, fixed them by adding "../"
2022-01-22 11:33:39 +01:00
..
examples eframe: allow aborting an exit event (#1038) 2022-01-17 18:45:09 +01:00
src Put everything in Context behind the same Mutex (#1050) 2022-01-10 23:13:10 +01:00
Cargo.toml Simplify http demo and add new download_image eframe demo 2022-01-15 20:34:03 +01:00
CHANGELOG.md Fix eframe changelog links to other changelogs (#1146) 2022-01-22 11:33:39 +01:00
README.md Switch to using glow as the default renderer both on native and the web (#1020) 2021-12-31 15:17:55 +01:00

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