diff options
author | Jesse Luehrs <doy@tozt.net> | 2014-04-21 23:36:13 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2014-04-21 23:36:13 -0400 |
commit | 6fe9bd55c38ce53bfaeb9a01c921bcfa46ee7705 (patch) | |
tree | 8a43f8be68721b624ff9a699a10405f5871b3063 /src/display.c | |
parent | 9ba56b83d12a6890a2b1039de9fed0d91f082b59 (diff) | |
download | runes-6fe9bd55c38ce53bfaeb9a01c921bcfa46ee7705.tar.gz runes-6fe9bd55c38ce53bfaeb9a01c921bcfa46ee7705.zip |
handle DL
Diffstat (limited to 'src/display.c')
-rw-r--r-- | src/display.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/display.c b/src/display.c index 617a6db..7fe8be8 100644 --- a/src/display.c +++ b/src/display.c @@ -222,6 +222,26 @@ void runes_display_kill_line_forward(RunesTerm *t) t, t->cr, t->bgdefault, t->col, t->row, t->cols - t->col, 1); } +void runes_display_delete_lines(RunesTerm *t, int count) +{ + cairo_pattern_t *pattern; + cairo_matrix_t matrix; + + cairo_save(t->cr); + cairo_push_group(t->cr); + pattern = cairo_pattern_create_for_surface(cairo_get_target(t->cr)); + cairo_matrix_init_translate(&matrix, 0.0, count * t->fonty); + cairo_pattern_set_matrix(pattern, &matrix); + runes_display_paint_rectangle( + t, t->cr, pattern, 0, t->row, t->cols, t->rows - t->row - count); + cairo_pattern_destroy(pattern); + cairo_pop_group_to_source(t->cr); + cairo_paint(t->cr); + runes_display_paint_rectangle( + t, t->cr, t->bgdefault, 0, t->rows - count, t->cols, count); + cairo_restore(t->cr); +} + void runes_display_delete_characters(RunesTerm *t, int count) { cairo_pattern_t *pattern; |