[vte/vte-next] drawing: Don't overdraw the cell on bold characters



commit 20dc68d006edf6537ba74f185c0250a485bac9fa
Author: Christian Persch <chpe gnome org>
Date:   Sat Aug 25 22:36:32 2012 +0200

    drawing: Don't overdraw the cell on bold characters
    
    This was added in comment dcb7fd974bea5fe49d4f5b0344ebdaffc6d7bae1 and is only
    required when using double-strike pseudo-bolding; so only add the extra pixel when
    doing that. This makes the usual case (i.e. using a real bold font) look nicer.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=682692
    
    Conflicts:
    
    	src/vte.c

 src/vte.c     |    4 ++--
 src/vtedraw.c |    2 +-
 src/vtedraw.h |    1 +
 3 files changed, 4 insertions(+), 3 deletions(-)
---
diff --git a/src/vte.c b/src/vte.c
index 4ccb5b7..27fd5ce 100644
--- a/src/vte.c
+++ b/src/vte.c
@@ -9565,7 +9565,7 @@ vte_view_draw_cells(VteView *terminal,
 			_vte_draw_fill_rectangle(terminal->pvt->draw,
 					x + terminal->pvt->padding.left,
                                         y + terminal->pvt->padding.top,
-					columns * column_width + bold,
+					columns * column_width + (_vte_draw_has_bold(terminal->pvt->draw) ? 0 : bold),
 					row_height,
 					bg);
 		}
@@ -9979,7 +9979,7 @@ vte_view_draw_rows(VteView *terminal,
 							terminal->pvt->draw,
 							x + i * column_width,
 							y,
-							(j - i) * column_width + bold,
+							(j - i) * column_width + (_vte_draw_has_bold(terminal->pvt->draw) ? 0 : bold),
 							row_height,
 							&terminal->pvt->palette[back]);
 				}
diff --git a/src/vtedraw.c b/src/vtedraw.c
index 46250ac..fcf0762 100644
--- a/src/vtedraw.c
+++ b/src/vtedraw.c
@@ -856,7 +856,7 @@ _vte_draw_get_char_width (struct _vte_draw *draw, vteunistr c, int columns,
 	return uinfo->width;
 }
 
-static gboolean
+gboolean
 _vte_draw_has_bold (struct _vte_draw *draw)
 {
 	return (draw->font != draw->font_bold);
diff --git a/src/vtedraw.h b/src/vtedraw.h
index 24ba8a2..0b75060 100644
--- a/src/vtedraw.h
+++ b/src/vtedraw.h
@@ -78,6 +78,7 @@ void _vte_draw_get_text_metrics(struct _vte_draw *draw,
 				gint *width, gint *height, gint *ascent);
 int _vte_draw_get_char_width(struct _vte_draw *draw, vteunistr c, int columns,
 			     gboolean bold);
+gboolean _vte_draw_has_bold (struct _vte_draw *draw);
 
 void _vte_draw_text(struct _vte_draw *draw,
 		    struct _vte_draw_text_request *requests, gsize n_requests,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]