wip: move away from patch machine
This commit is contained in:
1 parent
62ae5d3bb9
commit
91f1b00517
1 file changed
+4
-1
@@ -438,6 +438,8 @@ abstract the real dom
|
|||||||
|
|
||||||
```rust
|
```rust
|
||||||
|
|
||||||
|
struct VirtualDom<Dom: RealDom>
|
||||||
|
|
||||||
trait RealDom {
|
trait RealDom {
|
||||||
type Node: RealNode;
|
type Node: RealNode;
|
||||||
fn get_node(&self, id: u32) -> &Self::Node;
|
fn get_node(&self, id: u32) -> &Self::Node;
|
||||||
@@ -454,7 +456,8 @@ trait RealNode {
|
|||||||
fn set_attr(&mut self, name, value);
|
fn set_attr(&mut self, name, value);
|
||||||
fn set_class(&mut self);
|
fn set_class(&mut self);
|
||||||
fn remove_attr(&mut self);
|
fn remove_attr(&mut self);
|
||||||
fn downcast_mut<T>(&mut self) -> Option<&mut T>;
|
// We can't have a generic type in trait objects, so instead we provide the inner as Any
|
||||||
|
fn raw_node_as_any_mut(&mut self) -> &mut dyn Any;
|
||||||
}
|
}
|
||||||
|
|
||||||
impl VirtualDom<Dom: RealDom> {
|
impl VirtualDom<Dom: RealDom> {
|
||||||
|
|||||||
Reference in new issue
Block a user