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),