diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2007-02-23 12:24:55 +0000 |
---|---|---|
committer | Chris Wilson <cpwilson@src.gnome.org> | 2007-02-23 12:24:55 +0000 |
commit | 2b0e46223ad2952192f3aa7d2e18b0f636f843f4 (patch) | |
tree | 30853b4acb03face38ab1863e36477af24a1c555 | |
parent | 7e2654510c7fe848162021a698ddba2b90cf7d59 (diff) | |
download | vte-2b0e46223ad2952192f3aa7d2e18b0f636f843f4.tar.gz |
Don't break a glyph run for a graphic, issue the draw and continue.
2007-02-23 Chris Wilson <chris@chris-wilson.co.uk>
* src/vte.c: (vte_terminal_draw_rows):
Don't break a glyph run for a graphic, issue the draw
and continue.
svn path=/trunk/; revision=1728
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | src/vte.c | 20 |
2 files changed, 22 insertions, 4 deletions
@@ -1,5 +1,11 @@ 2007-02-23 Chris Wilson <chris@chris-wilson.co.uk> + * src/vte.c: (vte_terminal_draw_rows): + Don't break a glyph run for a graphic, issue the draw + and continue. + +2007-02-23 Chris Wilson <chris@chris-wilson.co.uk> + Cache the font metrics on the vte_xft_font, avoids having to remeasure when opening a new terminal. @@ -9240,6 +9240,22 @@ vte_terminal_draw_rows(VteTerminal *terminal, selected, FALSE, &nfore, &nback); + /* Graphic characters must be drawn individually. */ + if (vte_unichar_is_local_graphic(cell->c)) { + if (vte_terminal_draw_graphic(terminal, + cell->c, + nfore, nback, + FALSE, + start_x + j * column_width, + y, + column_width, + cell->columns, + row_height)) { + + j += cell->columns; + continue; + } + } if (nfore != fore) { break; } @@ -9247,10 +9263,6 @@ vte_terminal_draw_rows(VteTerminal *terminal, if (nbold != bold) { break; } - /* Graphic characters must be drawn individually. */ - if (vte_unichar_is_local_graphic(cell->c)) { - break; - } /* Break up underlined/not-underlined text. */ nunderline = cell->underline; if (nunderline != underline) { |