mirror of
https://github.com/emilk/egui.git
synced 2026-09-02 06:40:06 -04:00
<!-- Please read the "Making a PR" section of [`CONTRIBUTING.md`](https://github.com/emilk/egui/blob/master/CONTRIBUTING.md) before opening a Pull Request! * Keep your PR:s small and focused. * If applicable, add a screenshot or gif. * If it is a non-trivial addition, consider adding a demo for it to `egui_demo_lib`, or a new example. * Do NOT open PR:s from your `master` branch, as that makes it hard for maintainers to add commits to your PR. * Remember to run `cargo fmt` and `cargo cranky`. * Open the PR as a draft until you have self-reviewed it and run `./scripts/check.sh`. * When you have addressed a PR comment, mark it as resolved. Please be patient! I will review your PR, but my time is limited! --> Closes <https://github.com/emilk/egui/issues/THE_RELEVANT_ISSUE>.
42 lines
1.2 KiB
Rust
42 lines
1.2 KiB
Rust
#[derive(Default)]
|
|
#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
|
|
#[cfg_attr(feature = "serde", serde(default))]
|
|
pub struct Highlighting {}
|
|
|
|
impl super::Demo for Highlighting {
|
|
fn name(&self) -> &'static str {
|
|
"Highlighting"
|
|
}
|
|
|
|
fn show(&mut self, ctx: &egui::Context, open: &mut bool) {
|
|
egui::Window::new(self.name())
|
|
.default_width(320.0)
|
|
.open(open)
|
|
.show(ctx, |ui| {
|
|
use super::View as _;
|
|
self.ui(ui);
|
|
});
|
|
}
|
|
}
|
|
|
|
impl super::View for Highlighting {
|
|
fn ui(&mut self, ui: &mut egui::Ui) {
|
|
ui.vertical_centered(|ui| {
|
|
ui.add(crate::egui_github_link_file!());
|
|
});
|
|
|
|
ui.label("This demo demonstrates highlighting a widget.");
|
|
ui.add_space(4.0);
|
|
let label_response = ui.label("Hover me to highlight the button!");
|
|
ui.add_space(4.0);
|
|
let mut button_response = ui.button("Hover the button to highlight the label!");
|
|
|
|
if label_response.hovered() {
|
|
button_response = button_response.highlight();
|
|
}
|
|
if button_response.hovered() {
|
|
label_response.highlight();
|
|
}
|
|
}
|
|
}
|