Implement Widget::overlay for Responsive widget

This commit is contained in:
Héctor Ramón Jiménez 2022-01-12 11:15:05 +07:00
parent 5a03cac7e7
commit 870d651f35
No known key found for this signature in database
GPG key ID: 140CC052C94F138E
13 changed files with 440 additions and 248 deletions

View file

@ -1,3 +1,5 @@
use crate::{Cache, CacheBuilder};
use iced_native::event;
use iced_native::layout::{self, Layout};
use iced_native::mouse;
@ -62,15 +64,6 @@ struct State<'a, Message: 'a, Renderer: 'a, Event: 'a> {
cache: Option<Cache<'this, Event, Renderer>>,
}
#[self_referencing]
struct Cache<'a, Message: 'a, Renderer: 'a> {
element: Element<'a, Message, Renderer>,
#[borrows(mut element)]
#[covariant]
overlay: Option<overlay::Element<'this, Message, Renderer>>,
}
impl<'a, Message, Renderer, Event> Instance<'a, Message, Renderer, Event> {
fn with_element<T>(
&self,