use crate::{MaterialService, PathService, SvgService, TextService};
pub trait UiServices: TextService + PathService + SvgService + MaterialService {}
impl<T> UiServices for T where T: TextService + PathService + SvgService + MaterialService {}
impl dyn UiServices + '_ {
pub fn text(&mut self) -> &mut dyn TextService {
self
}
pub fn path(&mut self) -> &mut dyn PathService {
self
}
pub fn svg(&mut self) -> &mut dyn SvgService {
self
}
pub fn materials(&mut self) -> &mut dyn MaterialService {
self
}
}