summaryrefslogtreecommitdiff
path: root/src/gtksnippet.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gtksnippet.c')
-rw-r--r--src/gtksnippet.c37
1 files changed, 36 insertions, 1 deletions
diff --git a/src/gtksnippet.c b/src/gtksnippet.c
index 7e5e012..73339fd 100644
--- a/src/gtksnippet.c
+++ b/src/gtksnippet.c
@@ -1,6 +1,6 @@
/* OpenIDA - Outil d'analyse de fichiers binaires
- * gtksnippet.h - affichage d'un fragment de code d'assemblage
+ * gtksnippet.c - affichage d'un fragment de code d'assemblage
*
* Copyright (C) 2008 Cyrille Bagard
*
@@ -609,3 +609,38 @@ void gtk_snippet_build_content(GtkSnippet *snippet)
+
+
+
+
+
+/******************************************************************************
+* *
+* Paramètres : snippet = composant GTK à consulter. *
+* address = adresse à présenter à l'écran. *
+* position = position verticale au sein du composant. [OUT] *
+* *
+* Description : Indique la position verticale d'une adresse donnée. *
+* *
+* Retour : TRUE si l'adresse fait partie du composant, FALSE sinon. *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+gboolean gtk_snippet_get_address_vposition(GtkSnippet *snippet, uint64_t address, gint *position)
+{
+ unsigned int i; /* Boucle de parcours */
+
+ *position = 0;
+
+ for (i = 0; i < snippet->info_count; i++)
+ {
+ if (snippet->info[i].offset == address) break;
+ else *position += snippet->line_height;
+ }
+
+ return (i < snippet->info_count);
+
+}
+