diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2013-08-17 21:54:56 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2013-08-17 21:54:56 (GMT) |
commit | e53684bebd74d0a8ade79082c618ebb21bdea361 (patch) | |
tree | 1a9e772134f2fea48ec06c78de1d2ceaef6b69ad /src/gtkext/graph/node-int.h | |
parent | a7d77562cd63f6cf0856b4cc19e245072af86f69 (diff) |
Replaced some parts of the graph computing for better results.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@356 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/gtkext/graph/node-int.h')
-rw-r--r-- | src/gtkext/graph/node-int.h | 34 |
1 files changed, 21 insertions, 13 deletions
diff --git a/src/gtkext/graph/node-int.h b/src/gtkext/graph/node-int.h index dca4af5..b153255 100644 --- a/src/gtkext/graph/node-int.h +++ b/src/gtkext/graph/node-int.h @@ -33,19 +33,16 @@ typedef unsigned int (* get_node_rank_fc) (const GGraphNode *); /* Réinitialise la position d'un noeud d'encapsulation. */ -typedef void (* node_set_pos_fc) (GGraphNode *, gint *, gint *); - -/* Réinitialise la position d'un noeud d'encapsulation. */ typedef void (* node_reset_pos_fc) (GGraphNode *); -/* Altère la position du noeud d'encapsulation. */ -typedef void (* node_set_pos_fc) (GGraphNode *, gint *, gint *); +/* Définit les abscisses relatives du contenu d'un noeud. */ +typedef void (* node_prepare_x_fc) (GGraphNode *, GGraphNode *); -/* Fournit la position du noeud d'encapsulation. */ -typedef void (* node_get_pos_fc) (const GGraphNode *, gint *, gint *); +/* Applique une position finale au noeud. */ +typedef void (* node_apply_pos_fc) (GGraphNode *); -/* Indique l'espace requis pour un noeud d'encapsulation. */ -typedef GtkAllocation (* node_get_alloc_fc) (const GGraphNode *); +/* Altère la position du noeud d'encapsulation. */ +typedef void (* node_set_pos_fc) (GGraphNode *, gint); /* Parcourt tous les noeuds graphiques dans un ordre donné. */ typedef bool (* visit_flow_nodes_fc) (GGraphNode *, graph_node_visitor_cb, void *); @@ -61,9 +58,9 @@ struct _GGraphNode get_node_rank_fc get_rank; /* Premier rang d'appartenance */ node_reset_pos_fc reset_pos; /* Réinitialise l'emplacement */ + node_prepare_x_fc prepare_x; /* Préparation des abscisses */ + node_apply_pos_fc apply_pos; /* Applique une absisse finale */ node_set_pos_fc set_pos; /* Définit l'emplacement */ - node_get_pos_fc get_pos; /* Fournit l'emplacement */ - node_get_alloc_fc get_alloc; /* Fournit l'espace nécessaire */ visit_flow_nodes_fc visit; /* Visite des noeuds d'exécut° */ find_container_fc contain; /* Retrouve un conteneur */ @@ -71,8 +68,19 @@ struct _GGraphNode char name[NODE_NAME_LEN]; /* Adresse sous forme humaine */ GtkAllocation alloc; /* Emplacement du bloc rattaché*/ - gint pending_x; /* Décallage à appliquer #1 */ - gint pending_y; /* Décallage à appliquer #2 */ + pending_position pending_pos; /* Indication sur la position */ + PendingPositionFlags pending_flag; /* Cible le champ valide */ + GGraphNode *pending_rel; /* Eventuelle ref. relative */ + + + + gint pending_x; /* Décallage à appliquer #1 */ /* TODO : remme */ + gint pending_y; /* Décallage à appliquer #2 */ /* TODO : remme */ + + bool direct_x; /* Position strictement vert. */ + gint pending_left_margin; /* Limite à ne pas dépasser #1 */ + gint pending_right_margin; /* Limite à ne pas dépasser #2 */ + }; |