MCPcopy Create free account
hub / github.com/angular-rust/ux-components / init

Method init

src/foundation/material_application_host.rs:58–99  ·  view source on GitHub ↗
(
        runner: &mut MaterialApplication,
        store: &mut Store<Self::Context, StoreKey>,
        context: &mut Self::Context,
    )

Source from the content-addressed store, hash-verified

56
57impl<T> AsyncActivityHost<MaterialApplication> for MaterialApplicationHost<T> {
58 fn init(
59 runner: &mut MaterialApplication,
60 store: &mut Store<Self::Context, StoreKey>,
61 context: &mut Self::Context,
62 ) -> Result<Self, Self::Error> {
63 let painter = Rc::new(Painter::new());
64
65 // Composition root in terms of Dependecy Injection
66 // We fill WidgetRenderFactory with default render implementations
67 {
68 let factory = WidgetRenderFactory::global();
69 factory.register(box AppBarRender::new(painter.clone()));
70 factory.register(box ButtonRender);
71 factory.register(box CanvasRender);
72 factory.register(box CheckboxRender);
73 factory.register(box DividerRender::new(painter.clone()));
74 factory.register(box DropdownRender);
75 factory.register(box ImageRender::new(painter.clone()));
76 factory.register(box LabelRender);
77 factory.register(box ListRender);
78 factory.register(box MaterialAppRender::new(painter.clone())); // set the projection matrix and do other necessary things
79 factory.register(box MaterialButtonRender::new(painter.clone()));
80 factory.register(box NavigationRailDestinationRender::new(painter.clone()));
81 factory.register(box NavigationRailRender::new(painter.clone()));
82 factory.register(box PanelRender);
83 factory.register(box ProgressIndicatorRender);
84 factory.register(box ScaffoldRender::new(painter.clone()));
85 factory.register(box ScrollableRender);
86 factory.register(box SliderRender);
87 factory.register(box TextRender::new(painter.clone()));
88 factory.register(box TextEditRender);
89 factory.register(box VerticalDividerRender::new(painter.clone()));
90 factory.register(box WindowRender);
91 }
92
93 Ok(Self {
94 phantom: PhantomData,
95 root: box NoneElement::default(),
96 cursor: Point2::new(0.0, 0.0),
97 painter,
98 })
99 }
100}
101
102impl<T> AsyncActivity<MaterialApplication> for MaterialApplicationHost<T> {

Callers

nothing calls this directly

Calls 2

registerMethod · 0.80
cloneMethod · 0.45

Tested by

no test coverage detected