summaryrefslogtreecommitdiff
path: root/src/analysis/line_comment.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2009-07-01 22:20:38 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2009-07-01 22:20:38 (GMT)
commitb6893c7b85c34f7a3c65ac76bfd9d95b1c4ebf55 (patch)
tree5ce9e501c095e5906f6b1a349c82217d41b605f1 /src/analysis/line_comment.c
parent176ad970db109523a3ac6d501b23608540d4a930 (diff)
Made the lines to have different rendering widths depending on the views.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@88 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/analysis/line_comment.c')
-rw-r--r--src/analysis/line_comment.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/analysis/line_comment.c b/src/analysis/line_comment.c
index 1d37613..331bd19 100644
--- a/src/analysis/line_comment.c
+++ b/src/analysis/line_comment.c
@@ -58,7 +58,7 @@ static void g_comment_line_class_init(GCommentLineClass *);
static void g_comment_line_init(GCommentLine *);
/* Met à jour la ligne de représentation de commentaires. */
-void g_comment_line_refresh_markup(GCommentLine *);
+void g_comment_line_refresh_markup(GCommentLine *, LinesMainOwner);
@@ -112,7 +112,8 @@ static void g_comment_line_init(GCommentLine *line)
/******************************************************************************
* *
-* Paramètres : line = ligne de représentation à actualiser. *
+* Paramètres : line = ligne de représentation à actualiser. *
+* owner = support effectif final des lignes de code. *
* *
* Description : Met à jour la ligne de représentation de commentaires. *
* *
@@ -122,11 +123,12 @@ static void g_comment_line_init(GCommentLine *line)
* *
******************************************************************************/
-void g_comment_line_refresh_markup(GCommentLine *line)
+void g_comment_line_refresh_markup(GCommentLine *line, LinesMainOwner owner)
{
size_t len; /* Taille du contenu */
char *content; /* Contenu réellement imprimé */
char buffer[CODE_BUFFER_LEN]; /* Zone tampon à utiliser */
+ const off_t *max_bin_len; /* Taille de ligne max/globale */
size_t clen; /* Taille du commentaire */
len = strlen("<tt>") + 1;
@@ -176,8 +178,10 @@ void g_comment_line_refresh_markup(GCommentLine *line)
if (line->options->show_code)
{
+ max_bin_len = &G_RENDERING_LINE(line)->max_bin_len[owner];
+
clen = (line->options->show_address ? strlen("\t") : 0);
- clen += G_RENDERING_LINE(line)->max_bin_len;
+ clen += *max_bin_len;
content = (char *)realloc(content, (len + clen) * sizeof(char));
@@ -187,9 +191,9 @@ void g_comment_line_refresh_markup(GCommentLine *line)
len += strlen("\t");
}
- memset(&content[len - 1], G_RENDERING_LINE(line)->type == RLT_PROTOTYPE ? '-' : ' ',
- G_RENDERING_LINE(line)->max_bin_len);
- len += G_RENDERING_LINE(line)->max_bin_len;
+ memset(&content[len - 1],
+ G_RENDERING_LINE(line)->type == RLT_PROTOTYPE ? '-' : ' ', *max_bin_len);
+ len += *max_bin_len;
content[len - 1] = '\0';
@@ -221,7 +225,7 @@ void g_comment_line_refresh_markup(GCommentLine *line)
content = (char *)realloc(content, len * sizeof(char));
strcat(content, "</tt>");
- pango_layout_set_markup(G_RENDERING_LINE(line)->layout, content, len - 1);
+ pango_layout_set_markup(G_RENDERING_LINE(line)->layout[owner], content, len - 1);
free(content);