maycoon_widgets/
dummy.rs

1use maycoon_core::app::info::AppInfo;
2use maycoon_core::app::update::Update;
3use maycoon_core::layout::{LayoutNode, LayoutStyle, StyleNode};
4use maycoon_core::state::State;
5use maycoon_core::vg::Scene;
6use maycoon_core::widget::Widget;
7use maycoon_theme::id::WidgetId;
8use maycoon_theme::theme::Theme;
9
10/// A dummy Widget that does nothing. Useful for testing.
11///
12/// ### Theming
13/// It's a dummy widget.
14pub struct DummyWidget;
15
16impl<S: State> Widget<S> for DummyWidget {
17    fn render(&mut self, _: &mut Scene, _: &mut dyn Theme, _: &AppInfo, _: &LayoutNode, _: &S) {}
18
19    fn layout_style(&mut self, _: &S) -> StyleNode {
20        StyleNode {
21            style: LayoutStyle::default(),
22            children: Vec::new(),
23        }
24    }
25
26    fn update(&mut self, _: &LayoutNode, _: &mut S, _: &AppInfo) -> Update {
27        Update::empty()
28    }
29
30    fn widget_id(&self) -> WidgetId {
31        WidgetId::new("maycoon-widgets", "DummyWidget")
32    }
33}