This is slcurses.h in view mode; [Download] [Up]
#include <stdio.h>
#ifndef SLANG_VERSION
# include <slang.h>
#endif
typedef struct
{
unsigned int row, col, nrows, ncols;
unsigned int crow, ccol;
unsigned short *b;
unsigned short *buf;
unsigned short *bufmax;
unsigned short color;
}
SLcurses_Window_Type;
extern int SLcurses_wclrtobot (SLcurses_Window_Type *);
extern int SLcurses_scroll (SLcurses_Window_Type *);
extern int SLcurses_wrefresh (SLcurses_Window_Type *);
extern int SLcurses_delwin (SLcurses_Window_Type *);
extern int SLcurses_waddch (SLcurses_Window_Type *, char);
extern int SLcurses_wmove (SLcurses_Window_Type *, unsigned int, unsigned int);
extern SLcurses_Window_Type *SLcurses_newwin (unsigned int, unsigned int,
unsigned int, unsigned int);
extern int SLcurses_wnoutrefresh (SLcurses_Window_Type *);
extern int SLcurses_wclrtoeol (SLcurses_Window_Type *);
extern int SLcurses_waddstr (SLcurses_Window_Type *, char *);
#define WINDOW SLcurses_Window_Type
#define stdscr NULL
#define wclrtobot SLcurses_wclrtobot
#define scroll SLcurses_scroll
#define wrefresh SLcurses_wrefresh
#define delwin SLcurses_delwin
#define waddch SLcurses_waddch
#define wmove SLcurses_wmove
#define newwin SLcurses_newwin
#define wnoutrefresh SLcurses_wnoutrefresh
#define werase(w) SLcurses_wmove((w),0,0); SLcurses_wclrtobot(w)
#define winch(w) \
(((w) == NULL) ? SLsmg_char_at () \
: (((w)->b < (w)->bufmax) ? *((w)->b) : 0))
#define doupdate SLsmg_refresh
extern int SLcurses_mvprintw (int, int, char *, ...);
extern int SLcurses_has_colors(void);
extern int SLcurses_nil (void);
extern int SLcurses_getch (void);
extern int SLcurses_mvaddch (int, int, SLtt_Char_Type);
extern int SLcurses_addch (SLtt_Char_Type attr);
#define addch SLcurses_addch
#define mvaddch SLcurses_mvaddch
extern int SLcurses_attrset (SLtt_Char_Type);
extern int SLcurses_attron (SLtt_Char_Type);
extern int SLcurses_attroff (SLtt_Char_Type);
#define attrset SLcurses_attrset
#define attron SLcurses_attron
#define attroff SLcurses_attroff
#define COLOR_PAIR(x) ((x) << 8)
extern int SLcurses_start_color (void);
#define start_color SLcurses_start_color
#define ERR 0xFFFF
#define wgetch(x) SLcurses_getch ()
extern int SLcurses_nodelay (SLcurses_Window_Type *, int);
extern int SLcurses_initscr (void);
#define initscr SLcurses_initscr
extern int SLcurses_cbreak (void);
extern int SLcurses_raw (void);
#define cbreak SLcurses_cbreak
#define crmode SLcurses_cbreak
#define raw SLcurses_raw
#define noraw SLang_reset_tty
#define nocbreak SLang_reset_tty
#define mvprintw SLcurses_mvprintw
#define has_colors SLcurses_has_colors
#define getch SLcurses_getch
#define nodelay SLcurses_nodelay
#define ungetch SLang_ungetkey
#define COLS SLtt_Screen_Cols
#define LINES SLtt_Screen_Rows
#define move SLsmg_gotorc
#define clrtoeol SLsmg_erase_eol
#define printw SLsmg_printf
#define mvprintw SLcurses_mvprintw
#define clrtobot SLsmg_erase_eos
#define clrtoeol SLsmg_erase_eol
#define standout SLsmg_reverse_video
#define standend SLsmg_normal_video
#define addstr SLsmg_write_string
#define refresh SLsmg_refresh
#define clear SLsmg_cls
#define erase SLsmg_gotorc (0,0), SLsmg_erase_eos
#define mvaddstr(y, x, s) SLsmg_gotorc(y, x), SLsmg_write_string(s)
#define touchline SLsmg_touch_lines
#define inch SLsmg_char_at
#define endwin SLsmg_reset_smg(),SLang_reset_tty
#define resetterm SLang_reset_tty
/* Ugly Hacks that may not work */
#define ACS_ULCORNER '+'
#define ACS_URCORNER '+'
#define ACS_LRCORNER '+'
#define ACS_LLCORNER '+'
#define ACS_TTEE '+'
#define ACS_LTEE '+'
#define ACS_RTEE '+'
#define ACS_BTEE '+'
#define ACS_PLUS '+'
#define ACS_VLINE '|'
#define ACS_HLINE '-'
#define hline(x,y) SLsmg_draw_hline (y)
#define vline(x,y) SLsmg_draw_vline (y)
#define A_NORMAL 0
#define A_BOLD 0x1000
#define A_REVERSE 0x2000
#define A_STANDOUT A_REVERSE
#define A_UNDERLINE 0x4000
#define A_BLINK 0
#define A_COLOR 0x7
#define A_ALTCHARSET 0x8000
#define COLOR_BLACK SLSMG_COLOR_BLACK
#define COLOR_RED SLSMG_COLOR_RED
#define COLOR_GREEN SLSMG_COLOR_GREEN
#define COLOR_YELLOW SLSMG_COLOR_BROWN
#define COLOR_BLUE SLSMG_COLOR_BLUE
#define COLOR_MAGENTA SLSMG_COLOR_MAGENTA
#define COLOR_CYAN SLSMG_COLOR_CYAN
#define COLOR_WHITE SLSMG_COLOR_LGRAY
#define init_pair(_x,_f,_b) SLtt_set_color_fgbg((_x), (_f), (_b))
#define scrollok(a,b) SLsmg_Newline_Moves = ((b) ? 1 : -1)
#define getyx(a,y,x) y=SLsmg_get_row(), x=SLsmg_get_column()
#define napms(x) SLang_input_pending(-(x))
typedef SLtt_Char_Type chtype;
#define beep SLtt_beep
#define curs_set(x) SLtt_set_cursor_visibility(x)
/* These functions do nothing */
#define savetty SLcurses_nil
#define wscrl(a,b) SLcurses_nil()
#define nonl SLcurses_nil
#define echo SLcurses_nil
#define noecho SLcurses_nil
#define saveterm SLcurses_nil
#define clearok(x,y) SLcurses_nil
#define box(x,y,z) SLcurses_nil()
#define leaveok(a,b) SLcurses_nil()
#define nl() SLcurses_nil()
#define trace(x) SLcurses_nil()
#define tigetstr(x) NULL
/* Fake keypad. This can be fixed.... */
#define keypad(x,y) SLcurses_nil()
#define KEY_DOWN -1
#define KEY_UP -2
#define KEY_LEFT -3
#define KEY_RIGHT -4
#define KEY_A1 -5
#define KEY_B1 -6
#define KEY_C1 -7
#define KEY_A2 -8
#define KEY_B2 -9
#define KEY_C2 -10
#define KEY_A3 -11
#define KEY_B3 -12
#define KEY_C3 -13
#define KEY_REDO -14
#define KEY_UNDO -15
#define KEY_BACKSPACE -16
/* These have no place in C */
#define TRUE 1
#define FALSE 0
#define bool int
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.