diff --git a/res/icons/window-close-symbolic.svg b/res/icons/window-close-symbolic.svg
deleted file mode 100644
index 25336395..00000000
--- a/res/icons/window-close-symbolic.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/res/icons/window-maximize-symbolic.svg b/res/icons/window-maximize-symbolic.svg
deleted file mode 100644
index ef66334e..00000000
--- a/res/icons/window-maximize-symbolic.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/res/icons/window-minimize-symbolic.svg b/res/icons/window-minimize-symbolic.svg
deleted file mode 100644
index fdcf99b4..00000000
--- a/res/icons/window-minimize-symbolic.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/src/widget/context_drawer/overlay.rs b/src/widget/context_drawer/overlay.rs
index ede23a4f..434bf8db 100644
--- a/src/widget/context_drawer/overlay.rs
+++ b/src/widget/context_drawer/overlay.rs
@@ -8,6 +8,7 @@ use iced::advanced::widget::{self, Operation, OperationOutputWrapper};
use iced::advanced::{overlay, renderer};
use iced::advanced::{Clipboard, Shell};
use iced::{event, mouse, Event, Point, Rectangle, Size};
+use iced_core::Renderer;
pub(super) struct Overlay<'a, 'b, Message> {
pub(super) content: &'b mut Element<'a, Message>,
@@ -80,15 +81,17 @@ where
layout: Layout<'_>,
cursor: mouse::Cursor,
) {
- self.content.as_widget().draw(
- self.tree,
- renderer,
- theme,
- style,
- layout,
- cursor,
- &layout.bounds(),
- );
+ renderer.with_layer(layout.bounds(), |renderer| {
+ self.content.as_widget().draw(
+ self.tree,
+ renderer,
+ theme,
+ style,
+ layout,
+ cursor,
+ &layout.bounds(),
+ );
+ })
}
fn operate(
diff --git a/src/widget/header_bar.rs b/src/widget/header_bar.rs
index 62d3ea1b..d27a7252 100644
--- a/src/widget/header_bar.rs
+++ b/src/widget/header_bar.rs
@@ -350,8 +350,8 @@ impl<'a, Message: Clone + 'static> HeaderBar<'a, Message> {
/// Creates the widget for window controls.
fn window_controls(&mut self) -> Element<'a, Message> {
- let icon = |icon_bytes, size, on_press| {
- widget::icon::from_svg_bytes(icon_bytes)
+ let icon = |name, size, on_press| {
+ widget::icon::from_name(name)
.symbolic(true)
.apply(widget::button::icon)
.style(crate::theme::Button::HeaderBar)
@@ -368,27 +368,21 @@ impl<'a, Message: Clone + 'static> HeaderBar<'a, Message> {
};
widget::row::with_capacity(3)
- .push_maybe(self.on_minimize.take().map(|m| {
- icon(
- &include_bytes!("../../res/icons/window-minimize-symbolic.svg")[..],
- 16,
- m,
- )
- }))
- .push_maybe(self.on_maximize.take().map(|m| {
- icon(
- &include_bytes!("../../res/icons/window-maximize-symbolic.svg")[..],
- 16,
- m,
- )
- }))
- .push_maybe(self.on_close.take().map(|m| {
- icon(
- &include_bytes!("../../res/icons/window-close-symbolic.svg")[..],
- 16,
- m,
- )
- }))
+ .push_maybe(
+ self.on_minimize
+ .take()
+ .map(|m| icon("window-minimize-symbolic", 16, m)),
+ )
+ .push_maybe(
+ self.on_maximize
+ .take()
+ .map(|m| icon("window-maximize-symbolic", 16, m)),
+ )
+ .push_maybe(
+ self.on_close
+ .take()
+ .map(|m| icon("window-close-symbolic", 16, m)),
+ )
.spacing(spacing)
.apply(widget::container)
.height(Length::Fill)
diff --git a/src/widget/toaster/mod.rs b/src/widget/toaster/mod.rs
index 7da3d46f..f30ada5f 100644
--- a/src/widget/toaster/mod.rs
+++ b/src/widget/toaster/mod.rs
@@ -46,15 +46,8 @@ where
button::text(&action.description).on_press(action.message.clone())
}))
.push(
- button::icon(
- //TODO: include this in one place
- icon::from_svg_bytes(
- &include_bytes!("../../../res/icons/window-close-symbolic.svg")[..],
- )
- .symbolic(true),
- )
- .icon_size(16)
- .on_press(ToastMessage(toast.id).into()),
+ button::icon(icon::from_name("window-close-symbolic"))
+ .on_press(ToastMessage(toast.id).into()),
)
.align_items(iced::Alignment::Center)
.spacing(space_xxs),