diff options
Diffstat (limited to 'src/analysis/line.c')
-rw-r--r-- | src/analysis/line.c | 46 |
1 files changed, 45 insertions, 1 deletions
diff --git a/src/analysis/line.c b/src/analysis/line.c index 31a8a36..8cfad25 100644 --- a/src/analysis/line.c +++ b/src/analysis/line.c @@ -55,6 +55,7 @@ static void g_rendering_line_add_link_reference(GRenderingLine *, GRenderingLine static GdkPixbuf *g_rendering_line_render_icon(const GRenderingLine *, const char *, GtkIconSize); + /* Indique le type définit pour une ligne de représentation. */ G_DEFINE_TYPE(GRenderingLine, g_rendering_line, G_TYPE_OBJECT); @@ -296,6 +297,44 @@ void g_rendering_line_link_with(GRenderingLine *line, GRenderingLine *dest, Inst /****************************************************************************** * * +* Paramètres : line = ligne dont les informations sont à consulter. * +* * +* Description : Indique si la ligne a une ou plusieurs origines. * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +bool g_rendering_line_has_sources(const GRenderingLine *line) +{ + return (line->from_count > 0); + +} + + +/****************************************************************************** +* * +* Paramètres : line = ligne dont les informations sont à consulter. * +* * +* Description : Indique si la ligne a une suite autre que la ligne suivante. * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +bool g_rendering_line_has_destination(const GRenderingLine *line) +{ + return (line->to != NULL && line->link_type != ILT_CALL); + +} + + +/****************************************************************************** +* * * Paramètres : line = ligne dont les informations sont à consulter. * * stock_id = identifiant GTK de l'image à charger. * * size = taille de l'image souhaitée. * @@ -355,6 +394,11 @@ void g_rendering_line_draw(GRenderingLine *line, GdkDrawable *drawable, GdkGC *g gdk_draw_layout(drawable, gc, x1, y, line->layout); + if (line->to != NULL) + pixbuf = g_rendering_line_render_icon(line, "gtk-bold", GTK_ICON_SIZE_MENU); + else + + if (line->flags & RLF_BREAK_POINT) pixbuf = g_rendering_line_render_icon(line, "gtk-yes", GTK_ICON_SIZE_MENU); @@ -632,7 +676,7 @@ GRenderingLine *g_rendering_line_find_by_address(GRenderingLine *lines, const GR lines_list_for_each(result, lines) { - if (result->offset == addr) break; + if (result->offset <= addr && addr < (result->offset + result->length)) break; if (result == last) { |