Update example screenshots
This commit is contained in:
parent
a128b10ef4
commit
cfbad1f865
Binary file not shown.
|
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 12 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 12 KiB |
|
|
@ -3,3 +3,5 @@ This example shows that you can save a plot in egui as a png.
|
||||||
```sh
|
```sh
|
||||||
cargo run -p save_plot
|
cargo run -p save_plot
|
||||||
```
|
```
|
||||||
|
|
||||||
|

|
||||||
|
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 6.4 KiB |
|
|
@ -8,7 +8,7 @@ fn main() -> Result<(), eframe::Error> {
|
||||||
env_logger::init(); // Log to stderr (if you run with `RUST_LOG=debug`).
|
env_logger::init(); // Log to stderr (if you run with `RUST_LOG=debug`).
|
||||||
|
|
||||||
let options = eframe::NativeOptions {
|
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()
|
..Default::default()
|
||||||
};
|
};
|
||||||
eframe::run_native(
|
eframe::run_native(
|
||||||
|
|
@ -27,45 +27,19 @@ impl eframe::App for MyApp {
|
||||||
fn update(&mut self, ctx: &egui::Context, frame: &mut eframe::Frame) {
|
fn update(&mut self, ctx: &egui::Context, frame: &mut eframe::Frame) {
|
||||||
let mut plot_rect = None;
|
let mut plot_rect = None;
|
||||||
egui::CentralPanel::default().show(ctx, |ui| {
|
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() {
|
if ui.button("Save Plot").clicked() {
|
||||||
frame.request_screenshot();
|
frame.request_screenshot();
|
||||||
}
|
}
|
||||||
|
|
||||||
// add some whitespace in y direction
|
let my_plot = Plot::new("My Plot").legend(Legend::default());
|
||||||
ui.add_space(border_y);
|
|
||||||
|
|
||||||
ui.horizontal(|ui| {
|
// let's create a dummy line in the plot
|
||||||
// add some whitespace in x direction
|
let graph: Vec<[f64; 2]> = vec![[0.0, 1.0], [2.0, 3.0], [3.0, 2.0]];
|
||||||
ui.add_space(border_x);
|
let inner = my_plot.show(ui, |plot_ui| {
|
||||||
|
plot_ui.line(Line::new(PlotPoints::from(graph)).name("curve"));
|
||||||
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);
|
|
||||||
});
|
});
|
||||||
|
// Remember the position of the plot
|
||||||
// add some whitespace in y direction
|
plot_rect = Some(inner.response.rect);
|
||||||
ui.add_space(border_y);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
if let (Some(screenshot), Some(plot_location)) = (self.screenshot.take(), plot_rect) {
|
if let (Some(screenshot), Some(plot_location)) = (self.screenshot.take(), plot_rect) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue