diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2005-12-31 06:17:36 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2005-12-31 06:17:36 +0000 |
commit | 6916d94356c03fbfc44293ba824519f5deed52cb (patch) | |
tree | 0f4af53dec96915660ef738eec350ea9f6cd850d /desktop/tree.h | |
parent | 43d4cfecf72e04a459c2fe4bdbe72d9d8cbf3f19 (diff) | |
download | netsurf-6916d94356c03fbfc44293ba824519f5deed52cb.tar.gz netsurf-6916d94356c03fbfc44293ba824519f5deed52cb.tar.bz2 |
[project @ 2005-12-31 06:17:36 by jmb]
Optimise degenerate trees by storing child tail pointer
svn path=/import/netsurf/; revision=1924
Diffstat (limited to 'desktop/tree.h')
-rw-r--r-- | desktop/tree.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/desktop/tree.h b/desktop/tree.h index 1c92b9f2f..b025195c2 100644 --- a/desktop/tree.h +++ b/desktop/tree.h @@ -69,6 +69,7 @@ struct node { struct node_element data; /* <-- Data to display */ struct node *parent; /* <-- Parent entry (NULL for root) */ struct node *child; /* <-- First child */ + struct node *last_child; /* <-- Last child */ struct node *previous; /* <-- Previous child of the parent */ struct node *next; /* <-- Next child of the parent */ @@ -97,7 +98,7 @@ void tree_initialise(struct tree *tree); void tree_initialise_nodes(struct node *root); void tree_handle_node_changed(struct tree *tree, struct node *node, bool recalculate_sizes, bool expansion); -void tree_handle_node_element_changed(struct tree *tree, +void tree_handle_node_element_changed(struct tree *tree, struct node_element *element); void tree_recalculate_node(struct node *node, bool recalculate_sizes); void tree_recalculate_node_positions(struct node *root); |