From f0bcc37ceefdb3def38f1c863d199c6482719aa2 Mon Sep 17 00:00:00 2001 From: David Herrmann Date: Sun, 5 Feb 2012 14:36:32 +0100 Subject: [PATCH] console: add to line movement helpers Add two helpers to move to the end or home of the current line. Signed-off-by: David Herrmann --- src/console.c | 16 ++++++++++++++++ src/console.h | 2 ++ 2 files changed, 18 insertions(+) diff --git a/src/console.c b/src/console.c index dc07f6f..4ad3c76 100644 --- a/src/console.c +++ b/src/console.c @@ -402,6 +402,22 @@ void kmscon_console_move_right(struct kmscon_console *con, unsigned int num) con->cursor_x += num; } +void kmscon_console_move_line_end(struct kmscon_console *con) +{ + if (!con) + return; + + con->cursor_x = con->cells_x - 1; +} + +void kmscon_console_move_line_home(struct kmscon_console *con) +{ + if (!con) + return; + + con->cursor_x = 0; +} + void kmscon_console_erase_cursor_to_end(struct kmscon_console *con) { if (!con) diff --git a/src/console.h b/src/console.h index 1b1c143..54d7936 100644 --- a/src/console.h +++ b/src/console.h @@ -99,6 +99,8 @@ void kmscon_console_move_down(struct kmscon_console *con, unsigned int num, bool scroll); void kmscon_console_move_left(struct kmscon_console *con, unsigned int num); void kmscon_console_move_right(struct kmscon_console *con, unsigned int num); +void kmscon_console_move_line_end(struct kmscon_console *con); +void kmscon_console_move_line_home(struct kmscon_console *con); void kmscon_console_erase_cursor_to_end(struct kmscon_console *con); void kmscon_console_erase_home_to_cursor(struct kmscon_console *con); void kmscon_console_erase_current_line(struct kmscon_console *con);