mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
More impressive demo
This commit is contained in:
parent
f025074f4e
commit
c567034442
2 changed files with 22 additions and 39 deletions
|
@ -13,24 +13,8 @@ enum msg {
|
|||
fn content(layout: chan<layout::layout::msg>) -> chan<msg> {
|
||||
|
||||
task::spawn_listener::<msg> {|po|
|
||||
let s = scope();
|
||||
let n0 = s.new_node(nk_img(size(int_to_au(10),int_to_au(10))));
|
||||
let n1 = s.new_node(nk_img(size(int_to_au(10),int_to_au(15))));
|
||||
let n2 = s.new_node(nk_img(size(int_to_au(10),int_to_au(20))));
|
||||
let n3 = s.new_node(nk_div);
|
||||
|
||||
tree::add_child(n3, n0);
|
||||
tree::add_child(n3, n1);
|
||||
tree::add_child(n3, n2);
|
||||
|
||||
let b0 = layout::base::linked_box(n0);
|
||||
let b1 = layout::base::linked_box(n1);
|
||||
let b2 = layout::base::linked_box(n2);
|
||||
let b3 = layout::base::linked_box(n3);
|
||||
|
||||
tree::add_child(b3, b0);
|
||||
tree::add_child(b3, b1);
|
||||
tree::add_child(b3, b2);
|
||||
// TODO: Get a DOM from the parser
|
||||
// let s: int = scope();
|
||||
|
||||
// TODO: RCU this stuff over to layout
|
||||
loop {
|
||||
|
@ -39,7 +23,7 @@ fn content(layout: chan<layout::layout::msg>) -> chan<msg> {
|
|||
} else {
|
||||
#debug("content: requesting layout");
|
||||
layout.send(layout::layout::build);
|
||||
std::timer::sleep(100u);
|
||||
std::timer::sleep(1000u);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,31 +24,30 @@ fn layout(renderer: chan<renderer::msg>) -> chan<msg> {
|
|||
|
||||
spawn_listener::<msg> {|po|
|
||||
|
||||
let s = scope();
|
||||
let n0 = s.new_node(nk_img(size(int_to_au(10),int_to_au(10))));
|
||||
let n1 = s.new_node(nk_img(size(int_to_au(10),int_to_au(15))));
|
||||
let n2 = s.new_node(nk_img(size(int_to_au(10),int_to_au(20))));
|
||||
let n3 = s.new_node(nk_div);
|
||||
|
||||
tree::add_child(n3, n0);
|
||||
tree::add_child(n3, n1);
|
||||
tree::add_child(n3, n2);
|
||||
|
||||
let b0 = base::linked_box(n0);
|
||||
let b1 = base::linked_box(n1);
|
||||
let b2 = base::linked_box(n2);
|
||||
let b3 = base::linked_box(n3);
|
||||
|
||||
tree::add_child(b3, b0);
|
||||
tree::add_child(b3, b1);
|
||||
tree::add_child(b3, b2);
|
||||
let r = rand::rng();
|
||||
|
||||
loop {
|
||||
|
||||
let s = scope();
|
||||
let ndiv = s.new_node(nk_div);
|
||||
let bdiv = base::linked_box(ndiv);
|
||||
|
||||
iter::repeat(100u) {||
|
||||
let node = s.new_node(nk_img(
|
||||
size(
|
||||
int_to_au(r.next() as int % 800),
|
||||
int_to_au(r.next() as int % 200)
|
||||
)));
|
||||
tree::add_child(ndiv, node);
|
||||
let b = base::linked_box(node);
|
||||
tree::add_child(bdiv, b);
|
||||
}
|
||||
|
||||
alt recv(po) {
|
||||
build {
|
||||
#debug("layout: received layout request");
|
||||
base::reflow_block(b3, int_to_au(800));
|
||||
let dlist = build_display_list(b3);
|
||||
base::reflow_block(bdiv, int_to_au(800));
|
||||
let dlist = build_display_list(bdiv);
|
||||
|
||||
send(renderer, gfx::renderer::render(dlist));
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue