From 676b03cb5c3ba4cb80632457db877a95253ee56b Mon Sep 17 00:00:00 2001 From: David Herrmann Date: Mon, 26 Dec 2011 14:24:31 +0100 Subject: [PATCH] console: add newline function kmscon_console_newline() can be used to produce a newline. Writing \n doesn't work as this would write \n as character into the cell and not produce a newline. The console does not perform any parsing so we provide a separate function. Signed-off-by: David Herrmann --- src/console.c | 13 +++++++++++++ src/console.h | 1 + 2 files changed, 14 insertions(+) diff --git a/src/console.c b/src/console.c index eaf8558..2ed88b6 100644 --- a/src/console.c +++ b/src/console.c @@ -375,3 +375,16 @@ void kmscon_console_write(struct kmscon_console *con, kmscon_buffer_write(con->cells, con->cursor_x, con->cursor_y, ch); con->cursor_x++; } + +void kmscon_console_newline(struct kmscon_console *con) +{ + if (!con) + return; + + con->cursor_x = 0; + con->cursor_y++; + if (con->cursor_y >= con->cells_y) { + con->cursor_y--; + kmscon_buffer_rotate(con->cells); + } +} diff --git a/src/console.h b/src/console.h index fe0e0b6..2b0cea4 100644 --- a/src/console.h +++ b/src/console.h @@ -104,3 +104,4 @@ void kmscon_console_map(struct kmscon_console *con); void kmscon_console_write(struct kmscon_console *con, const struct kmscon_char *ch); +void kmscon_console_newline(struct kmscon_console *con); -- 2.7.4