use crate::{HasEvents, WeakWidget, Widget}; pub struct EventCtx<'a, Rsc: HasEvents, Data> { pub state: &'a mut Rsc::State, pub data: Data, } pub struct EventIdCtx<'a, Rsc: HasEvents, Data, W: ?Sized> { pub widget: WeakWidget, pub state: &'a mut Rsc::State, pub data: Data, } impl EventIdCtx<'_, Rsc, Data, W> { pub fn widget<'a>(&self, rsc: &'a mut Rsc) -> &'a mut W { &mut rsc.ui_mut().widgets[self.widget] } }