summaryrefslogtreecommitdiff
path: root/src/gtkext/graph/ranks.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gtkext/graph/ranks.h')
-rw-r--r--src/gtkext/graph/ranks.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/gtkext/graph/ranks.h b/src/gtkext/graph/ranks.h
index 627269f..618db79 100644
--- a/src/gtkext/graph/ranks.h
+++ b/src/gtkext/graph/ranks.h
@@ -26,8 +26,15 @@
#include <glib-object.h>
+#include <stdbool.h>
+/* Indice d'une hauteur au sein des rangs */
+typedef size_t hspan_slot_t;
+
+/* Indice non initilisé */
+#define UNINITIALIZED_HSPAN_SLOT (~((hspan_slot_t)0))
+
#define G_TYPE_GRAPH_RANKS g_graph_ranks_get_type()
#define G_GRAPH_RANKS(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), g_graph_ranks_get_type(), GGraphRanks))
@@ -52,12 +59,24 @@ GGraphRanks *g_graph_ranks_new(unsigned int);
/* Note une hauteur minimale requise pour un rang du classement. */
void g_graph_ranks_set_min_height(GGraphRanks *, unsigned int, gint);
+/* Fournit la hauteur requise pour l'affichage des rangs. */
+gint g_graph_ranks_get_height(const GGraphRanks *);
+
+/* Supprime toutes les réservations faites pour les liens. */
+void g_graph_ranks_reset_reservations(GGraphRanks *);
+
+/* Réserve une portion de hauteur pour un lien. */
+hspan_slot_t g_graph_ranks_reserve_span(GGraphRanks *, unsigned int, gint, gint, bool);
+
/* Calcule l'ordonnée finale de chaque rang du classement. */
void g_graph_ranks_compute_y_line(GGraphRanks *);
/* Fournit la position verticale correspondant à un rang donné. */
gint g_graph_ranks_get_y_for_rank(const GGraphRanks *, unsigned int);
+/* Fournit la position verticale obtenue par réservation. */
+gint g_graph_ranks_get_y_for_hspan_slot(const GGraphRanks *, unsigned int, hspan_slot_t, bool);
+
#endif /* _GTKEXT_GRAPH_RANKS_H */