1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
use super::*;
pub trait Env: Sized + Clone + PartialEq + Send + Sync + 'static {
type Backend: Backend<Self>;
type Context: Context<Self>;
type Storage: Widgets<Self>;
type WidgetID: WidgetID;
type WidgetPath: WidgetPath<Self>;
type ValidState: ValidState;
}
pub trait EnvFlexStyleVariant: Env {
type StyleVariant: StyleVariant;
}
pub trait EnvFlexCtxHandler: Env {
type CtxHandler: Handler<Self>;
}
pub trait ValidState {
fn valid() -> Self;
fn rerender(&self) -> bool;
fn relayout(&self) -> bool;
}