Re: [U-Boot] [PATCH v2 05/11] cfb_console: Add functions for moving with cursor

2012-04-29 Thread Pali Rohár
On Sunday 29 April 2012 00:18:21 Marek Vasut wrote:
 Dear Pali Rohár,

   * console_cursor_fix - fix cursor position (check for out of
   screen) * console_cursor_up, console_cursor_down,
   console_cursor_left,
 console_cursor_right, console_cursor_set_position for
 change cursor
  position * console_newline - added param to specify count of
  creating new lines * console_previewsline - opposite of
  console_newline
 How/where do you use these? Documentation entry is missing and
 there're no comments in the code.


In ansi terminal.

--
Pali Rohár
pali.ro...@gmail.com

signature.asc
Description: This is a digitally signed message part.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v2 05/11] cfb_console: Add functions for moving with cursor

2012-04-29 Thread Marek Vasut
Dear Pali Rohár,

 On Sunday 29 April 2012 00:18:21 Marek Vasut wrote:
  Dear Pali Rohár,
  
* console_cursor_fix - fix cursor position (check for out of
screen) * console_cursor_up, console_cursor_down,
console_cursor_left,

  console_cursor_right, console_cursor_set_position for
  change cursor
   
   position * console_newline - added param to specify count of
   creating new lines * console_previewsline - opposite of
   console_newline
  
  How/where do you use these? Documentation entry is missing and
  there're no comments in the code.
 
 In ansi terminal.

Mailing list isn't really the proper place for documentation ;-)

Best regards,
Marek Vasut
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v2 05/11] cfb_console: Add functions for moving with cursor

2012-04-29 Thread Wolfgang Denk
Dear Pali =?ISO-8859-1?Q?Roh=E1r?=,

In message 1704132.kQI9AKOLjq@pali you wrote:
 
  How/where do you use these? Documentation entry is missing and
  there're no comments in the code.
 
 In ansi terminal.

I cannot parse this.  Where is the documentation?

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk  Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
A direct quote from the Boss: We passed over a lot of good people to
get the ones we hired.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v2 05/11] cfb_console: Add functions for moving with cursor

2012-04-28 Thread Pali Rohár
 * console_cursor_fix - fix cursor position (check for out of screen)
 * console_cursor_up, console_cursor_down, console_cursor_left,
   console_cursor_right, console_cursor_set_position for change cursor position
 * console_newline - added param to specify count of creating new lines
 * console_previewsline - opposite of console_newline

Signed-off-by: Pali Rohár pali.ro...@gmail.com
---
Changes since original version:
   - Fixed commit message

 drivers/video/cfb_console.c |   64 +++
 1 file changed, 58 insertions(+), 6 deletions(-)

diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c
index 0d1e6b2..43eb994 100644
--- a/drivers/video/cfb_console.c
+++ b/drivers/video/cfb_console.c
@@ -771,9 +771,54 @@ static void console_back(void)
}
 }
 
-static void console_newline(void)
+static void console_cursor_fix(void)
 {
-   console_row++;
+   if (console_row  0)
+   console_row = 0;
+   if (console_row = CONSOLE_ROWS)
+   console_row = CONSOLE_ROWS-1;
+   if (console_col  0)
+   console_col = 0;
+   if (console_col = CONSOLE_COLS)
+   console_col = CONSOLE_COLS-1;
+}
+
+static void console_cursor_up(int n)
+{
+   console_row -= n;
+   console_cursor_fix();
+}
+
+static void console_cursor_down(int n)
+{
+   console_row += n;
+   console_cursor_fix();
+}
+
+static void console_cursor_left(int n)
+{
+   console_col -= n;
+   console_cursor_fix();
+}
+
+static void console_cursor_right(int n)
+{
+   console_col += n;
+   console_cursor_fix();
+}
+
+static void console_cursor_set_position(int row, int col)
+{
+   if (console_row != -1)
+   console_row = row;
+   if (console_col != -1)
+   console_col = col;
+   console_cursor_fix();
+}
+
+static void console_newline(int n)
+{
+   console_row += n;
console_col = 0;
 
/* Check if we need to scroll the terminal */
@@ -782,10 +827,17 @@ static void console_newline(void)
console_scrollup();
 
/* Decrement row number */
-   console_row--;
+   console_row = CONSOLE_ROWS-1;
}
 }
 
