diff options
Diffstat (limited to 'src/glibext')
-rw-r--r-- | src/glibext/gbufferline.c | 28 | ||||
-rw-r--r-- | src/glibext/gbufferline.h | 3 |
2 files changed, 30 insertions, 1 deletions
diff --git a/src/glibext/gbufferline.c b/src/glibext/gbufferline.c index 6e3c928..4360f8c 100644 --- a/src/glibext/gbufferline.c +++ b/src/glibext/gbufferline.c @@ -89,6 +89,8 @@ struct _GBufferLine BufferLineColumn merge_start; /* Début de la zone globale */ BufferLineColumn last_used; /* Dernière colonne utilisée */ + bool skip_width; /* Pas de taille comptabilisée */ + }; /* Représentation de fragments de texte en ligne (classe) */ @@ -673,6 +675,25 @@ char *g_buffer_line_get_text(const GBufferLine *line) /****************************************************************************** * * +* Paramètres : line = ligne à venir compléter. * +* * +* Description : Marque la ligne comme étant sans largeur à comptabiliser. * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +void g_buffer_line_skip_width(GBufferLine *line) +{ + line->skip_width = true; + +} + + +/****************************************************************************** +* * * Paramètres : line = ligne à venir compléter. * * index = index de la colonne visée par la procédure. * * * @@ -686,7 +707,12 @@ char *g_buffer_line_get_text(const GBufferLine *line) gint g_buffer_line_get_width(GBufferLine *line, BufferLineColumn index) { - return get_column_width(&line->columns[index]); + gint result; /* Largeur à retourner */ + + if (line->skip_width) result = 0; + else result = get_column_width(&line->columns[index]); + + return result; } diff --git a/src/glibext/gbufferline.h b/src/glibext/gbufferline.h index 3f0676a..ce75895 100644 --- a/src/glibext/gbufferline.h +++ b/src/glibext/gbufferline.h @@ -132,6 +132,9 @@ void g_buffer_line_insert_text(GBufferLine *, BufferLineColumn, const char *, si /* Donne le texte représenté par une ligne de tampon. */ char *g_buffer_line_get_text(const GBufferLine *); +/* Marque la ligne comme étant sans largeur à comptabiliser. */ +void g_buffer_line_skip_width(GBufferLine *); + /* Fournit la largeur requise pour une colonne de ligne donnée. */ gint g_buffer_line_get_width(GBufferLine *, BufferLineColumn); |