Annotation of embedaddon/pimd/libite/conio.h, revision 1.1.1.1

1.1       misho       1: /* A conio.h like implementation for VTANSI displays.
                      2:  *
                      3:  * Copyright (c) 2009-2013  Joachim Nilsson <troglobit@gmail.com>
                      4:  *
                      5:  * Permission to use, copy, modify, and/or distribute this software for any
                      6:  * purpose with or without fee is hereby granted, provided that the above
                      7:  * copyright notice and this permission notice appear in all copies.
                      8:  *
                      9:  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
                     10:  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
                     11:  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
                     12:  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
                     13:  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
                     14:  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
                     15:  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
                     16:  */
                     17: 
                     18: #ifndef CONIO_H_
                     19: #define CONIO_H_
                     20: 
                     21: #include <stdio.h>
                     22: 
                     23: /* Attributes */
                     24: #define RESETATTR    0
                     25: #define BRIGHT       1
                     26: #define DIM          2
                     27: #define UNDERSCORE   4
                     28: #define BLINK        5           /* May not work on all displays. */
                     29: #define REVERSE      7
                     30: #define HIDDEN       8
                     31: 
                     32: /* Colors for text and background */
                     33: #define BLACK        0x0
                     34: #define RED          0x1
                     35: #define GREEN        0x2
                     36: #define BROWN        0x3
                     37: #define BLUE         0x4
                     38: #define MAGENTA      0x5
                     39: #define CYAN         0x6
                     40: #define LIGHTGREY    0x7
                     41: 
                     42: #define DARKGREY     0x10
                     43: #define LIGHTRED     0x11
                     44: #define LIGHTGREEN   0x12
                     45: #define YELLOW       0x13
                     46: #define LIGHTBLUE    0x14
                     47: #define LIGHTMAGENTA 0x15
                     48: #define LIGHTCYAN    0x16
                     49: #define WHITE        0x17
                     50: 
                     51: /* Esc[2JEsc[1;1H             - Clear screen and move cursor to 1,1 (upper left) pos. */
                     52: #define clrscr()              fputs ("\e[2J\e[1;1H", stdout)
                     53: /* Esc[K                      - Erases from the current cursor position to the end of the current line. */
                     54: #define clreol()              fputs ("\e[K", stdout)
                     55: /* Esc[2K                     - Erases the entire current line. */
                     56: #define delline()             fputs ("\e[2K", stdout)
                     57: /* Esc[Line;ColumnH           - Moves the cursor to the specified position (coordinates) */
                     58: #define gotoxy(x,y)           printf("\e[%d;%dH", y, x)
                     59: /* Esc[?25l (lower case L)    - Hide Cursor */
                     60: #define hidecursor()          fputs ("\e[?25l", stdout)
                     61: /* Esc[?25h (lower case H)    - Show Cursor */
                     62: #define showcursor()          fputs ("\e[?25h", stdout)
                     63: 
                     64: /* Esc[Value;...;Valuem       - Set Graphics Mode */
                     65: #define __set_gm(attr,color,val)                                       \
                     66:        if (!color)                                                     \
                     67:                printf("\e[%dm", attr);                                 \
                     68:        else                                                            \
                     69:                printf("\e[%d;%dm", color & 0x10 ? 1 : 0, (color & 0xF) + val)
                     70: #define textattr(attr)        __set_gm(attr, 0, 0)
                     71: #define textcolor(color)      __set_gm(RESETATTR, color, 30)
                     72: #define textbackground(color) __set_gm(RESETATTR, color, 40)
                     73: 
                     74: #endif /* CONIO_H_ */
                     75: 
                     76: /**
                     77:  * Local Variables:
                     78:  *  version-control: t
                     79:  *  indent-tabs-mode: t
                     80:  *  c-file-style: "linux"
                     81:  * End:
                     82:  */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>