aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2014-04-22 00:49:15 -0400
committerJesse Luehrs <doy@tozt.net>2014-04-22 00:49:15 -0400
commit9fe56a6eca5f27e18c4be2ed4ac42e07d050e098 (patch)
tree5ece97b42feca70fbe6b0322dda406653fa8a6c1
parent6fe9bd55c38ce53bfaeb9a01c921bcfa46ee7705 (diff)
downloadrunes-9fe56a6eca5f27e18c4be2ed4ac42e07d050e098.tar.gz
runes-9fe56a6eca5f27e18c4be2ed4ac42e07d050e098.zip
a few more escape sequences
-rw-r--r--src/display.c6
-rw-r--r--src/display.h1
-rw-r--r--src/parser.c7
-rw-r--r--src/parser.l7
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]);