+static void console_previewsline(int n)
+{
+   /* FIXME: also scroll terminal ? */
+   console_row -= n;
+   console_cursor_fix();
+}
+
 static void console_cr(void)
 {
console_col = 0;
@@ -804,7 +856,7 @@ void video_putc(const char c)
 
case '\n':  /* next line */
if (console_col || (!console_col  nl))
-   console_newline();
+   console_newline(1);
nl = 1;
break;
 
@@ -813,7 +865,7 @@ void video_putc(const char c)
console_col = ~0x0007;
 
if (console_col = CONSOLE_COLS)
-   console_newline();
+   console_newline(1);
break;
 
case 8: /* backspace */
@@ -827,7 +879,7 @@ void video_putc(const char c)
 
/* check for newline */
if (console_col = CONSOLE_COLS) {
-   console_newline();
+   console_newline(1);
nl = 0;
}
}
-- 
1.7.9.5

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v2 05/11] cfb_console: Add functions for moving with cursor

2012-04-28 Thread Marek Vasut
Dear Pali Rohár,

  * console_cursor_fix - fix cursor position (check for out of screen)
  * console_cursor_up, console_cursor_down, console_cursor_left,
console_cursor_right, console_cursor_set_position for change cursor
 position * console_newline - added param to specify count of creating new
 lines * console_previewsline - opposite of console_newline

How/where do you use these? Documentation entry is missing and there're no 
comments in the code.

 Signed-off-by: Pali Rohár pali.ro...@gmail.com
 ---
 Changes since original version:
- Fixed commit message
 
  drivers/video/cfb_console.c |   64
 +++ 1 file changed, 58
 insertions(+), 6 deletions(-)
 
 diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c
 index 0d1e6b2..43eb994 100644
 --- a/drivers/video/cfb_console.c
 +++ b/drivers/video/cfb_console.c
 @@ -771,9 +771,54 @@ static void console_back(void)
   }
  }
 
 -static void console_newline(void)
 +static void console_cursor_fix(void)
  {
 - console_row++;
 + if (console_row  0)
 + console_row = 0;
 + if (console_row = CONSOLE_ROWS)
 + console_row = CONSOLE_ROWS-1;
 + if (console_col  0)
 + console_col = 0;
 + if (console_col = CONSOLE_COLS)
 + console_col = CONSOLE_COLS-1;
 +}
 +
 +static void console_cursor_up(int n)
 +{
 + console_row -= n;
 + console_cursor_fix();
 +}
 +
 +static void console_cursor_down(int n)
 +{
 + console_row += n;
 + console_cursor_fix();
 +}
 +
 +static void console_cursor_left(int n)
 +{
 + console_col -= n;
 + console_cursor_fix();
 +}
 +
 +static void console_cursor_right(int n)
 +{
 + console_col += n;
 + console_cursor_fix();
 +}
 +
 +static void console_cursor_set_position(int row, int col)
 +{
 + if (console_row != -1)
 + console_row = row;
 + if (console_col != -1)
 + console_col = col;
 + console_cursor_fix();
 +}
 +
 +static void console_newline(int n)
 +{
 + console_row += n;
   console_col = 0;
 
   /* Check if we need to scroll the terminal */
 @@ -782,10 +827,17 @@ static void console_newline(void)
   console_scrollup();
 
   /* Decrement row number */
 - console_row--;
 + console_row = CONSOLE_ROWS-1;
   }
  }
 
 +static void console_previewsline(int n)
 +{
 + /* FIXME: also scroll terminal ? */
 + console_row -= n;
 + console_cursor_fix();
 +}
 +
  static void console_cr(void)
  {
   console_col = 0;
 @@ -804,7 +856,7 @@ void video_putc(const char c)
 
   case '\n':  /* next line */
   if (console_col || (!console_col  nl))
 - console_newline();
 + console_newline(1);
   nl = 1;
   break;
 
 @@ -813,7 +865,7 @@ void video_putc(const char c)
   console_col = ~0x0007;
 
   if (console_col = CONSOLE_COLS)
 - console_newline();
 + console_newline(1);
   break;
 
   case 8: /* backspace */
 @@ -827,7 +879,7 @@ void video_putc(const char c)
 
   /* check for newline */
   if (console_col = CONSOLE_COLS) {
 - console_newline();
 + console_newline(1);
   nl = 0;
   }
   }
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot