mirror of
https://github.com/servo/servo.git
synced 2025-08-04 05:00:08 +01:00
Move DOM nodes into dom/base
This commit is contained in:
parent
8131d62e41
commit
e089607ea0
2 changed files with 34 additions and 28 deletions
|
@ -0,0 +1,33 @@
|
||||||
|
import dom::rcu::methods;
|
||||||
|
import gfx::geom::{au, size};
|
||||||
|
import layout::base::box;
|
||||||
|
import util::tree;
|
||||||
|
|
||||||
|
enum node_data = {
|
||||||
|
tree: tree::fields<node>,
|
||||||
|
kind: node_kind,
|
||||||
|
|
||||||
|
// Points to the primary box. Note that there may be multiple
|
||||||
|
// boxes per DOM node.
|
||||||
|
mut box: option<box>,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum node_kind {
|
||||||
|
nk_div,
|
||||||
|
nk_img(size<au>)
|
||||||
|
}
|
||||||
|
|
||||||
|
type node = rcu::handle<node_data>;
|
||||||
|
|
||||||
|
impl of tree::tree for node {
|
||||||
|
fn tree_fields() -> tree::fields<node> {
|
||||||
|
ret self.get().tree;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn new_node(+k: node_kind) -> node {
|
||||||
|
rcu::handle(node_data({tree: tree::empty(),
|
||||||
|
kind: k,
|
||||||
|
mut box: none}))
|
||||||
|
}
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
import dom::base::{nk_img, node_data, node_kind, node, new_node};
|
||||||
import dom::rcu;
|
import dom::rcu;
|
||||||
import dom::rcu::methods;
|
import dom::rcu::methods;
|
||||||
import gfx::geom;
|
import gfx::geom;
|
||||||
|
@ -10,40 +11,12 @@ enum box = @{
|
||||||
mut bounds: geom::rect<au>
|
mut bounds: geom::rect<au>
|
||||||
};
|
};
|
||||||
|
|
||||||
enum node_data = {
|
|
||||||
tree: tree::fields<node>,
|
|
||||||
kind: node_kind,
|
|
||||||
|
|
||||||
// Points to the primary box. Note that there may be multiple
|
|
||||||
// boxes per DOM node.
|
|
||||||
mut box: option<box>,
|
|
||||||
};
|
|
||||||
|
|
||||||
enum node_kind {
|
|
||||||
nk_div,
|
|
||||||
nk_img(size<au>)
|
|
||||||
}
|
|
||||||
|
|
||||||
type node = rcu::handle<node_data>;
|
|
||||||
|
|
||||||
impl of tree::tree for box {
|
impl of tree::tree for box {
|
||||||
fn tree_fields() -> tree::fields<box> {
|
fn tree_fields() -> tree::fields<box> {
|
||||||
ret self.tree;
|
ret self.tree;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl of tree::tree for node {
|
|
||||||
fn tree_fields() -> tree::fields<node> {
|
|
||||||
ret self.get().tree;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn new_node(+k: node_kind) -> node {
|
|
||||||
rcu::handle(node_data({tree: tree::empty(),
|
|
||||||
kind: k,
|
|
||||||
mut box: none}))
|
|
||||||
}
|
|
||||||
|
|
||||||
fn new_box(n: node) -> box {
|
fn new_box(n: node) -> box {
|
||||||
box(@{tree: tree::empty(),
|
box(@{tree: tree::empty(),
|
||||||
node: n,
|
node: n,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue