From 9fe56a6eca5f27e18c4be2ed4ac42e07d050e098 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Tue, 22 Apr 2014 00:49:15 -0400 Subject: a few more escape sequences --- src/display.c | 6 ++++++ src/display.h | 1 + src/parser.c | 7 +++---- src/parser.l | 7 +++---- 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/display.c b/src/display.c index 7fe8be8..f0f3f7f 100644 --- a/src/display.c +++ b/src/display.c @@ -222,6 +222,12 @@ 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_kill_line_backward(RunesTerm *t) +{ + runes_display_paint_rectangle( + t, t->cr, t->bgdefault, 0, t->row, t->col, 1); +} + void runes_display_delete_lines(RunesTerm *t, int count) { cairo_pattern_t *pattern; diff --git a/src/display.h b/src/display.h index 114ab77..e26508d 100644 --- a/src/display.h +++ b/src/display.h @@ -11,6 +11,7 @@ void runes_display_show_string_utf8(RunesTerm *t, char *buf, size_t len); void runes_display_clear_screen(RunesTerm *t); void runes_display_clear_screen_forward(RunesTerm *t); void runes_display_kill_line_forward(RunesTerm *t); +void runes_display_kill_line_backward(RunesTerm *t); void runes_display_delete_lines(RunesTerm *t, int count); void runes_display_delete_characters(RunesTerm *t, int count); void runes_display_reset_text_attributes(RunesTerm *t); diff --git a/src/parser.c b/src/parser.c index 35ac866..f6d68cd 100644 --- a/src/parser.c +++ b/src/parser.c @@ -2578,12 +2578,11 @@ static void runes_parser_handle_el(RunesTerm *t, char *buf, size_t len) runes_display_kill_line_forward(t); break; case 1: - /* XXX */ - fprintf(stderr, "unhandled EL parameter 1\n"); + runes_display_kill_line_backward(t); break; case 2: - /* XXX */ - fprintf(stderr, "unhandled EL parameter 2\n"); + runes_display_kill_line_forward(t); + runes_display_kill_line_backward(t); break; default: fprintf(stderr, "unknown EL parameter %d\n", params[0]); diff --git a/src/parser.l b/src/parser.l index 75ba352..3e291da 100644 --- a/src/parser.l +++ b/src/parser.l @@ -446,12 +446,11 @@ static void runes_parser_handle_el(RunesTerm *t, char *buf, size_t len) runes_display_kill_line_forward(t); break; case 1: - /* XXX */ - fprintf(stderr, "unhandled EL parameter 1\n"); + runes_display_kill_line_backward(t); break; case 2: - /* XXX */ - fprintf(stderr, "unhandled EL parameter 2\n"); + runes_display_kill_line_forward(t); + runes_display_kill_line_backward(t); break; default: fprintf(stderr, "unknown EL parameter %d\n", params[0]); -- cgit v1.2.3-54-g00ecf