wip: update to use latest iced
This commit is contained in:
parent
ca1469a6b2
commit
f4ad098647
49 changed files with 956 additions and 854 deletions
|
|
@ -8,7 +8,6 @@ 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::Widget;
|
||||
|
||||
pub(super) struct Overlay<'a, 'b, Message> {
|
||||
pub(super) content: &'b mut Element<'a, Message>,
|
||||
|
|
@ -16,7 +15,8 @@ pub(super) struct Overlay<'a, 'b, Message> {
|
|||
pub(super) width: f32,
|
||||
}
|
||||
|
||||
impl<'a, 'b, Message> overlay::Overlay<Message, crate::Renderer> for Overlay<'a, 'b, Message>
|
||||
impl<'a, 'b, Message> overlay::Overlay<Message, crate::Theme, crate::Renderer>
|
||||
for Overlay<'a, 'b, Message>
|
||||
where
|
||||
Message: Clone,
|
||||
{
|
||||
|
|
@ -31,13 +31,13 @@ where
|
|||
.width(self.width)
|
||||
.height(bounds.height - 8.0 - position.y);
|
||||
|
||||
let mut node = self
|
||||
let node = self
|
||||
.content
|
||||
.as_widget()
|
||||
.layout(self.tree, renderer, &limits);
|
||||
let node_size = node.size();
|
||||
|
||||
node.move_to(Point {
|
||||
node.clone().move_to(Point {
|
||||
x: if bounds.width > node_size.width - 8.0 {
|
||||
bounds.width - node_size.width - 8.0
|
||||
} else {
|
||||
|
|
@ -48,9 +48,7 @@ where
|
|||
} else {
|
||||
0.0
|
||||
},
|
||||
});
|
||||
|
||||
node
|
||||
})
|
||||
}
|
||||
|
||||
fn on_event(
|
||||
|
|
@ -82,7 +80,7 @@ where
|
|||
layout: Layout<'_>,
|
||||
cursor: mouse::Cursor,
|
||||
) {
|
||||
self.content.draw(
|
||||
self.content.as_widget().draw(
|
||||
self.tree,
|
||||
renderer,
|
||||
theme,
|
||||
|
|
@ -120,7 +118,7 @@ where
|
|||
&'c mut self,
|
||||
layout: Layout<'_>,
|
||||
renderer: &crate::Renderer,
|
||||
) -> Option<overlay::Element<'c, Message, crate::Renderer>> {
|
||||
) -> Option<overlay::Element<'c, Message, crate::Theme, crate::Renderer>> {
|
||||
self.content
|
||||
.as_widget_mut()
|
||||
.overlay(self.tree, layout, renderer)
|
||||
|
|
|
|||
|
|
@ -8,9 +8,9 @@ use crate::{Apply, Element, Renderer, Theme};
|
|||
|
||||
use super::overlay::Overlay;
|
||||
|
||||
use iced_core::alignment;
|
||||
use iced_core::event::{self, Event};
|
||||
use iced_core::widget::{Operation, Tree};
|
||||
use iced_core::{alignment, Border};
|
||||
use iced_core::{
|
||||
layout, mouse, overlay as iced_overlay, renderer, Clipboard, Color, Layout, Length, Padding,
|
||||
Rectangle, Shell, Widget,
|
||||
|
|
@ -84,9 +84,11 @@ impl<'a, Message: Clone + 'static> ContextDrawer<'a, Message> {
|
|||
icon_color: Some(Color::from(palette.primary.on)),
|
||||
text_color: Some(Color::from(palette.primary.on)),
|
||||
background: Some(iced::Background::Color(palette.primary.base.into())),
|
||||
border_radius: palette.corner_radii.radius_s.into(),
|
||||
border_width: 0.0,
|
||||
border_color: Color::TRANSPARENT,
|
||||
border: Border {
|
||||
radius: palette.corner_radii.radius_s.into(),
|
||||
..Default::default()
|
||||
},
|
||||
..Default::default()
|
||||
}
|
||||
}))
|
||||
.layer(cosmic_theme::Layer::Primary)
|
||||
|
|
@ -105,7 +107,7 @@ impl<'a, Message: Clone + 'static> ContextDrawer<'a, Message> {
|
|||
}
|
||||
}
|
||||
|
||||
impl<'a, Message: Clone> Widget<Message, Renderer> for ContextDrawer<'a, Message> {
|
||||
impl<'a, Message: Clone> Widget<Message, crate::Theme, Renderer> for ContextDrawer<'a, Message> {
|
||||
fn children(&self) -> Vec<Tree> {
|
||||
vec![Tree::new(&self.content), Tree::new(&self.drawer)]
|
||||
}
|
||||
|
|
@ -114,12 +116,8 @@ impl<'a, Message: Clone> Widget<Message, Renderer> for ContextDrawer<'a, Message
|
|||
tree.diff_children(&mut [&mut self.content, &mut self.drawer]);
|
||||
}
|
||||
|
||||
fn width(&self) -> Length {
|
||||
self.content.as_widget().width()
|
||||
}
|
||||
|
||||
fn height(&self) -> Length {
|
||||
self.content.as_widget().height()
|
||||
fn size(&self) -> iced_core::Size<Length> {
|
||||
self.content.as_widget().size()
|
||||
}
|
||||
|
||||
fn layout(
|
||||
|
|
@ -211,7 +209,7 @@ impl<'a, Message: Clone> Widget<Message, Renderer> for ContextDrawer<'a, Message
|
|||
tree: &'b mut Tree,
|
||||
layout: Layout<'_>,
|
||||
_renderer: &Renderer,
|
||||
) -> Option<iced_overlay::Element<'b, Message, Renderer>> {
|
||||
) -> Option<iced_overlay::Element<'b, Message, crate::Theme, Renderer>> {
|
||||
let bounds = layout.bounds();
|
||||
|
||||
Some(iced_overlay::Element::new(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue