mirror of
https://github.com/vbatts/bvi.git
synced 2025-03-12 20:06:26 +00:00
148 lines
4.6 KiB
C
148 lines
4.6 KiB
C
/* DOSCUR.H - CURSES.H for TURBO C
|
|
*
|
|
* Copyright 1996-2002 by Gerhard Buergmann
|
|
* Gerhard.Buergmann@puon.at
|
|
*
|
|
* 1996-02-28 V 1.0.0
|
|
* 1998-04-12 V 1.0.1
|
|
* 1999-01-14 V 1.1.1
|
|
* 1999-07-01 V 1.2.0
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify it
|
|
* under the terms of the GNU General Public License as published by the
|
|
* Free Software Foundation; either version 2, or (at your option) any
|
|
* later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful, but
|
|
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* General Public License for more details.
|
|
*
|
|
* See file COPYING for information on distribution conditions.
|
|
*/
|
|
|
|
#include <stdio.h>
|
|
#include <conio.h>
|
|
#include <dos.h>
|
|
|
|
#define TRUE 1
|
|
#define FALSE 0
|
|
|
|
#define ESC 27
|
|
#define KEY_F0 0x3A00
|
|
#define KEY_F(n) (KEY_F0+(n<<8))
|
|
#define KEY_DOWN 0x5000
|
|
#define KEY_UP 0x4800
|
|
#define KEY_LEFT 0x4B00
|
|
#define KEY_RIGHT 0x4D00
|
|
#define KEY_NPAGE 0x5100
|
|
#define KEY_PPAGE 0x4900
|
|
#define KEY_RETURN 0x0d
|
|
#define KEY_ENTER 0x0a
|
|
#define KEY_BACKSPACE 0x0E08
|
|
#define KEY_HOME 0x4700
|
|
#define KEY_LL 0x4f00 /* HOME DOWN, End */
|
|
#define KEY_DC 0x5300
|
|
#define KEY_IC 0x5200
|
|
|
|
|
|
|
|
#define A_NORMAL 3
|
|
#define A_STANDOUT 8
|
|
#define A_BOLD 8
|
|
#define A_REVERSE 127
|
|
#define A_BLINK 128
|
|
#define A_CHARTEXT 0x00ff
|
|
#define A_ATTRIBUTES 0xff00
|
|
|
|
#define chtype unsigned int
|
|
|
|
#define WINDOW text_info
|
|
|
|
extern struct WINDOW scr;
|
|
|
|
extern int stdscr;
|
|
|
|
extern int COLS;
|
|
extern int LINES;
|
|
extern int ECHO;
|
|
extern int NODEL;
|
|
|
|
void attrset(int);
|
|
|
|
#define initscr() clrscr();window(1,1,COLS,LINES);gettextinfo(&scr)
|
|
#define newwin(h,b,y,x) window(x+1,y+1,x+b+1,y+h+1);gettextinfo(&scr)
|
|
#define erasechar() KEY_ERASE
|
|
#define beep() putch(7)
|
|
#define flash() putch(7)
|
|
#define wclrtoeol(w) clreol()
|
|
#define clrtoeol() clreol()
|
|
#define werase(w) window(scr.winleft,scr.wintop,scr.winright,scr.winbottom)
|
|
#define erase() clrscr()
|
|
#define wclear(w) werase(w)
|
|
#define clear() clrscr()
|
|
/*
|
|
#define wattrset(w,a) textattr(a)
|
|
#define attrset(a) textattr(a)
|
|
*/
|
|
#define standout() highvideo()
|
|
#define standend() normvideo()
|
|
#define wmove(w,y,x) gotoxy(x+1,y+1)
|
|
#define move(y,x) gotoxy(x+1,y+1)
|
|
#define mvwaddch(w,y,x,c) gotoxy(x+1,y+1);putch(c)
|
|
#define mvaddch(y,x,c) gotoxy(x+1,y+1);putch(c)
|
|
#define waddch(w,c) putch(c)
|
|
#define addch(c) putch(c)
|
|
#define mvwaddstr(w,y,x,s) gotoxy(x+1,y+1);cputs(s)
|
|
#define mvaddstr(y,x,s) gotoxy(x+1,y+1);cputs(s)
|
|
#define waddstr(s) cputs(s)
|
|
#define addstr(s) cputs(s)
|
|
#define mvwprintw(w,y,x,s) gotoxy(x+1,y+1);cprintf(s)
|
|
#define mvprintw(y,x,s,a) gotoxy(x+1,y+1);cprintf(s,a)
|
|
#define wprintw(w,s) cprintf(s)
|
|
#define printw cprintf
|
|
#define getyx(w,y,x) x=wherex()-1;y=wherey()-1
|
|
#define getbegyx(w,y,x) x=scr.winleft;y=scr.wintop;
|
|
#define getmaxyx(w,y,x) x=(scr.winright)-(scr.winleft);y=(scr.winbottom)-(scr.wintop)+1
|
|
#define winsertln() insline()
|
|
#define insertln() insline()
|
|
#define wdeleteln(w) delline()
|
|
#define deleteln() delline()
|
|
#define mvwgetch(w,y,x) gotoxy(x+1,y+1);ugetch()
|
|
#define mvgetch(y,x) gotoxy(x+1,y+1);ugetch()
|
|
#define wgetch(w) ugetch()
|
|
#define mvwgetstr(w,y,x,s) gotoxy(x+1,y+1);gets(s)
|
|
#define mvgetstr(y,x,s) gotoxy(x+1,y+1);gets(s)
|
|
#define wgetstr(w,s) gets(s)
|
|
/*
|
|
#define getstr(s) gets(s)
|
|
*/
|
|
#define flushinp() fflush(stdin)
|
|
#define mvwscanw(w,y,x,s) gotoxy(x+1,y+1);cscanf(s)
|
|
#define mvscanw(y,x,s) gotoxy(x+1,y+1);cscanf(s)
|
|
#define wscanw(w,s) wscanw(s)
|
|
#define scanw cscanf
|
|
#define mvinsch(y,x,c) gotoxy(x+1,y+1);insch(c)
|
|
|
|
#define nodelay(w,b) NODEL=b
|
|
#define echo() ECHO=TRUE
|
|
#define noecho() ECHO=FALSE
|
|
|
|
#define nl()
|
|
#define nonl()
|
|
#define keypad(a,b)
|
|
#define refresh()
|
|
#define wrefresh(w)
|
|
#define cbreak()
|
|
#define endwin()
|
|
#define raw()
|
|
#define noraw()
|
|
#define notimeout(w,t)
|
|
#define idlok(w,b)
|
|
#define scrollok(a,b)
|
|
#define doupdate()
|
|
#define savetty()
|
|
#define resetty()
|
|
|
|
#define ERR (-1)
|
|
|