Change-Id: If881ec130833c7e7e62caa3d31e350a531f5bc8e Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-on: http://review.coreboot.org/12398 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <pgeorgi@google.com>
		
			
				
	
	
		
			153 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			153 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* Public Domain Curses */
 | |
| 
 | |
| #include "pdcx11.h"
 | |
| 
 | |
| RCSID("$Id: sb.c,v 1.27 2008/07/14 04:24:52 wmcbrine Exp $")
 | |
| 
 | |
| /*man-start**************************************************************
 | |
| 
 | |
|   Name:                                                          sb
 | |
| 
 | |
|   Synopsis:
 | |
|         int sb_init(void)
 | |
|         int sb_set_horz(int total, int viewport, int cur)
 | |
|         int sb_set_vert(int total, int viewport, int cur)
 | |
|         int sb_get_horz(int *total, int *viewport, int *cur)
 | |
|         int sb_get_vert(int *total, int *viewport, int *cur)
 | |
|         int sb_refresh(void);
 | |
| 
 | |
|   Description:
 | |
|         These functions manipulate the scrollbar.
 | |
| 
 | |
|   Return Value:
 | |
|         All functions return OK on success and ERR on error.
 | |
| 
 | |
|   Portability                                X/Open    BSD    SYS V
 | |
|         sb_init                                 -       -       -
 | |
|         sb_set_horz                             -       -       -
 | |
|         sb_set_vert                             -       -       -
 | |
|         sb_get_horz                             -       -       -
 | |
|         sb_get_vert                             -       -       -
 | |
|         sb_refresh                              -       -       -
 | |
| 
 | |
| **man-end****************************************************************/
 | |
| 
 | |
| bool sb_started = FALSE;
 | |
| 
 | |
| /* sb_init() is the sb initialization routine.
 | |
|    This must be called before initscr(). */
 | |
| 
 | |
| int sb_init(void)
 | |
| {
 | |
|     PDC_LOG(("sb_init() - called\n"));
 | |
| 
 | |
|     if (SP)
 | |
|         return ERR;
 | |
| 
 | |
|     sb_started = TRUE;
 | |
| 
 | |
|     return OK;
 | |
| }
 | |
| 
 | |
| /* sb_set_horz() - Used to set horizontal scrollbar.
 | |
| 
 | |
|    total = total number of columns
 | |
|    viewport = size of viewport in columns
 | |
|    cur = current column in total */
 | |
| 
 | |
| int sb_set_horz(int total, int viewport, int cur)
 | |
| {
 | |
|     PDC_LOG(("sb_set_horz() - called: total %d viewport %d cur %d\n",
 | |
|              total, viewport, cur));
 | |
| 
 | |
|     if (!SP)
 | |
|         return ERR;
 | |
| 
 | |
|     SP->sb_total_x = total;
 | |
|     SP->sb_viewport_x = viewport;
 | |
|     SP->sb_cur_x = cur;
 | |
| 
 | |
|     return OK;
 | |
| }
 | |
| 
 | |
| /* sb_set_vert() - Used to set vertical scrollbar.
 | |
| 
 | |
|    total = total number of columns on line
 | |
|    viewport = size of viewport in columns
 | |
|    cur = current column in total */
 | |
| 
 | |
| int sb_set_vert(int total, int viewport, int cur)
 | |
| {
 | |
|     PDC_LOG(("sb_set_vert() - called: total %d viewport %d cur %d\n",
 | |
|              total, viewport, cur));
 | |
| 
 | |
|     if (!SP)
 | |
|         return ERR;
 | |
| 
 | |
|     SP->sb_total_y = total;
 | |
|     SP->sb_viewport_y = viewport;
 | |
|     SP->sb_cur_y = cur;
 | |
| 
 | |
|     return OK;
 | |
| }
 | |
| 
 | |
| /* sb_get_horz() - Used to get horizontal scrollbar.
 | |
| 
 | |
|    total = total number of lines
 | |
|    viewport = size of viewport in lines
 | |
|    cur = current line in total */
 | |
| 
 | |
| int sb_get_horz(int *total, int *viewport, int *cur)
 | |
| {
 | |
|     PDC_LOG(("sb_get_horz() - called\n"));
 | |
| 
 | |
|     if (!SP)
 | |
|         return ERR;
 | |
| 
 | |
|     if (total)
 | |
|         *total = SP->sb_total_x;
 | |
|     if (viewport)
 | |
|         *viewport = SP->sb_viewport_x;
 | |
|     if (cur)
 | |
|         *cur = SP->sb_cur_x;
 | |
| 
 | |
|     return OK;
 | |
| }
 | |
| 
 | |
| /* sb_get_vert() - Used to get vertical scrollbar.
 | |
| 
 | |
|    total = total number of lines
 | |
|    viewport = size of viewport in lines
 | |
|    cur = current line in total */
 | |
| 
 | |
| int sb_get_vert(int *total, int *viewport, int *cur)
 | |
| {
 | |
|     PDC_LOG(("sb_get_vert() - called\n"));
 | |
| 
 | |
|     if (!SP)
 | |
|         return ERR;
 | |
| 
 | |
|     if (total)
 | |
|         *total = SP->sb_total_y;
 | |
|     if (viewport)
 | |
|         *viewport = SP->sb_viewport_y;
 | |
|     if (cur)
 | |
|         *cur = SP->sb_cur_y;
 | |
| 
 | |
|     return OK;
 | |
| }
 | |
| 
 | |
| /* sb_refresh() - Used to draw the scrollbars. */
 | |
| 
 | |
| int sb_refresh(void)
 | |
| {
 | |
|     PDC_LOG(("sb_refresh() - called\n"));
 | |
| 
 | |
|     if (!SP)
 | |
|         return ERR;
 | |
| 
 | |
|     XCursesInstruct(CURSES_REFRESH_SCROLLBAR);
 | |
| 
 | |
|     return OK;
 | |
| }
 |