diff --git a/README.md b/README.md index dfc1916d..1b080482 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@
- + egui development is sponsored by [Rerun](https://www.rerun.io/), a startup doing
visualizations for computer vision and robotics. @@ -405,7 +405,7 @@ Default fonts: ---
- + egui development is sponsored by [Rerun](https://www.rerun.io/), a startup doing
visualizations for computer vision and robotics. diff --git a/crates/egui/src/lib.rs b/crates/egui/src/lib.rs index dc500516..e26e2625 100644 --- a/crates/egui/src/lib.rs +++ b/crates/egui/src/lib.rs @@ -163,7 +163,14 @@ //! //! # Understanding immediate mode //! -//! `egui` is an immediate mode GUI library. It is useful to fully grok what "immediate mode" implies. +//! `egui` is an immediate mode GUI library. +//! +//! Immediate mode has its roots in gaming, where everything on the screen is painted at the +//! display refresh rate, i.e. at 60+ frames per second. +//! In immediate mode GUIs, the entire interface is laid out and painted at the same high rate. +//! This makes immediate mode GUIs especially well suited for highly interactive applications. +//! +//! It is useful to fully grok what "immediate mode" implies. //! //! Here is an example to illustrate it: //! @@ -198,7 +205,7 @@ //! # }); //! ``` //! -//! Here egui will read `value` to display the slider, then look if the mouse is dragging the slider and if so change the `value`. +//! Here egui will read `value` (an `f32`) to display the slider, then look if the mouse is dragging the slider and if so change the `value`. //! Note that `egui` does not store the slider value for you - it only displays the current value, and changes it //! by how much the slider has been dragged in the previous few milliseconds. //! This means it is responsibility of the egui user to store the state (`value`) so that it persists between frames. diff --git a/crates/egui_demo_lib/src/demo/about.rs b/crates/egui_demo_lib/src/demo/about.rs index 57cbcd0c..434c7301 100644 --- a/crates/egui_demo_lib/src/demo/about.rs +++ b/crates/egui_demo_lib/src/demo/about.rs @@ -41,6 +41,15 @@ impl super::View for About { ui.add_space(12.0); // ui.separator(); ui.heading("Links"); links(ui); + + ui.add_space(12.0); + + ui.horizontal_wrapped(|ui| { + ui.spacing_mut().item_spacing.x = 0.0; + ui.label("egui development is sponsored by "); + ui.hyperlink_to("Rerun.io", "https://www.rerun.io/"); + ui.label(", a startup doing visualizations for computer vision and robotics."); + }); } } @@ -65,15 +74,10 @@ fn about_immediate_mode(ui: &mut egui::Ui) { ); ui.add_space(8.0); - ui.label("Note how there are no callbacks or messages, and no button state to store."); - - ui.label("Immediate mode has its roots in gaming, where everything on the screen is painted at the display refresh rate, i.e. at 60+ frames per second. \ - In immediate mode GUIs, the entire interface is laid out and painted at the same high rate. \ - This makes immediate mode GUIs especially well suited for highly interactive applications."); - ui.horizontal_wrapped(|ui| { ui.spacing_mut().item_spacing.x = 0.0; - ui.label("More about immediate mode "); + ui.label("There are no callbacks or messages, and no button state to store. "); + ui.label("Read more about immediate mode "); ui.hyperlink_to("here", "https://github.com/emilk/egui#why-immediate-mode"); ui.label("."); }); diff --git a/media/rerun_io_logo.png b/media/rerun_io_logo.png index 6af3db83..4a5f70ae 100644 Binary files a/media/rerun_io_logo.png and b/media/rerun_io_logo.png differ