summaryrefslogtreecommitdiff
path: root/src/gtkext/graph/ranks.h
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2013-05-05 13:18:46 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2013-05-05 13:18:46 (GMT)
commit114e769bc9c3dc48f0293f080d687451e32220e3 (patch)
tree3d79e9a4783adb52f6a14d00102ad6940c04acf6 /src/gtkext/graph/ranks.h
parentcf97db0ea4d1ea983db38df85984034b49fa4f77 (diff)
Implemented first basic steps towards nice graph rendering.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@346 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
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 */