]> git.ipfire.org Git - people/ms/u-boot.git/commitdiff
video: Provide a left margin for the text console
authorSimon Glass <sjg@chromium.org>
Fri, 15 Jan 2016 01:10:39 +0000 (18:10 -0700)
committerAnatolij Gustschin <agust@denx.de>
Sat, 30 Jan 2016 09:55:15 +0000 (10:55 +0100)
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>
drivers/video/vidconsole-uclass.c
include/video_console.h

index 4c0efd52f5cf03e2741a366b5095ee1a5528fb11..884db01f067eab6f64bef98b8f4d545c75a3bc4a 100644 (file)
@@ -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);
index eeba368d6391512ea49fbed561e7523d4e786be9..cbbf1345f8797663df9652ea5626dfa907574e87 100644 (file)
@@ -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;
 };
 
 /**