summaryrefslogtreecommitdiff
path: root/src/gtkext/graph/cluster.h
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2019-03-04 20:52:50 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2019-03-04 20:52:50 (GMT)
commit27c21356d494824850005932f3dee5f38d7a8e82 (patch)
tree6d7381f9cde78d28b4664f73ef03d0adb5b7b288 /src/gtkext/graph/cluster.h
parent72bebbd9dc7d59f69e23442b6c5b5526feb2a1a9 (diff)
Provided access to the graph layout from Python.
Diffstat (limited to 'src/gtkext/graph/cluster.h')
-rw-r--r--src/gtkext/graph/cluster.h20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/gtkext/graph/cluster.h b/src/gtkext/graph/cluster.h
index 2a48b25..ee4249e 100644
--- a/src/gtkext/graph/cluster.h
+++ b/src/gtkext/graph/cluster.h
@@ -25,6 +25,7 @@
#define _GTKEXT_GRAPH_CLUSTER_H
+#include "edge.h"
#include "../gtkgraphdisplay.h"
#include "../../analysis/binary.h"
#include "../../analysis/disass/block.h"
@@ -55,15 +56,24 @@ GType g_graph_cluster_get_type(void);
/* Construit un graphique à partir de blocs de code. */
GGraphCluster *g_graph_cluster_new(GCodeBlock *, segcnt_list *, GLoadedBinary *);
-/* Détermine l'emplacement requis d'un ensemble de blocs. */
-void g_graph_cluster_compute_needed_alloc(const GGraphCluster *, GtkAllocation *);
+/* Fournit le bloc de code principal du groupe. */
+GCodeBlock *g_graph_cluster_get_block(GGraphCluster *);
/* Fournit le composant graphique principal du groupe. */
GtkWidget *g_graph_cluster_get_widget(GGraphCluster *);
+/* Fournit l'emplacement prévu pour un chef de file de blocs. */
+void g_graph_cluster_get_allocation(const GGraphCluster *, GtkAllocation *);
+
+/* Détermine l'emplacement requis d'un ensemble de blocs. */
+void g_graph_cluster_compute_needed_alloc(const GGraphCluster *, GtkAllocation *);
+
/* Dispose chaque noeud sur la surface de destination donnée. */
void g_graph_cluster_place(GGraphCluster *, GtkGraphDisplay *);
+/* Recherche le groupe de blocs avec un bloc donné comme chef. */
+GGraphCluster *g_graph_cluster_find_by_block(GGraphCluster *, GCodeBlock *);
+
/* Recherche le groupe de blocs avec un composant comme chef. */
GGraphCluster *g_graph_cluster_find_by_widget(GGraphCluster *, GtkWidget *);
@@ -75,6 +85,12 @@ GGraphCluster *g_graph_cluster_find_by_widget(GGraphCluster *, GtkWidget *);
/* Construit un graphique à partir de blocs basiques. */
GGraphCluster *bootstrap_graph_cluster(GLoadedBinary *, const GBlockList *, segcnt_list *);
+/* Collecte tous les chefs de file de blocs de code. */
+GGraphCluster **collect_graph_clusters(GGraphCluster *, size_t *);
+
+/* Collecte tous les liens de chefs de file de blocs de code. */
+GGraphEdge **collect_graph_cluster_edges(GGraphCluster *, size_t *);
+
#endif /* _GTKEXT_GRAPH_CLUSTER_H */