summaryrefslogtreecommitdiff
path: root/include/video_console.h
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2016-01-14 18:10:40 -0700
committerAnatolij Gustschin <agust@denx.de>2016-01-30 10:55:27 +0100
commit58c733a70ff1967490af1fd69aab2ba7bb86eb2c (patch)
tree54626b91c3c90621542300668a08d89e669efdfd /include/video_console.h
parentc5b77d01d1eb0943a8241665313577b8b51203ae (diff)
downloadu-boot-58c733a70ff1967490af1fd69aab2ba7bb86eb2c.tar.gz
video: Provide a signal when a new console line is started
When we start a new line (due to the user pressing return), signal this to the driver so that it can flush its buffer of character positions. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include/video_console.h')
-rw-r--r--include/video_console.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/video_console.h b/include/video_console.h
index cbbf1345f8..36c4e13812 100644
--- a/include/video_console.h
+++ b/include/video_console.h
@@ -28,6 +28,7 @@
* @tab_width_frac: Tab width in fractional units
* @xsize_frac: Width of the display in fractional units
* @xstart_frac: Left margin for the text console in fractional units
+ * @last_ch: Last character written to the text console on this line
*/
struct vidconsole_priv {
struct stdio_dev sdev;
@@ -40,6 +41,7 @@ struct vidconsole_priv {
int tab_width_frac;
int xsize_frac;
int xstart_frac;
+ int last_ch;
};
/**
@@ -87,6 +89,18 @@ struct vidconsole_ops {
* @return 0 if OK, -ve on error
*/
int (*set_row)(struct udevice *dev, uint row, int clr);
+
+ /**
+ * entry_start() - Indicate that text entry is starting afresh
+ *
+ * Consoles which use proportional fonts need to track the position of
+ * each character output so that backspace will return to the correct
+ * place. This method signals to the console driver that a new entry
+ * line is being start (e.g. the user pressed return to start a new
+ * command). The driver can use this signal to empty its list of
+ * positions.
+ */
+ int (*entry_start)(struct udevice *dev);
};
/* Get a pointer to the driver operations for a video console device */