egui basic example implemented

master
Joey Pollack 2 years ago
parent 9dad5dbde4
commit 044265dc51

1
.gitattributes vendored

@ -0,0 +1 @@
*.png filter=lfs diff=lfs merge=lfs -text

2
.gitignore vendored

@ -6,7 +6,7 @@ target/
# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
Cargo.lock
# Cargo.lock
# These are backup files generated by rustfmt
**/*.rs.bk

3757
Cargo.lock generated

File diff suppressed because it is too large Load Diff

@ -0,0 +1,12 @@
[package]
name = "jpmmv"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
egui = "*"
egui_extras = { version = "*", features = ["default", "image"] }
eframe = "*"
env_logger = "*"

BIN
assets/Music Note.png (Stored with Git LFS)

Binary file not shown.

@ -0,0 +1,63 @@
use eframe::egui;
fn main() -> Result<(), eframe::Error>
{
env_logger::init(); // Log to stderr (if you run with `RUST_LOG=debug`).
let options = eframe::NativeOptions {
viewport: egui::ViewportBuilder::default().with_inner_size([320.0, 240.0]),
..Default::default()
};
eframe::run_native(
"My egui App",
options,
Box::new(|cc| {
// This gives us image support:
egui_extras::install_image_loaders(&cc.egui_ctx);
Box::<JpmmvApp>::default()
}),
)
}
struct JpmmvApp
{
name: String,
age: u32,
}
impl Default for JpmmvApp
{
fn default() -> Self
{
Self {
name: "Arthur".to_owned(),
age: 42,
}
}
}
impl eframe::App for JpmmvApp
{
fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame)
{
egui::CentralPanel::default().show(ctx, |ui|
{
ui.heading("My egui Application");
ui.horizontal(|ui| {
let name_label = ui.label("Your name: ");
ui.text_edit_singleline(&mut self.name)
.labelled_by(name_label.id);
});
ui.add(egui::Slider::new(&mut self.age, 0..=120).text("age"));
if ui.button("Increment").clicked() {
self.age += 1;
}
ui.label(format!("Hello '{}', age {}", self.name, self.age));
ui.image(egui::include_image!(
"../assets/Music Note.png"
));
});
}
}
Loading…
Cancel
Save