1 unstable release
0.16.0 | Dec 10, 2024 |
---|
#935 in GUI
150 downloads per month
19KB
81 lines
egui bindings for macroquad
This crate is just a fork of egui-miniquad. For documentation, go there
use macroquad::prelude::*;
#[macroquad::main("egui with macroquad")]
async fn main() {
loop {
clear_background(WHITE);
// Process keys, mouse etc.
egui_macroquad::ui(|egui_ctx| {
egui::Window::new("egui ❤ macroquad")
.show(egui_ctx, |ui| {
ui.label("Test");
});
});
// Draw things before egui
egui_macroquad::draw();
// Draw things after egui
next_frame().await;
}
}
lib.rs
:
egui bindings for macroquad
This is the easiest way to use egui. Just two functions!
Usage
You need to call [ui
] when you need to get information from ui. Then, only after that function you must call draw
function when you need to draw egui contents. All this functions should be called each frame and once per frame.
Here is the small example on how to use this library:
use macroquad::prelude::*;
#[macroquad::main("egui with macroquad")]
async fn main() {
loop {
clear_background(WHITE);
// Process keys, mouse etc.
egui_macroquad::ui(|egui_ctx| {
egui::Window::new("egui ❤ macroquad")
.show(egui_ctx, |ui| {
ui.label("Test");
});
});
// Draw things before egui
egui_macroquad::draw();
// Draw things after egui
next_frame().await;
}
}
Building
Building for native and for web works just as in macroquad
. You can read about it here. Or you could look at building example at egui-miniquad.
But for wasm you will need to include two more .js
files, which is plugins for quads, instruction is written here.
Dependencies
~13–21MB
~365K SLoC