[gtksourceview] Use a different draw for narrowed non breaking spaces. Fixes bug #626126.
- From: Ignacio Casal Quinteiro <icq src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtksourceview] Use a different draw for narrowed non breaking spaces. Fixes bug #626126.
- Date: Sat, 12 Feb 2011 16:07:36 +0000 (UTC)
commit 58a0db3b1592f7a945953b42c12bb2b868d118a8
Author: Ignacio Casal Quinteiro <icq gnome org>
Date: Mon Nov 15 10:36:01 2010 +0100
Use a different draw for narrowed non breaking spaces. Fixes bug #626126.
gtksourceview/gtksourceview.c | 27 ++++++++++++++++++++-------
1 files changed, 20 insertions(+), 7 deletions(-)
---
diff --git a/gtksourceview/gtksourceview.c b/gtksourceview/gtksourceview.c
index 993174e..d1c8545 100644
--- a/gtksourceview/gtksourceview.c
+++ b/gtksourceview/gtksourceview.c
@@ -2034,17 +2034,18 @@ static void
draw_nbsp_at_iter (cairo_t *cr,
GtkTextView *view,
GtkTextIter *iter,
- GdkRectangle rect)
+ GdkRectangle rect,
+ gboolean narrowed)
{
gint x, y;
gdouble w, h;
gtk_text_view_buffer_to_window_coords (view,
- GTK_TEXT_WINDOW_TEXT,
- rect.x,
- rect.y + rect.height / 2,
- &x,
- &y);
+ GTK_TEXT_WINDOW_TEXT,
+ rect.x,
+ rect.y + rect.height / 2,
+ &x,
+ &y);
w = rect.width;
h = rect.height;
@@ -2054,6 +2055,16 @@ draw_nbsp_at_iter (cairo_t *cr,
cairo_rel_line_to (cr, w * 4 / 6, 0);
cairo_rel_line_to (cr, -w * 2 / 6, +h * 1 / 4);
cairo_rel_line_to (cr, -w * 2 / 6, -h * 1 / 4);
+
+ if (narrowed)
+ {
+ cairo_fill (cr);
+ }
+ else
+ {
+ cairo_stroke (cr);
+ }
+
cairo_restore (cr);
}
@@ -2075,7 +2086,9 @@ draw_spaces_at_iter (cairo_t *cr,
else if (view->priv->draw_spaces & GTK_SOURCE_DRAW_SPACES_NBSP &&
g_unichar_break_type (c) == G_UNICODE_BREAK_NON_BREAKING_GLUE)
{
- draw_nbsp_at_iter (cr, GTK_TEXT_VIEW (view), iter, rect);
+ /* We also need to check if we want to draw a narrowed space */
+ draw_nbsp_at_iter (cr, GTK_TEXT_VIEW (view), iter, rect,
+ c == 0x202F);
}
else if (view->priv->draw_spaces & GTK_SOURCE_DRAW_SPACES_SPACE &&
g_unichar_type (c) == G_UNICODE_SPACE_SEPARATOR)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]