Skip to content

Commit

Permalink
Update example screenshots
Browse files Browse the repository at this point in the history
  • Loading branch information
emilk committed Sep 27, 2023
1 parent a128b10 commit cfbad1f
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 34 deletions.
Binary file modified examples/hello_world/screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified examples/images/screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions examples/save_plot/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,5 @@ This example shows that you can save a plot in egui as a png.
```sh
cargo run -p save_plot
```

![](screenshot.png)
Binary file added examples/save_plot/screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
42 changes: 8 additions & 34 deletions examples/save_plot/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ fn main() -> Result<(), eframe::Error> {
env_logger::init(); // Log to stderr (if you run with `RUST_LOG=debug`).

let options = eframe::NativeOptions {
initial_window_size: Some(egui::vec2(350.0, 400.0)),
initial_window_size: Some(egui::vec2(350.0, 200.0)),
..Default::default()
};
eframe::run_native(
Expand All @@ -27,45 +27,19 @@ impl eframe::App for MyApp {
fn update(&mut self, ctx: &egui::Context, frame: &mut eframe::Frame) {
let mut plot_rect = None;
egui::CentralPanel::default().show(ctx, |ui| {
// these are just some dummy variables for the example,
// such that the plot is not at position (0,0)
let height = 200.0;
let border_x = 11.0;
let border_y = 18.0;
let width = 300.0;

ui.heading("My egui Application");

// add some whitespace in y direction
ui.add_space(border_y);

if ui.button("Save Plot").clicked() {
frame.request_screenshot();
}

// add some whitespace in y direction
ui.add_space(border_y);
let my_plot = Plot::new("My Plot").legend(Legend::default());

ui.horizontal(|ui| {
// add some whitespace in x direction
ui.add_space(border_x);

let my_plot = Plot::new("My Plot")
.height(height)
.width(width)
.legend(Legend::default());

// let's create a dummy line in the plot
let graph: Vec<[f64; 2]> = vec![[0.0, 1.0], [2.0, 3.0], [3.0, 2.0]];
let inner = my_plot.show(ui, |plot_ui| {
plot_ui.line(Line::new(PlotPoints::from(graph)).name("curve"));
});
// Remember the position of the plot
plot_rect = Some(inner.response.rect);
// let's create a dummy line in the plot
let graph: Vec<[f64; 2]> = vec![[0.0, 1.0], [2.0, 3.0], [3.0, 2.0]];
let inner = my_plot.show(ui, |plot_ui| {
plot_ui.line(Line::new(PlotPoints::from(graph)).name("curve"));
});

// add some whitespace in y direction
ui.add_space(border_y);
// Remember the position of the plot
plot_rect = Some(inner.response.rect);
});

if let (Some(screenshot), Some(plot_location)) = (self.screenshot.take(), plot_rect) {
Expand Down

0 comments on commit cfbad1f

Please sign in to comment.