summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2016-01-15 04:10:39 +0300
committerAnatolij Gustschin <agust@denx.de>2016-01-30 12:55:15 +0300
commitc5b77d01d1eb0943a8241665313577b8b51203ae (patch)
treeed476cd65c8f0d95ea66de47406c3426e5ec4b72
parent5508f10ac9c5cb49f41284b383ba18637f5c7f77 (diff)
downloadu-boot-c5b77d01d1eb0943a8241665313577b8b51203ae.tar.xz
video: Provide a left margin for the text console
Allow the left margin to be set so that text does not have to be right up against the left side. On some panels this makes it hard to read. Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r--drivers/video/vidconsole-uclass.c6
-rw-r--r--include/video_console.h2
2 files changed, 5 insertions, 3 deletions
diff --git a/drivers/video/vidconsole-uclass.c b/drivers/video/vidconsole-uclass.c
index 4c0efd52f5..884db01f06 100644
--- a/drivers/video/vidconsole-uclass.c
+++ b/drivers/video/vidconsole-uclass.c
@@ -53,7 +53,7 @@ static void vidconsole_back(struct udevice *dev)
struct vidconsole_priv *priv = dev_get_uclass_priv(dev);
priv->xcur_frac -= VID_TO_POS(priv->x_charsize);
- if (priv->xcur_frac < 0) {
+ if (priv->xcur_frac < priv->xstart_frac) {
priv->xcur_frac = (priv->cols - 1) *
VID_TO_POS(priv->x_charsize);
priv->ycur -= priv->y_charsize;
@@ -71,7 +71,7 @@ static void vidconsole_newline(struct udevice *dev)
const int rows = CONFIG_CONSOLE_SCROLL_LINES;
int i;
- priv->xcur_frac = 0;
+ priv->xcur_frac = priv->xstart_frac;
priv->ycur += priv->y_charsize;
/* Check if we need to scroll the terminal */
@@ -95,7 +95,7 @@ int vidconsole_put_char(struct udevice *dev, char ch)
/* beep */
break;
case '\r':
- priv->xcur_frac = 0;
+ priv->xcur_frac = priv->xstart_frac;
break;
case '\n':
vidconsole_newline(dev);
diff --git a/include/video_console.h b/include/video_console.h
index eeba368d63..cbbf1345f8 100644
--- a/include/video_console.h
+++ b/include/video_console.h
@@ -27,6 +27,7 @@
* @y_charsize: Character height in pixels
* @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
*/
struct vidconsole_priv {
struct stdio_dev sdev;
@@ -38,6 +39,7 @@ struct vidconsole_priv {
int y_charsize;
int tab_width_frac;
int xsize_frac;
+ int xstart_frac;
};
/**