Use hover widget in bezier_tool example

This commit is contained in:
Héctor Ramón Jiménez 2024-04-27 06:06:28 +02:00
parent 23ef6547ad
commit a16a75a71d
No known key found for this signature in database
GPG key ID: 7CC46565708259A7

View file

@ -1,6 +1,6 @@
//! This example showcases an interactive `Canvas` for drawing Bézier curves. //! This example showcases an interactive `Canvas` for drawing Bézier curves.
use iced::alignment; use iced::alignment;
use iced::widget::{button, container, stack}; use iced::widget::{button, container, horizontal_space, hover};
use iced::{Element, Length, Theme}; use iced::{Element, Length, Theme};
pub fn main() -> iced::Result { pub fn main() -> iced::Result {
@ -37,17 +37,21 @@ impl Example {
} }
fn view(&self) -> Element<Message> { fn view(&self) -> Element<Message> {
container(stack![ container(hover(
self.bezier.view(&self.curves).map(Message::AddCurve), self.bezier.view(&self.curves).map(Message::AddCurve),
if self.curves.is_empty() {
container(horizontal_space())
} else {
container( container(
button("Clear") button("Clear")
.style(button::danger) .style(button::danger)
.on_press(Message::Clear) .on_press(Message::Clear),
) )
.padding(10) .padding(10)
.width(Length::Fill) .width(Length::Fill)
.align_x(alignment::Horizontal::Right), .align_x(alignment::Horizontal::Right)
]) },
))
.padding(20) .padding(20)
.into() .into()
} }