summaryrefslogtreecommitdiff
path: root/src/gtkext/graph/node.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gtkext/graph/node.h')
-rw-r--r--src/gtkext/graph/node.h28
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 *);