diff options
author | Behdad Esfahbod <behdad@behdad.org> | 2010-01-12 02:07:47 -0500 |
---|---|---|
committer | Behdad Esfahbod <behdad@behdad.org> | 2010-01-12 02:07:47 -0500 |
commit | 3c4380448abf647fe7ff93745c9def5f5e2ec326 (patch) | |
tree | 048645052390966d2e33c3a99ffd73fd111f197c /src | |
parent | 1ad50e4873fe5c9029e7ea2ad9dc554bce2edfb9 (diff) |
Draw rectangles in one shot
Diffstat (limited to 'src')
-rw-r--r-- | src/vte.c | 22 | ||||
-rw-r--r-- | src/vtedraw.c | 4 |
2 files changed, 14 insertions, 12 deletions
@@ -8758,15 +8758,17 @@ vte_terminal_draw_rectangle(VteTerminal *terminal, gint width, gint height) { + GdkColor color; + _vte_draw_start(terminal->pvt->draw); - vte_terminal_draw_line(terminal, entry, - x, y, x, y + height); - vte_terminal_draw_line(terminal, entry, - x + width, y, x + width, y + height); - vte_terminal_draw_line(terminal, entry, - x, y, x + width, y); - vte_terminal_draw_line(terminal, entry, - x, y + height, x + width, y + height); + color.red = entry->red; + color.green = entry->green; + color.blue = entry->blue; + _vte_draw_draw_rectangle(terminal->pvt->draw, + x + terminal->pvt->inner_border.left, + y + terminal->pvt->inner_border.top, + width, height, + &color, VTE_DRAW_OPAQUE); _vte_draw_end(terminal->pvt->draw); } @@ -9652,8 +9654,8 @@ vte_terminal_draw_cells(VteTerminal *terminal, vte_terminal_draw_rectangle(terminal, &terminal->pvt->palette[fore], x, y, - MAX(0, (columns * column_width) - 1), - MAX(0, row_height - 1)); + MAX(0, (columns * column_width)), + MAX(0, row_height)); } }while (i < n); } diff --git a/src/vtedraw.c b/src/vtedraw.c index 7f085bd..6b1f92c 100644 --- a/src/vtedraw.c +++ b/src/vtedraw.c @@ -1196,9 +1196,9 @@ _vte_draw_draw_rectangle (struct _vte_draw *draw, alpha); cairo_set_operator (draw->cr, CAIRO_OPERATOR_OVER); - cairo_rectangle (draw->cr, x+.5, y+.5, width-1, height-1); + cairo_rectangle (draw->cr, x+VTE_LINE_WIDTH/2., y+VTE_LINE_WIDTH/2., width-VTE_LINE_WIDTH, height-VTE_LINE_WIDTH); set_source_color_alpha (draw->cr, color, alpha); - cairo_set_line_width (draw->cr, 1); + cairo_set_line_width (draw->cr, VTE_LINE_WIDTH); cairo_stroke (draw->cr); } |