update dependancy to stretch2 master and remove refrences to tree
This commit is contained in:
1 parent
06e8785938
commit
351722d136
10 files changed
+125
-191
No files matched your search
+28
-28
@@ -166,7 +166,7 @@ impl InnerInputState {
|
||||
evts: &mut Vec<EventCore>,
|
||||
resolved_events: &mut Vec<UserEvent>,
|
||||
layout: &Stretch,
|
||||
tree: &mut RealDom<StretchLayout, StyleModifier>,
|
||||
dom: &mut RealDom<StretchLayout, StyleModifier>,
|
||||
) {
|
||||
let previous_mouse = self
|
||||
.mouse
|
||||
@@ -179,7 +179,7 @@ impl InnerInputState {
|
||||
self.apply_event(e);
|
||||
}
|
||||
|
||||
self.resolve_mouse_events(previous_mouse, resolved_events, layout, tree);
|
||||
self.resolve_mouse_events(previous_mouse, resolved_events, layout, dom);
|
||||
|
||||
// for s in &self.subscribers {
|
||||
// s();
|
||||
@@ -191,7 +191,7 @@ impl InnerInputState {
|
||||
previous_mouse: Option<(MouseData, Vec<u16>)>,
|
||||
resolved_events: &mut Vec<UserEvent>,
|
||||
layout: &Stretch,
|
||||
tree: &mut RealDom<StretchLayout, StyleModifier>,
|
||||
dom: &mut RealDom<StretchLayout, StyleModifier>,
|
||||
) {
|
||||
struct Data<'b> {
|
||||
new_pos: (i32, i32),
|
||||
@@ -216,14 +216,14 @@ impl InnerInputState {
|
||||
will_bubble: &mut FxHashSet<ElementId>,
|
||||
resolved_events: &mut Vec<UserEvent>,
|
||||
node: &Node<StretchLayout, StyleModifier>,
|
||||
tree: &RealDom<StretchLayout, StyleModifier>,
|
||||
dom: &RealDom<StretchLayout, StyleModifier>,
|
||||
) {
|
||||
// only trigger event if the event was not triggered already by a child
|
||||
if will_bubble.insert(node.id) {
|
||||
let mut parent = node.parent;
|
||||
while let Some(parent_id) = parent {
|
||||
will_bubble.insert(parent_id);
|
||||
parent = tree[parent_id.0].parent;
|
||||
parent = dom[parent_id.0].parent;
|
||||
}
|
||||
resolved_events.push(UserEvent {
|
||||
scope_id: None,
|
||||
@@ -260,7 +260,7 @@ impl InnerInputState {
|
||||
{
|
||||
// mousemove
|
||||
let mut will_bubble = FxHashSet::default();
|
||||
for node in tree.get_listening_sorted("mousemove") {
|
||||
for node in dom.get_listening_sorted("mousemove") {
|
||||
let node_layout = layout.layout(node.up_state.node.unwrap()).unwrap();
|
||||
let previously_contained = data
|
||||
.old_pos
|
||||
@@ -275,7 +275,7 @@ impl InnerInputState {
|
||||
&mut will_bubble,
|
||||
resolved_events,
|
||||
node,
|
||||
tree,
|
||||
dom,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -284,7 +284,7 @@ impl InnerInputState {
|
||||
{
|
||||
// mouseenter
|
||||
let mut will_bubble = FxHashSet::default();
|
||||
for node in tree.get_listening_sorted("mouseenter") {
|
||||
for node in dom.get_listening_sorted("mouseenter") {
|
||||
let node_layout = layout.layout(node.up_state.node.unwrap()).unwrap();
|
||||
let previously_contained = data
|
||||
.old_pos
|
||||
@@ -299,7 +299,7 @@ impl InnerInputState {
|
||||
&mut will_bubble,
|
||||
resolved_events,
|
||||
node,
|
||||
tree,
|
||||
dom,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -308,7 +308,7 @@ impl InnerInputState {
|
||||
{
|
||||
// mouseover
|
||||
let mut will_bubble = FxHashSet::default();
|
||||
for node in tree.get_listening_sorted("mouseover") {
|
||||
for node in dom.get_listening_sorted("mouseover") {
|
||||
let node_layout = layout.layout(node.up_state.node.unwrap()).unwrap();
|
||||
let previously_contained = data
|
||||
.old_pos
|
||||
@@ -323,7 +323,7 @@ impl InnerInputState {
|
||||
&mut will_bubble,
|
||||
resolved_events,
|
||||
node,
|
||||
tree,
|
||||
dom,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -332,7 +332,7 @@ impl InnerInputState {
|
||||
{
|
||||
// mousedown
|
||||
let mut will_bubble = FxHashSet::default();
|
||||
for node in tree.get_listening_sorted("mousedown") {
|
||||
for node in dom.get_listening_sorted("mousedown") {
|
||||
let node_layout = layout.layout(node.up_state.node.unwrap()).unwrap();
|
||||
let currently_contains = layout_contains_point(node_layout, data.new_pos);
|
||||
|
||||
@@ -343,7 +343,7 @@ impl InnerInputState {
|
||||
&mut will_bubble,
|
||||
resolved_events,
|
||||
node,
|
||||
tree,
|
||||
dom,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -352,7 +352,7 @@ impl InnerInputState {
|
||||
{
|
||||
// mouseup
|
||||
let mut will_bubble = FxHashSet::default();
|
||||
for node in tree.get_listening_sorted("mouseup") {
|
||||
for node in dom.get_listening_sorted("mouseup") {
|
||||
let node_layout = layout.layout(node.up_state.node.unwrap()).unwrap();
|
||||
let currently_contains = layout_contains_point(node_layout, data.new_pos);
|
||||
|
||||
@@ -363,7 +363,7 @@ impl InnerInputState {
|
||||
&mut will_bubble,
|
||||
resolved_events,
|
||||
node,
|
||||
tree,
|
||||
dom,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -372,7 +372,7 @@ impl InnerInputState {
|
||||
{
|
||||
// click
|
||||
let mut will_bubble = FxHashSet::default();
|
||||
for node in tree.get_listening_sorted("click") {
|
||||
for node in dom.get_listening_sorted("click") {
|
||||
let node_layout = layout.layout(node.up_state.node.unwrap()).unwrap();
|
||||
let currently_contains = layout_contains_point(node_layout, data.new_pos);
|
||||
|
||||
@@ -383,7 +383,7 @@ impl InnerInputState {
|
||||
&mut will_bubble,
|
||||
resolved_events,
|
||||
node,
|
||||
tree,
|
||||
dom,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -392,7 +392,7 @@ impl InnerInputState {
|
||||
{
|
||||
// contextmenu
|
||||
let mut will_bubble = FxHashSet::default();
|
||||
for node in tree.get_listening_sorted("contextmenu") {
|
||||
for node in dom.get_listening_sorted("contextmenu") {
|
||||
let node_layout = layout.layout(node.up_state.node.unwrap()).unwrap();
|
||||
let currently_contains = layout_contains_point(node_layout, data.new_pos);
|
||||
|
||||
@@ -403,7 +403,7 @@ impl InnerInputState {
|
||||
&mut will_bubble,
|
||||
resolved_events,
|
||||
node,
|
||||
tree,
|
||||
dom,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -412,7 +412,7 @@ impl InnerInputState {
|
||||
{
|
||||
// wheel
|
||||
let mut will_bubble = FxHashSet::default();
|
||||
for node in tree.get_listening_sorted("wheel") {
|
||||
for node in dom.get_listening_sorted("wheel") {
|
||||
let node_layout = layout.layout(node.up_state.node.unwrap()).unwrap();
|
||||
let currently_contains = layout_contains_point(node_layout, data.new_pos);
|
||||
|
||||
@@ -424,7 +424,7 @@ impl InnerInputState {
|
||||
&mut will_bubble,
|
||||
resolved_events,
|
||||
node,
|
||||
tree,
|
||||
dom,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -434,7 +434,7 @@ impl InnerInputState {
|
||||
{
|
||||
// mouseleave
|
||||
let mut will_bubble = FxHashSet::default();
|
||||
for node in tree.get_listening_sorted("mouseleave") {
|
||||
for node in dom.get_listening_sorted("mouseleave") {
|
||||
let node_layout = layout.layout(node.up_state.node.unwrap()).unwrap();
|
||||
let previously_contained = data
|
||||
.old_pos
|
||||
@@ -449,7 +449,7 @@ impl InnerInputState {
|
||||
&mut will_bubble,
|
||||
resolved_events,
|
||||
node,
|
||||
tree,
|
||||
dom,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -458,7 +458,7 @@ impl InnerInputState {
|
||||
{
|
||||
// mouseout
|
||||
let mut will_bubble = FxHashSet::default();
|
||||
for node in tree.get_listening_sorted("mouseout") {
|
||||
for node in dom.get_listening_sorted("mouseout") {
|
||||
let node_layout = layout.layout(node.up_state.node.unwrap()).unwrap();
|
||||
let previously_contained = data
|
||||
.old_pos
|
||||
@@ -473,7 +473,7 @@ impl InnerInputState {
|
||||
&mut will_bubble,
|
||||
resolved_events,
|
||||
node,
|
||||
tree,
|
||||
dom,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -525,7 +525,7 @@ impl RinkInputHandler {
|
||||
pub fn get_events(
|
||||
&self,
|
||||
layout: &Stretch,
|
||||
tree: &mut RealDom<StretchLayout, StyleModifier>,
|
||||
dom: &mut RealDom<StretchLayout, StyleModifier>,
|
||||
) -> Vec<UserEvent> {
|
||||
let mut resolved_events = Vec::new();
|
||||
|
||||
@@ -533,7 +533,7 @@ impl RinkInputHandler {
|
||||
&mut (*self.queued_events).borrow_mut(),
|
||||
&mut resolved_events,
|
||||
layout,
|
||||
tree,
|
||||
dom,
|
||||
);
|
||||
|
||||
let events = self
|
||||
@@ -569,7 +569,7 @@ impl RinkInputHandler {
|
||||
}
|
||||
}
|
||||
for (event, datas) in hm {
|
||||
for node in tree.get_listening_sorted(event) {
|
||||
for node in dom.get_listening_sorted(event) {
|
||||
for data in &datas {
|
||||
resolved_events.push(UserEvent {
|
||||
scope_id: None,
|
||||
|
||||
+13
-13
@@ -68,11 +68,11 @@ pub fn launch_cfg(app: Component<()>, cfg: Config) {
|
||||
cx.provide_root_context(state);
|
||||
cx.provide_root_context(TuiContext { tx: event_tx_clone });
|
||||
|
||||
let mut tree: RealDom<StretchLayout, StyleModifier> = RealDom::new();
|
||||
let mut rdom: RealDom<StretchLayout, StyleModifier> = RealDom::new();
|
||||
let mutations = dom.rebuild();
|
||||
let to_update = tree.apply_mutations(vec![mutations]);
|
||||
let to_update = rdom.apply_mutations(vec![mutations]);
|
||||
let mut stretch = Stretch::new();
|
||||
let _to_rerender = tree
|
||||
let _to_rerender = rdom
|
||||
.update_state(&dom, to_update, &mut stretch, &mut ())
|
||||
.unwrap();
|
||||
|
||||
@@ -81,7 +81,7 @@ pub fn launch_cfg(app: Component<()>, cfg: Config) {
|
||||
event_rx,
|
||||
handler,
|
||||
cfg,
|
||||
tree,
|
||||
rdom,
|
||||
stretch,
|
||||
register_event,
|
||||
)
|
||||
@@ -93,7 +93,7 @@ fn render_vdom(
|
||||
mut event_reciever: UnboundedReceiver<InputEvent>,
|
||||
handler: RinkInputHandler,
|
||||
cfg: Config,
|
||||
mut tree: RealDom<StretchLayout, StyleModifier>,
|
||||
mut rdom: RealDom<StretchLayout, StyleModifier>,
|
||||
mut stretch: Stretch,
|
||||
mut register_event: impl FnMut(crossterm::event::Event),
|
||||
) -> Result<()> {
|
||||
@@ -130,8 +130,8 @@ fn render_vdom(
|
||||
let dims = frame.size();
|
||||
let width = dims.width;
|
||||
let height = dims.height;
|
||||
let root_id = tree.root_id();
|
||||
let root_node = tree[root_id].up_state.node.unwrap();
|
||||
let root_id = rdom.root_id();
|
||||
let root_node = rdom[root_id].up_state.node.unwrap();
|
||||
|
||||
stretch
|
||||
.compute_layout(
|
||||
@@ -142,8 +142,8 @@ fn render_vdom(
|
||||
},
|
||||
)
|
||||
.unwrap();
|
||||
let root = &tree[tree.root_id()];
|
||||
render::render_vnode(frame, &stretch, &tree, &root, cfg);
|
||||
let root = &rdom[rdom.root_id()];
|
||||
render::render_vnode(frame, &stretch, &rdom, &root, cfg);
|
||||
})?;
|
||||
}
|
||||
|
||||
@@ -182,16 +182,16 @@ fn render_vdom(
|
||||
|
||||
{
|
||||
// resolve events before rendering
|
||||
let evts = handler.get_events(&stretch, &mut tree);
|
||||
let evts = handler.get_events(&stretch, &mut rdom);
|
||||
for e in evts {
|
||||
vdom.handle_message(SchedulerMsg::Event(e));
|
||||
}
|
||||
let mutations = vdom.work_with_deadline(|| false);
|
||||
// updates the tree's nodes
|
||||
let to_update = tree.apply_mutations(mutations);
|
||||
// updates the dom's nodes
|
||||
let to_update = rdom.apply_mutations(mutations);
|
||||
// update the style and layout
|
||||
to_rerender.extend(
|
||||
tree.update_state(vdom, to_update, &mut stretch, &mut ())
|
||||
rdom.update_state(vdom, to_update, &mut stretch, &mut ())
|
||||
.unwrap()
|
||||
.iter(),
|
||||
)
|
||||
|
||||
@@ -23,7 +23,7 @@ const RADIUS_MULTIPLIER: [f32; 2] = [1.0, 0.5];
|
||||
pub fn render_vnode(
|
||||
frame: &mut tui::Frame<CrosstermBackend<Stdout>>,
|
||||
layout: &Stretch,
|
||||
tree: &RealDom<StretchLayout, StyleModifier>,
|
||||
rdom: &RealDom<StretchLayout, StyleModifier>,
|
||||
node: &Node<StretchLayout, StyleModifier>,
|
||||
cfg: Config,
|
||||
) {
|
||||
@@ -77,7 +77,7 @@ pub fn render_vnode(
|
||||
}
|
||||
|
||||
for c in children {
|
||||
render_vnode(frame, layout, tree, &tree[c.0], cfg);
|
||||
render_vnode(frame, layout, rdom, &rdom[c.0], cfg);
|
||||
}
|
||||
}
|
||||
NodeType::Placeholder => unreachable!(),
|
||||
|
||||
Reference in new issue
Block a user