diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2015-05-12 18:55:55 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2015-05-12 18:55:55 (GMT) |
commit | 4605b4ac4a04bb11bdf91d77e248656702774bde (patch) | |
tree | 4987c19b0f739ef7cb89ac80068233d6fb037819 /src/gtkext/graph/node.h | |
parent | 46bcc7f122245f22772fd3e38d16e6afa7bd5881 (diff) |
Ensured parent nodes are centered on their children when expected.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@534 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/gtkext/graph/node.h')
-rw-r--r-- | src/gtkext/graph/node.h | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/src/gtkext/graph/node.h b/src/gtkext/graph/node.h index 502b366..6d3589a 100644 --- a/src/gtkext/graph/node.h +++ b/src/gtkext/graph/node.h @@ -55,11 +55,24 @@ typedef struct _GGraphNodeClass GGraphNodeClass; /* Indications sur l'abscisse idéale à adopter */ typedef union _pending_position { - gint direct_x; /* Position strictement vert. */ - gint left_margin; /* Limite à ne pas dépasser #1 */ - gint right_margin; /* Limite à ne pas dépasser #2 */ - GGraphNode *left_node; /* Noeud de référence à droite */ - GGraphNode *right_node; /* Noeud de référence à gauche */ + /* PPF_DIRECT_X, PPF_LEFT_MARGIN, PPF_RIGHT_MARGIN */ + struct + { + union + { + gint direct_x; /* Position strictement vert. */ + gint left_margin; /* Limite à ne pas dépasser #1 */ + gint right_margin; /* Limite à ne pas dépasser #2 */ + }; + GGraphNode *relative_ref; /* Eventuelle ref. relative */ + }; + + /* PPF_LEFT_NODE, PPF_RIGHT_NODE, PPF_MIDDLE_OF */ + struct + { + GGraphNode *left_node; /* Noeud de référence à droite */ + GGraphNode *right_node; /* Noeud de référence à gauche */ + }; } pending_position; @@ -71,7 +84,8 @@ typedef enum _PendingPositionFlags PPF_LEFT_MARGIN, /* Limite à ne pas dépasser #1 */ PPF_RIGHT_MARGIN, /* Limite à ne pas dépasser #2 */ PPF_LEFT_NODE, /* Noeud de référence à droite */ - PPF_RIGHT_NODE /* Noeud de référence à gauche */ + PPF_RIGHT_NODE, /* Noeud de référence à gauche */ + PPF_MIDDLE_OF /* Centré entre deux noeuds */ } PendingPositionFlags; @@ -107,7 +121,7 @@ void g_graph_node_apply_position(GGraphNode *); void g_graph_node_set_x_position(GGraphNode *, gint); /* Prépare la position du noeud pour l'alignement des liens. */ -void g_graph_node_set_pending_position(GGraphNode *, PendingPositionFlags, pending_position, GGraphNode *); +void g_graph_node_set_pending_position(GGraphNode *, PendingPositionFlags, pending_position); /* Indique la position du noeud pour l'alignement des liens. */ void g_graph_node_get_pending_position(GGraphNode *, PendingPositionFlags *, pending_position *); |