Addition of Pacific Compiler support - Ron Thibodeau

Code tidy up for prototypes - Ron Thibodeau
Change all GO32 to __DJGPP__
This commit is contained in:
Mark Hessling
2004-01-02 05:50:05 +00:00
parent 4484c693eb
commit c4d635756b
9 changed files with 783 additions and 972 deletions

645
curses.h
View File

@@ -18,7 +18,7 @@
***************************************************************************
*/
/*
$Id: curses.h,v 1.18 2003/12/28 08:33:13 mark Exp $
$Id: curses.h,v 1.19 2004/01/02 05:50:05 mark Exp $
*/
/*
*----------------------------------------------------------------------
@@ -721,6 +721,41 @@ PDCurses portable platform definitions list:
# endif
#endif
/*
* HI-TECH COMPILERS Pacific C
*
* Hi-Tech definitions:
* PC
*
* __PACIFIC__, DOS
* are predefined by compiler.
*/
#ifdef __PACIFIC__
# define PC __PACIFIC__
# ifndef HAVE_PROTO
# define HAVE_PROTO 1
# endif
# include <dos.h>
# include <ctype.h>
# include <string.h>
# include <stdlib.h>
# ifndef __SMALL__
# define __SMALL__
# endif
# ifndef HAVE_LIMITS_H
# define HAVE_LIMITS_H
# endif
# ifndef HAVE_STDARG_H
# define HAVE_STDARG_H
# endif
# ifndef HAVE_MEMMOVE
# define HAVE_MEMMOVE
# endif
# ifndef HAVE_VSSCANF
# define HAVE_VSSCANF
# endif
#endif
/*---------------------------------------------------------------------*/
#include <stdio.h> /* Required by X/Open usage below */
/*----------------------------------------------------------------------
@@ -901,7 +936,11 @@ typedef struct _wins
typedef struct /* structure for ripped off lines */
{
int line;
#ifdef HAVE_PROTO
int (*init)(WINDOW *, int);
#else
int (*init)();
#endif
} RIPPEDOFFLINE;
@@ -1532,436 +1571,230 @@ extern chtype *acs_map;
* PDCurses function declarations
*/
#ifdef HAVE_PROTO
int PDC_CDECL addchnstr( chtype *, int );
int PDC_CDECL baudrate( void );
int PDC_CDECL beep( void );
int PDC_CDECL border( chtype, chtype, chtype, chtype, chtype, chtype, chtype, chtype );
int PDC_CDECL can_change_color ( void );
int PDC_CDECL clearok( WINDOW*, bool );
int PDC_CDECL color_content( short, short*, short*, short* );
int PDC_CDECL copywin( WINDOW*, WINDOW*, int, int, int, int, int, int, int );
int PDC_CDECL curs_set( int );
int PDC_CDECL def_prog_mode( void );
int PDC_CDECL def_shell_mode( void );
int PDC_CDECL delay_output( int );
int PDC_CDECL delwin( WINDOW* );
WINDOW* PDC_CDECL derwin( WINDOW*, int, int, int, int );
int PDC_CDECL doupdate( void );
WINDOW* PDC_CDECL dupwin( WINDOW* );
int PDC_CDECL endwin( void );
int PDC_CDECL erase( void );
char PDC_CDECL erasechar( void );
int PDC_CDECL flash( void );
int PDC_CDECL flushinp( void );
int PDC_CDECL getsyx( int*, int* );
int PDC_CDECL halfdelay( int );
bool PDC_CDECL has_colors( void );
int PDC_CDECL hline( chtype, int );
int PDC_CDECL immedok( WINDOW*, bool );
int PDC_CDECL inchnstr( chtype *, int );
int PDC_CDECL init_color( short, short, short, short );
int PDC_CDECL init_pair( short, short, short );
WINDOW* PDC_CDECL initscr( void );
#ifdef XCURSES
WINDOW* PDC_CDECL Xinitscr( int, char ** );
#endif
int PDC_CDECL intrflush( WINDOW*, bool );
int PDC_CDECL is_linetouched(WINDOW *,int);
int PDC_CDECL is_wintouched(WINDOW *);
char* PDC_CDECL keyname( int );
char PDC_CDECL killchar( void );
char* PDC_CDECL longname( void );
int PDC_CDECL meta( WINDOW*, bool );
int PDC_CDECL mvcur( int, int, int, int );
int PDC_CDECL mvderwin( WINDOW*, int, int );
#ifdef HAVE_STDARG_H
int PDC_CDECL mvprintw( int, int, char*,... );
int PDC_CDECL mvscanw( int, int, char*,... );
#endif
int PDC_CDECL mvwaddnstr( WINDOW*,int,int,char*,int );
int PDC_CDECL mvwin( WINDOW*, int, int );
int PDC_CDECL mvwinsertln( WINDOW*, int, int );
#ifdef HAVE_STDARG_H
int PDC_CDECL mvwprintw( WINDOW*, int, int, char*,... );
int PDC_CDECL mvwscanw( WINDOW*, int, int, char*,... );
#endif
WINDOW* PDC_CDECL newpad( int, int );
SCREEN* PDC_CDECL newterm( char*, FILE*, FILE* );
WINDOW* PDC_CDECL newwin( int, int, int, int );
int PDC_CDECL noraw( void );
int PDC_CDECL notimeout( WINDOW *, bool );
int PDC_CDECL overlay( WINDOW*, WINDOW* );
int PDC_CDECL overwrite( WINDOW*, WINDOW* );
int PDC_CDECL pair_content( int, short*, short* );
int PDC_CDECL pechochar( WINDOW *, chtype );
int PDC_CDECL pnoutrefresh( WINDOW*, int, int, int, int, int, int );
int PDC_CDECL prefresh( WINDOW*, int, int, int, int, int, int );
#ifdef HAVE_STDARG_H
int PDC_CDECL printw( char*,... );
int PDC_CDECL scanw( char*,... );
#endif
int PDC_CDECL raw( void );
int PDC_CDECL refresh( void );
int PDC_CDECL reset_prog_mode( void );
int PDC_CDECL reset_shell_mode( void );
int PDC_CDECL resetty( void );
int PDC_CDECL ripoffline(int, int (*)(WINDOW *, int));
int PDC_CDECL savetty( void );
int PDC_CDECL sb_init(void);
int PDC_CDECL sb_set_horz(int, int, int);
int PDC_CDECL sb_set_vert(int, int, int);
int PDC_CDECL sb_get_horz(int *, int *, int *);
int PDC_CDECL sb_get_vert(int *, int *, int *);
int PDC_CDECL sb_refresh(void);
int PDC_CDECL scroll( WINDOW* );
SCREEN* PDC_CDECL set_term( SCREEN* );
int PDC_CDECL setsyx( int, int );
int PDC_CDECL start_color( void );
int PDC_CDECL slk_init(int);
int PDC_CDECL slk_set(int, char *, int);
int PDC_CDECL slk_refresh(void);
int PDC_CDECL slk_noutrefresh(void);
char* PDC_CDECL slk_label(int);
int PDC_CDECL slk_clear(void);
int PDC_CDECL slk_restore(void);
int PDC_CDECL slk_touch(void);
int PDC_CDECL slk_attron(attr_t);
int PDC_CDECL slk_attrset(attr_t);
int PDC_CDECL slk_attroff(attr_t);
WINDOW* PDC_CDECL subpad( WINDOW*, int, int, int, int );
WINDOW* PDC_CDECL subwin( WINDOW*, int, int, int, int );
int PDC_CDECL syncok(WINDOW*, bool);
attr_t PDC_CDECL termattrs( void );
char* PDC_CDECL termname( void );
int PDC_CDECL touchline( WINDOW*, int ,int );
int PDC_CDECL touchwin( WINDOW* );
#if !defined (CURSES_LIBRARY)
void PDC_CDECL traceoff( void );
void PDC_CDECL traceon( void );
#endif
int PDC_CDECL typeahead( int );
char* PDC_CDECL unctrl( chtype );
int PDC_CDECL vline( chtype, int );
int PDC_CDECL waddchnstr( WINDOW*, chtype*, int );
int PDC_CDECL waddnstr( WINDOW*, char*, int );
int PDC_CDECL waddstr( WINDOW*, char* );
int PDC_CDECL wattroff( WINDOW*, attr_t );
int PDC_CDECL wattron( WINDOW*, attr_t );
int PDC_CDECL wattrset( WINDOW*, attr_t );
int PDC_CDECL wbkgd(WINDOW*, chtype);
void PDC_CDECL wbkgdset(WINDOW*, chtype);
int PDC_CDECL wborder( WINDOW*, chtype, chtype, chtype, chtype, chtype, chtype, chtype, chtype );
int PDC_CDECL wclear( WINDOW* );
int PDC_CDECL wclrtobot( WINDOW* );
int PDC_CDECL wclrtoeol( WINDOW* );
void PDC_CDECL wcursyncup(WINDOW*);
int PDC_CDECL wdelch( WINDOW* );
int PDC_CDECL wdeleteln( WINDOW* );
int PDC_CDECL werase( WINDOW* );
int PDC_CDECL wgetch( WINDOW* );
int PDC_CDECL wgetnstr( WINDOW*, char*, int );
int PDC_CDECL wgetstr( WINDOW*, char* );
int PDC_CDECL whline( WINDOW*, chtype, int );
int PDC_CDECL winchnstr( WINDOW*, chtype*, int );
int PDC_CDECL winnstr( WINDOW*, char*, int );
int PDC_CDECL winsch( WINDOW*, chtype );
int PDC_CDECL winsdelln( WINDOW*, int );
int PDC_CDECL winsertln( WINDOW* );
int PDC_CDECL winsnstr( WINDOW*, char*, int );
int PDC_CDECL wmove( WINDOW*, int, int );
int PDC_CDECL wnoutrefresh( WINDOW* );
char PDC_CDECL wordchar( void );
#ifdef HAVE_STDARG_H
int PDC_CDECL wprintw( WINDOW*, char*,... );
int PDC_CDECL wscanw( WINDOW*, char*,... );
#endif
int PDC_CDECL wredrawln( WINDOW*, int ,int );
int PDC_CDECL wrefresh( WINDOW* );
int PDC_CDECL wscrl( WINDOW*, int );
int PDC_CDECL wsetscrreg( WINDOW*, int, int );
int PDC_CDECL wtimeout( WINDOW *, int );
int PDC_CDECL wtouchln(WINDOW *, int, int, int);
void PDC_CDECL wsyncdown(WINDOW*);
void PDC_CDECL wsyncup(WINDOW*);
int PDC_CDECL wvline( WINDOW*, chtype, int );
#ifdef PDCURSES
int PDC_CDECL raw_output( bool );
int PDC_CDECL resize_term( int, int );
WINDOW* PDC_CDECL resize_window( WINDOW*, int, int );
#endif
#ifdef OBSOLETE_OR_TBD
char PDC_CDECL breakchar( /* void */ );
int PDC_CDECL cursoff( /* void */ );
int PDC_CDECL curson( /* void */ );
int PDC_CDECL gettmode( /* void */ );
int PDC_CDECL mvaddrawch( /* int, int, chtype */ );
int PDC_CDECL mvaddrawstr( /* int, int, char* */ );
int PDC_CDECL mvwinsrawch( /* WINDOW*, int, int, chtype */ );
int PDC_CDECL mvinsrawch( /* int, int, chtype */ );
int PDC_CDECL saveoldterm( /* void */ );
int PDC_CDECL tabsize( /* int */ );
int PDC_CDECL waddrawstr( /* WINDOW*, char* */ );
int PDC_CDECL wtabsize( /* WINDOW*, int */ );
int PDC_CDECL win_print( /* WINDOW*, int */ );
#endif
#ifdef XCURSES
void XCursesExit( void );
int nocbreak( void );
int cbreak( void );
int nocrmode( void );
int crmode( void );
int noecho( void );
int echo( void );
int nodelay( WINDOW *,bool );
#endif
int PDC_CDECL mouse_set( unsigned long );
int PDC_CDECL mouse_on( unsigned long );
int PDC_CDECL mouse_off( unsigned long );
int PDC_CDECL request_mouse_pos( void );
int PDC_CDECL map_button( unsigned long );
void PDC_CDECL wmouse_position( WINDOW *, int *, int * );
unsigned long PDC_CDECL getmouse( void );
unsigned long PDC_CDECL getbmap( void );
/*
* Keep the compiler happy with our macros below...
*/
int PDC_CDECL PDC_chadd( WINDOW*, chtype, bool, bool );
int PDC_CDECL PDC_chins( WINDOW*, chtype, bool );
int PDC_CDECL PDC_ungetch( int );
void PDC_CDECL PDC_set_title( char * );
int PDC_CDECL PDC_getclipboard( char **, long * );
int PDC_CDECL PDC_setclipboard( char *, long );
int PDC_CDECL PDC_freeclipboard( char * );
int PDC_CDECL PDC_clearclipboard( void );
unsigned long PDC_CDECL PDC_get_input_fd( void );
int PDC_CDECL PDC_curs_set( int );
unsigned long PDC_CDECL PDC_get_key_modifiers( void );
int PDC_CDECL PDC_wunderline( WINDOW*, int, bool );
int PDC_CDECL PDC_wleftline( WINDOW*, int, bool );
int PDC_CDECL PDC_wrightline( WINDOW*, int, bool );
int PDC_CDECL PDC_set_line_color( short );
# define Args(x) x
#else
# define Args(x) ()
#endif
int PDC_CDECL addchnstr( /* chtype *, int */ );
int PDC_CDECL baudrate( /* void */ );
int PDC_CDECL beep( /* void */ );
int PDC_CDECL border( /* chtype, chtype, chtype, chtype, chtype, chtype, chtype, chtype */ );
int PDC_CDECL can_change_color ( /* void */ );
int PDC_CDECL clearok( /* WINDOW*, bool */ );
int PDC_CDECL color_content( /* int, short*, short*, short* */ );
int PDC_CDECL copywin( /* WINDOW*, WINDOW*, int, int, int, int, int, int, int */ );
int PDC_CDECL curs_set( /* int */ );
int PDC_CDECL def_prog_mode( /* void */ );
int PDC_CDECL def_shell_mode( /* void */ );
int PDC_CDECL delay_output( /* int */ );
int PDC_CDECL delwin( /* WINDOW* */ );
WINDOW* PDC_CDECL derwin( /* WINDOW*, int, int, int, int */ );
int PDC_CDECL doupdate( /* void */ );
WINDOW* PDC_CDECL dupwin( /* WINDOW* */ );
int PDC_CDECL endwin( /* void */ );
int PDC_CDECL erase( /* void */ );
char PDC_CDECL erasechar( /* void */ );
int PDC_CDECL flash( /* void */ );
int PDC_CDECL flushinp( /* void */ );
int PDC_CDECL getsyx( /* int*, int* */ );
int PDC_CDECL halfdelay( /* int */ );
bool PDC_CDECL has_colors( /* void */ );
int PDC_CDECL hline( /* chtype, int */ );
int PDC_CDECL immedok( /* WINDOW*, bool */ );
int PDC_CDECL inchnstr( /* chtype *, int */ );
int PDC_CDECL init_color( /* short, short, short, short */ );
int PDC_CDECL init_pair( /* short, short, short */ );
WINDOW* PDC_CDECL initscr( /* void */ );
int PDC_CDECL addchnstr Args(( chtype *, int ));
int PDC_CDECL baudrate Args(( void ));
int PDC_CDECL beep Args(( void ));
int PDC_CDECL border Args(( chtype, chtype, chtype, chtype, chtype, chtype, chtype, chtype ));
int PDC_CDECL can_change_color Args(( void ));
int PDC_CDECL clearok Args(( WINDOW*, bool ));
int PDC_CDECL color_content Args(( short, short*, short*, short* ));
int PDC_CDECL copywin Args(( WINDOW*, WINDOW*, int, int, int, int, int, int, int ));
int PDC_CDECL curs_set Args(( int ));
int PDC_CDECL def_prog_mode Args(( void ));
int PDC_CDECL def_shell_mode Args(( void ));
int PDC_CDECL delay_output Args(( int ));
int PDC_CDECL delwin Args(( WINDOW* ));
WINDOW* PDC_CDECL derwin Args(( WINDOW*, int, int, int, int ));
int PDC_CDECL doupdate Args(( void ));
WINDOW* PDC_CDECL dupwin Args(( WINDOW* ));
int PDC_CDECL endwin Args(( void ));
int PDC_CDECL erase Args(( void ));
char PDC_CDECL erasechar Args(( void ));
int PDC_CDECL flash Args(( void ));
int PDC_CDECL flushinp Args(( void ));
int PDC_CDECL getsyx Args(( int*, int* ));
int PDC_CDECL halfdelay Args(( int ));
bool PDC_CDECL has_colors Args(( void ));
int PDC_CDECL hline Args(( chtype, int ));
int PDC_CDECL immedok Args(( WINDOW*, bool ));
int PDC_CDECL inchnstr Args(( chtype *, int ));
int PDC_CDECL init_color Args(( short, short, short, short ));
int PDC_CDECL init_pair Args(( short, short, short ));
WINDOW* PDC_CDECL initscr Args(( void ));
#ifdef XCURSES
WINDOW* PDC_CDECL Xinitscr( /* int, char ** */ );
WINDOW* PDC_CDECL Xinitscr Args(( int, char ** ));
#endif
int PDC_CDECL intrflush( /* WINDOW*, bool */ );
int PDC_CDECL is_linetouched( /*WINDOW *,int*/ );
int PDC_CDECL is_wintouched( /*WINDOW **/ );
char* PDC_CDECL keyname( /* int */ );
char PDC_CDECL killchar( /* void */ );
char* PDC_CDECL longname( /* void */ );
int PDC_CDECL meta( /* WINDOW*, bool */ );
int PDC_CDECL mvcur( /* int, int, int, int */ );
int PDC_CDECL mvderwin( /* WINDOW*, int, int */ );
int PDC_CDECL mvprintw( /* int, int, char*,... */ );
int PDC_CDECL mvscanw( /* int, int, char*,... */ );
int PDC_CDECL mvwaddnstr(/* WINDOW*,int,int,char*,int */ );
int PDC_CDECL mvwin( /* WINDOW*, int, int */ );
int PDC_CDECL mvwinsertln( /* WINDOW*, int, int */ );
int PDC_CDECL mvwprintw( /* WINDOW*, int, int, char*,... */ );
int PDC_CDECL mvwscanw( /* WINDOW*, int, int, char*,... */ );
WINDOW* PDC_CDECL newpad( /* int, int */ );
SCREEN* PDC_CDECL newterm( /* char*, FILE*, FILE* */ );
WINDOW* PDC_CDECL newwin( /* int, int, int, int */ );
int PDC_CDECL noraw( /* void */ );
int PDC_CDECL notimeout( /* WINDOW *, bool */ );
int PDC_CDECL overlay( /* WINDOW*, WINDOW* */ );
int PDC_CDECL overwrite( /* WINDOW*, WINDOW* */ );
int PDC_CDECL pair_content( /* int, short*, short* */ );
int PDC_CDECL pechochar( /* WINDOW *pad, chtype ch */ );
int PDC_CDECL pnoutrefresh( /* WINDOW*, int, int, int, int, int, int */ );
int PDC_CDECL prefresh( /* WINDOW*, int, int, int, int, int, int */ );
int PDC_CDECL printw( /* char*,... */ );
int PDC_CDECL raw( /* void */ );
int PDC_CDECL refresh( /* void */ );
int PDC_CDECL reset_prog_mode( /* void */ );
int PDC_CDECL reset_shell_mode( /* void */ );
int PDC_CDECL resetty( /* void */ );
int PDC_CDECL ripoffline( /* int, int (*)(WINDOW *, int) */);
int PDC_CDECL savetty( /* void */ );
int PDC_CDECL sb_init( /* void */ );
int PDC_CDECL sb_set_horz( /* int, int, int */ );
int PDC_CDECL sb_set_vert( /* int, int, int */ );
int PDC_CDECL sb_get_horz( /* int *, int *, int * */ );
int PDC_CDECL sb_get_vert( /* int *, int *, int * */ );
int PDC_CDECL sb_refresh( /* void */ );
int PDC_CDECL scanw( /* char*,... */ );
int PDC_CDECL scroll( /* WINDOW* */ );
int PDC_CDECL setsyx( /* int, int */ );
SCREEN* PDC_CDECL set_term( /* SCREEN* */ );
int PDC_CDECL slk_init(/* int */);
int PDC_CDECL slk_set(/* int, char *, int */);
int PDC_CDECL slk_refresh(/* void */);
int PDC_CDECL slk_noutrefresh(/* void */);
char* PDC_CDECL slk_label(/* int */);
int PDC_CDECL slk_clear(/* void */);
int PDC_CDECL slk_restore(/* void */);
int PDC_CDECL slk_touch(/* void */);
int PDC_CDECL slk_attron(/* attr_t */);
int PDC_CDECL slk_attrset(/* attr_t */);
int PDC_CDECL slk_attroff(/* attr_t */);
int PDC_CDECL start_color( /* void */ );
WINDOW* PDC_CDECL subpad( /* WINDOW*, int, int, int, int */ );
WINDOW* PDC_CDECL subwin( /* WINDOW*, int, int, int, int */ );
int PDC_CDECL syncok(/* WINDOW*, bool */);
attr_t PDC_CDECL termattrs( /* void */ );
char* PDC_CDECL termname( /* void */ );
int PDC_CDECL touchline( /* WINDOW*, int ,int */ );
int PDC_CDECL touchwin( /* WINDOW* */ );
int PDC_CDECL intrflush Args(( WINDOW*, bool ));
int PDC_CDECL is_linetouched Args((WINDOW *,int));
int PDC_CDECL is_wintouched Args((WINDOW *));
char* PDC_CDECL keyname Args(( int ));
char PDC_CDECL killchar Args(( void ));
char* PDC_CDECL longname Args(( void ));
int PDC_CDECL meta Args(( WINDOW*, bool ));
int PDC_CDECL mvcur Args(( int, int, int, int ));
int PDC_CDECL mvderwin Args(( WINDOW*, int, int ));
#ifdef HAVE_STDARG_H
int PDC_CDECL mvprintw Args(( int, int, char*,... ));
int PDC_CDECL mvscanw Args(( int, int, char*,... ));
#endif
int PDC_CDECL mvwaddnstr Args(( WINDOW*,int,int,char*,int ));
int PDC_CDECL mvwin Args(( WINDOW*, int, int ));
int PDC_CDECL mvwinsertln Args(( WINDOW*, int, int ));
#ifdef HAVE_STDARG_H
int PDC_CDECL mvwprintw Args(( WINDOW*, int, int, char*,... ));
int PDC_CDECL mvwscanw Args(( WINDOW*, int, int, char*,... ));
#endif
WINDOW* PDC_CDECL newpad Args(( int, int ));
SCREEN* PDC_CDECL newterm Args(( char*, FILE*, FILE* ));
WINDOW* PDC_CDECL newwin Args(( int, int, int, int ));
int PDC_CDECL noraw Args(( void ));
int PDC_CDECL notimeout Args(( WINDOW *, bool ));
int PDC_CDECL overlay Args(( WINDOW*, WINDOW* ));
int PDC_CDECL overwrite Args(( WINDOW*, WINDOW* ));
int PDC_CDECL pair_content Args(( int, short*, short* ));
int PDC_CDECL pechochar Args(( WINDOW *, chtype ));
int PDC_CDECL pnoutrefresh Args(( WINDOW*, int, int, int, int, int, int ));
int PDC_CDECL prefresh Args(( WINDOW*, int, int, int, int, int, int ));
#ifdef HAVE_STDARG_H
int PDC_CDECL printw Args(( char*,... ));
int PDC_CDECL scanw Args(( char*,... ));
#endif
int PDC_CDECL raw Args(( void ));
int PDC_CDECL refresh Args(( void ));
int PDC_CDECL reset_prog_mode Args(( void ));
int PDC_CDECL reset_shell_mode Args(( void ));
int PDC_CDECL resetty Args(( void ));
int PDC_CDECL ripoffline Args((int, int (*)(WINDOW *, int)));
int PDC_CDECL savetty Args(( void ));
int PDC_CDECL sb_init Args((void));
int PDC_CDECL sb_set_horz Args((int, int, int));
int PDC_CDECL sb_set_vert Args((int, int, int));
int PDC_CDECL sb_get_horz Args((int *, int *, int *));
int PDC_CDECL sb_get_vert Args((int *, int *, int *));
int PDC_CDECL sb_refresh Args((void));
int PDC_CDECL scroll Args(( WINDOW* ));
SCREEN* PDC_CDECL set_term Args(( SCREEN* ));
int PDC_CDECL setsyx Args(( int, int ));
int PDC_CDECL start_color Args(( void ));
int PDC_CDECL slk_init Args((int));
int PDC_CDECL slk_set Args((int, char *, int));
int PDC_CDECL slk_refresh Args((void));
int PDC_CDECL slk_noutrefresh Args((void));
char* PDC_CDECL slk_label Args((int));
int PDC_CDECL slk_clear Args((void));
int PDC_CDECL slk_restore Args((void));
int PDC_CDECL slk_touch Args((void));
int PDC_CDECL slk_attron Args((attr_t));
int PDC_CDECL slk_attrset Args((attr_t));
int PDC_CDECL slk_attroff Args((attr_t));
WINDOW* PDC_CDECL subpad Args(( WINDOW*, int, int, int, int ));
WINDOW* PDC_CDECL subwin Args(( WINDOW*, int, int, int, int ));
int PDC_CDECL syncok Args((WINDOW*, bool));
attr_t PDC_CDECL termattrs Args(( void ));
char* PDC_CDECL termname Args(( void ));
int PDC_CDECL touchline Args(( WINDOW*, int ,int ));
int PDC_CDECL touchwin Args(( WINDOW* ));
#if !defined (CURSES_LIBRARY)
void PDC_CDECL traceoff(/* void */);
void PDC_CDECL traceon(/* void */);
void PDC_CDECL traceoff Args(( void ));
void PDC_CDECL traceon Args(( void ));
#endif
int PDC_CDECL typeahead( /* int */ );
char* PDC_CDECL unctrl( /* chtype */ );
int PDC_CDECL vline( /* chtype, int */ );
int PDC_CDECL waddchnstr( /* WINDOW*, chtype*, int */ );
int PDC_CDECL waddnstr( /* WINDOW*, char*, int */ );
int PDC_CDECL waddstr( /* WINDOW*, char* */ );
int PDC_CDECL wattroff( /* WINDOW*, attr_t */ );
int PDC_CDECL wattron( /* WINDOW*, attr_t */ );
int PDC_CDECL wattrset( /* WINDOW*, attr_t */ );
int PDC_CDECL wbkgd( /*WINDOW*, chtype*/ );
void PDC_CDECL wbkgdset( /*WINDOW*, chtype*/ );
int PDC_CDECL wborder( /* WINDOW*, chtype, chtype, chtype, chtype, chtype, chtype, chtype, chtype */ );
int PDC_CDECL wclear( /* WINDOW* */ );
int PDC_CDECL wclrtobot( /* WINDOW* */ );
int PDC_CDECL wclrtoeol( /* WINDOW* */ );
void PDC_CDECL wcursyncup(/* WINDOW* */);
int PDC_CDECL wdelch( /* WINDOW* */ );
int PDC_CDECL wdeleteln( /* WINDOW* */ );
int PDC_CDECL werase( /* WINDOW* */ );
int PDC_CDECL wgetch( /* WINDOW* */ );
int PDC_CDECL wgetnstr( /* WINDOW*, char*, int */ );
int PDC_CDECL wgetstr( /* WINDOW*, char* */ );
int PDC_CDECL whline( /* WINDOW*, chtype, int */ );
int PDC_CDECL winchnstr( /* WINDOW*, chtype*, int */ );
int PDC_CDECL winnstr( /* WINDOW*, char*, int */ );
int PDC_CDECL winsch( /* WINDOW*, chtype */ );
int PDC_CDECL winsdelln( /* WINDOW*, int */ );
int PDC_CDECL winsertln( /* WINDOW* */ );
int PDC_CDECL winsnstr( /* WINDOW*, char*, int */ );
int PDC_CDECL wmove( /* WINDOW*, int, int */ );
int PDC_CDECL wnoutrefresh( /* WINDOW* */ );
char PDC_CDECL wordchar( /* void */ );
int PDC_CDECL wprintw( /* WINDOW*, char*,... */ );
int PDC_CDECL wredrawln( /* WINDOW*, int ,int */ );
int PDC_CDECL wrefresh( /* WINDOW* */ );
int PDC_CDECL wscanw( /* WINDOW*, char*,... */ );
int PDC_CDECL wscrl( /* WINDOW*, int */ );
int PDC_CDECL wsetscrreg( /* WINDOW*, int, int */ );
int PDC_CDECL wtimeout( /* WINDOW *, int */ );
int PDC_CDECL wtouchln( /*WINDOW *, int, int, int*/ );
void PDC_CDECL wsyncdown(/* WINDOW* */);
void PDC_CDECL wsyncup(/* WINDOW* */);
int PDC_CDECL wvline( /* WINDOW*, chtype, int */ );
int PDC_CDECL typeahead Args(( int ));
char* PDC_CDECL unctrl Args(( chtype ));
int PDC_CDECL vline Args(( chtype, int ));
int PDC_CDECL waddchnstr Args(( WINDOW*, chtype*, int ));
int PDC_CDECL waddnstr Args(( WINDOW*, char*, int ));
int PDC_CDECL waddstr Args(( WINDOW*, char* ));
int PDC_CDECL wattroff Args(( WINDOW*, attr_t ));
int PDC_CDECL wattron Args(( WINDOW*, attr_t ));
int PDC_CDECL wattrset Args(( WINDOW*, attr_t ));
int PDC_CDECL wbkgd Args((WINDOW*, chtype));
void PDC_CDECL wbkgdset Args((WINDOW*, chtype));
int PDC_CDECL wborder Args(( WINDOW*, chtype, chtype, chtype, chtype, chtype, chtype, chtype, chtype ));
int PDC_CDECL wclear Args(( WINDOW* ));
int PDC_CDECL wclrtobot Args(( WINDOW* ));
int PDC_CDECL wclrtoeol Args(( WINDOW* ));
void PDC_CDECL wcursyncup Args((WINDOW*));
int PDC_CDECL wdelch Args(( WINDOW* ));
int PDC_CDECL wdeleteln Args(( WINDOW* ));
int PDC_CDECL werase Args(( WINDOW* ));
int PDC_CDECL wgetch Args(( WINDOW* ));
int PDC_CDECL wgetnstr Args(( WINDOW*, char*, int ));
int PDC_CDECL wgetstr Args(( WINDOW*, char* ));
int PDC_CDECL whline Args(( WINDOW*, chtype, int ));
int PDC_CDECL winchnstr Args(( WINDOW*, chtype*, int ));
int PDC_CDECL winnstr Args(( WINDOW*, char*, int ));
int PDC_CDECL winsch Args(( WINDOW*, chtype ));
int PDC_CDECL winsdelln Args(( WINDOW*, int ));
int PDC_CDECL winsertln Args(( WINDOW* ));
int PDC_CDECL winsnstr Args(( WINDOW*, char*, int ));
int PDC_CDECL wmove Args(( WINDOW*, int, int ));
int PDC_CDECL wnoutrefresh Args(( WINDOW* ));
char PDC_CDECL wordchar Args(( void ));
#ifdef HAVE_STDARG_H
int PDC_CDECL wprintw Args(( WINDOW*, char*,... ));
int PDC_CDECL wscanw Args(( WINDOW*, char*,... ));
#endif
int PDC_CDECL wredrawln Args(( WINDOW*, int ,int ));
int PDC_CDECL wrefresh Args(( WINDOW* ));
int PDC_CDECL wscrl Args(( WINDOW*, int ));
int PDC_CDECL wsetscrreg Args(( WINDOW*, int, int ));
int PDC_CDECL wtimeout Args(( WINDOW *, int ));
int PDC_CDECL wtouchln Args((WINDOW *, int, int, int));
void PDC_CDECL wsyncdown Args((WINDOW*));
void PDC_CDECL wsyncup Args((WINDOW*));
int PDC_CDECL wvline Args(( WINDOW*, chtype, int ));
#ifdef PDCURSES
int PDC_CDECL raw_output( /* bool */ );
int PDC_CDECL resize_term( /* int, int */ );
WINDOW* PDC_CDECL resize_window( /* WINDOW*, int, int */ );
int PDC_CDECL raw_output Args(( bool ));
int PDC_CDECL resize_term Args(( int, int ));
WINDOW* PDC_CDECL resize_window Args(( WINDOW*, int, int ));
#endif
#ifdef OBSOLETE_OR_TBD
char PDC_CDECL breakchar( /* void */ );
int PDC_CDECL cursoff( /* void */ );
int PDC_CDECL curson( /* void */ );
int PDC_CDECL gettmode( /* void */ );
int PDC_CDECL mvaddrawch( /* int, int, chtype */ );
int PDC_CDECL mvaddrawstr( /* int, int, char* */ );
int PDC_CDECL mvwinsrawch( /* WINDOW*, int, int, chtype */ );
int PDC_CDECL mvinsrawch( /* int, int, chtype */ );
int PDC_CDECL saveoldterm( /* void */ );
int PDC_CDECL tabsize( /* int */ );
int PDC_CDECL waddrawstr( /* WINDOW*, char* */ );
int PDC_CDECL wtabsize( /* WINDOW*, int */ );
int PDC_CDECL win_print( /* WINDOW*, int */ );
char PDC_CDECL breakchar Args(( /* void */ ));
int PDC_CDECL cursoff Args(( /* void */ ));
int PDC_CDECL curson Args(( /* void */ ));
int PDC_CDECL gettmode Args(( /* void */ ));
int PDC_CDECL mvaddrawch Args(( /* int, int, chtype */ ));
int PDC_CDECL mvaddrawstr Args(( /* int, int, char* */ ));
int PDC_CDECL mvwinsrawch Args(( /* WINDOW*, int, int, chtype */ ));
int PDC_CDECL mvinsrawch Args(( /* int, int, chtype */ ));
int PDC_CDECL saveoldterm Args(( /* void */ ));
int PDC_CDECL tabsize Args(( /* int */ ));
int PDC_CDECL waddrawstr Args(( /* WINDOW*, char* */ ));
int PDC_CDECL wtabsize Args(( /* WINDOW*, int */ ));
int PDC_CDECL win_print Args(( /* WINDOW*, int */ ));
#endif
#ifdef XCURSES
void XCursesExit(/* void */);
int nocbreak( /* void */ );
int cbreak( /* void */ );
int nocrmode( /* void */ );
int crmode( /* void */ );
int noecho( /* void */ );
int echo( /* void */ );
int nodelay( /* WINDOW *,bool */ );
void PDC_CDECL XCursesExit Args(( void ));
int PDC_CDECL nocbreak Args(( void ));
int PDC_CDECL cbreak Args(( void ));
int PDC_CDECL nocrmode Args(( void ));
int PDC_CDECL crmode Args(( void ));
int PDC_CDECL noecho Args(( void ));
int PDC_CDECL echo Args(( void ));
int PDC_CDECL nodelay Args(( WINDOW *,bool ));
#endif
int PDC_CDECL mouse_set( /* long */ );
int PDC_CDECL mouse_on( /* long */ );
int PDC_CDECL mouse_off( /* long */ );
int PDC_CDECL request_mouse_pos( /* void */ );
int PDC_CDECL map_button( /* unsigned long */ );
void PDC_CDECL wmouse_position( /* WINDOW *, int *, int * */ );
unsigned long PDC_CDECL getmouse( /* void */ );
unsigned long PDC_CDECL getbmap( /* void */ );
int PDC_CDECL mouse_set Args(( unsigned long ));
int PDC_CDECL mouse_on Args(( unsigned long ));
int PDC_CDECL mouse_off Args(( unsigned long ));
int PDC_CDECL request_mouse_pos Args(( void ));
int PDC_CDECL map_button Args(( unsigned long ));
void PDC_CDECL wmouse_position Args(( WINDOW *, int *, int * ));
unsigned long PDC_CDECL getmouse Args(( void ));
unsigned long PDC_CDECL getbmap Args(( void ));
/*
* Keep the compiler happy with our macros below...
*/
int PDC_CDECL PDC_chadd( /* WINDOW*, chtype, bool, bool */ );
int PDC_CDECL PDC_chins( /* WINDOW*, chtype, bool */ );
int PDC_CDECL PDC_ungetch( /* int */ );
int PDC_CDECL PDC_chadd Args(( WINDOW*, chtype, bool, bool ));
int PDC_CDECL PDC_chins Args(( WINDOW*, chtype, bool ));
int PDC_CDECL PDC_ungetch Args(( int ));
void PDC_CDECL PDC_set_title( /* char * */ );
int PDC_CDECL PDC_getclipboard( /* char **, long * */ );
int PDC_CDECL PDC_setclipboard( /* char *, long */ );
int PDC_CDECL PDC_clearclipboard( /* void */ );
void PDC_CDECL PDC_set_title Args(( char * ));
unsigned long PDC_CDECL PDC_get_input_fd( /* void */ );
int PDC_CDECL PDC_curs_set( /* int */ );
unsigned long PDC_CDECL PDC_get_key_modifiers( /* void */ );
int PDC_CDECL PDC_getclipboard Args(( char **, long * ));
int PDC_CDECL PDC_setclipboard Args(( char *, long ));
int PDC_CDECL PDC_freeclipboard Args(( char * ));
int PDC_CDECL PDC_clearclipboard Args(( void ));
int PDC_CDECL PDC_wunderline( /* WINDOW*, int, bool */ );
int PDC_CDECL PDC_wleftline( /* WINDOW*, int, bool */ );
int PDC_CDECL PDC_wrightline( /* WINDOW*, int, bool */ );
int PDC_CDECL PDC_set_line_color( /* short */ );
unsigned long PDC_CDECL PDC_get_input_fd Args(( void ));
int PDC_CDECL PDC_curs_set Args(( int ));
unsigned long PDC_CDECL PDC_get_key_modifiers Args(( void ));
#endif
int PDC_CDECL PDC_wunderline Args(( WINDOW*, int, bool ));
int PDC_CDECL PDC_wleftline Args(( WINDOW*, int, bool ));
int PDC_CDECL PDC_wrightline Args(( WINDOW*, int, bool ));
int PDC_CDECL PDC_set_line_color Args(( short ));
#undef Args
#ifndef max
# define max(a,b) (((a) > (b)) ? (a) : (b))

View File

@@ -18,7 +18,7 @@
***************************************************************************
*/
/*
$Id: curspriv.h,v 1.5 2002/11/27 11:14:27 mark Exp $
$Id: curspriv.h,v 1.6 2004/01/02 05:50:05 mark Exp $
*/
/*
*
@@ -118,14 +118,14 @@ $Id: curspriv.h,v 1.5 2002/11/27 11:14:27 mark Exp $
typedef union REGS Regs;
# endif
extern Regs regs;
# ifdef GO32 /* Note: works only in plain DOS... */
# ifdef __DJGPP__ /* Note: works only in plain DOS... */
# if DJGPP == 2
# define _FAR_POINTER(s,o) ((((int)(s))<<4) + ((int)(o)))
# else
# define _FAR_POINTER(s,o) (0xe0000000 + (((int)(s))<<4) + ((int)(o)))
# endif
# define _FP_SEGMENT(p) (unsigned short)((((long)fp) >> 4) & 0xffff)
# define _FP_OFFSET(p) ((unsigned short)fp & 0x000f)
# define _FP_SEGMENT(p) (unsigned short)((((long)p) >> 4) & 0xffff)
# define _FP_OFFSET(p) ((unsigned short)p & 0x000f)
# else
# ifdef __TURBOC__
# define _FAR_POINTER(s,o) MK_FP(s,o)
@@ -140,27 +140,26 @@ $Id: curspriv.h,v 1.5 2002/11/27 11:14:27 mark Exp $
# endif
# endif
# endif
# define _FP_SEGMENT(p) (unsigned short)(((long)fp) >> 4)
# define _FP_OFFSET(p) ((unsigned short)fp & 0x000f)
# define _FP_SEGMENT(p) (unsigned short)(((long)p) >> 4)
# define _FP_OFFSET(p) ((unsigned short)p & 0x000f)
# endif
# ifdef GO32
# ifdef __DJGPP__
unsigned char getdosmembyte (int offs); /* see: private\_dosmem.c */
unsigned short getdosmemword (int offs);
void setdosmembyte (int offs, unsigned char b);
void setdosmemword (int offs, unsigned short w);
# else
# if SMALL || MEDIUM || MSC
# define getdosmembyte(offs) (*((unsigned char far *) _FAR_POINTER(0,offs)))
# define getdosmemword(offs) (*((unsigned short far *) _FAR_POINTER(0,offs)))
# define setdosmembyte(offs,x) (*((unsigned char far *) _FAR_POINTER(0,offs)) = (x))
# define setdosmemword(offs,x) (*((unsigned short far *) _FAR_POINTER(0,offs)) = (x))
# if SMALL || MEDIUM || MSC || PC
# define PDC_FAR far
# else
# define getdosmembyte(offs) (*((unsigned char *) _FAR_POINTER(0,offs)))
# define getdosmemword(offs) (*((unsigned short *) _FAR_POINTER(0,offs)))
# define setdosmembyte(offs,x) (*((unsigned char *) _FAR_POINTER(0,offs)) = (x))
# define setdosmemword(offs,x) (*((unsigned short *) _FAR_POINTER(0,offs)) = (x))
# define PDC_FAR
# endif
# define getdosmembyte(offs) (*((unsigned char PDC_FAR *) _FAR_POINTER(0,offs)))
# define getdosmemword(offs) (*((unsigned short PDC_FAR *) _FAR_POINTER(0,offs)))
# define setdosmembyte(offs,x) (*((unsigned char PDC_FAR *) _FAR_POINTER(0,offs)) = (x))
# define setdosmemword(offs,x) (*((unsigned short PDC_FAR *) _FAR_POINTER(0,offs)) = (x))
# under PDC_FAR
# endif
#endif
@@ -281,255 +280,143 @@ extern WINDOW* twin; /* used by many routines */
* compilation definitions above define HAVE_PROTO if your compiler
* supports prototypes.
*/
#ifdef HAVE_PROTO
void PDC_beep( void );
int PDC_backchar( WINDOW*, char*, int* );
bool PDC_breakout( void );
int PDC_chadd( WINDOW*, chtype, bool, bool );
bool PDC_check_bios_key( void );
int PDC_chg_attr( WINDOW*, chtype, int, int, int, int );
int PDC_chins( WINDOW*, chtype, bool );
int PDC_clr_scrn( WINDOW* );
int PDC_clr_update( WINDOW* );
int PDC_copy_win( WINDOW *,WINDOW *,int,int,int,int,int,int,int,int,bool );
int PDC_cursor_off( void );
int PDC_cursor_on( void );
int PDC_curs_set( int );
int PDC_fix_cursor( int );
int PDC_gattr( void );
int PDC_get_bios_key( void );
int PDC_get_columns( void );
bool PDC_get_ctrl_break( void );
int PDC_get_cur_col( void );
int PDC_get_cur_row( void );
int PDC_get_cursor_pos( int*, int* );
int PDC_get_cursor_mode( void );
int PDC_get_font( void );
int PDC_get_rows( void );
int PDC_get_buffer_rows( void );
int PDC_gotoxy( int, int );
int PDC_init_atrtab(void);
WINDOW* PDC_makenew( int, int, int, int );
int PDC_mouse_in_slk( int, int );
int PDC_newline( WINDOW*, int );
int PDC_print( int, int, int );
int PDC_putc( chtype, chtype );
int PDC_putchar( chtype );
int PDC_putctty( chtype, chtype );
int PDC_rawgetch( void );
int PDC_reset_prog_mode( void );
int PDC_reset_shell_mode( void );
int PDC_resize_screen( int, int );
int PDC_sanity_check( int );
int PDC_scr_close( void );
int PDC_scr_open( SCREEN*, bool );
int PDC_scroll( int, int, int, int, int, chtype );
int PDC_set_80x25( void );
int PDC_set_ctrl_break( bool );
int PDC_set_cursor_mode( int, int );
int PDC_set_font( int );
int PDC_set_rows( int );
int PDC_split_plane( WINDOW*, char*, char*, int, int, int, int );
void PDC_sync( WINDOW * );
int PDC_sysgetch( void );
bool PDC_transform_line( int );
void PDC_usleep( long );
int PDC_validchar( int );
int PDC_vsscanf( char *, const char *, va_list);
#ifdef HAVE_PROTO
# define Args(x) x
#else
# define Args(x) ()
#endif
void PDC_slk_calc( void );
void PDC_beep Args(( void ));
int PDC_backchar Args(( WINDOW*, char*, int* ));
bool PDC_breakout Args(( void ));
int PDC_chadd Args(( WINDOW*, chtype, bool, bool ));
bool PDC_check_bios_key Args(( void ));
int PDC_chg_attr Args(( WINDOW*, chtype, int, int, int, int ));
int PDC_chins Args(( WINDOW*, chtype, bool ));
int PDC_clr_scrn Args(( WINDOW* ));
int PDC_clr_update Args(( WINDOW* ));
int PDC_copy_win Args(( WINDOW *,WINDOW *,int,int,int,int,int,int,int,int,bool ));
int PDC_cursor_off Args(( void ));
int PDC_cursor_on Args(( void ));
int PDC_curs_set Args(( int ));
int PDC_fix_cursor Args(( int ));
int PDC_gattr Args(( void ));
int PDC_get_bios_key Args(( void ));
int PDC_get_columns Args(( void ));
bool PDC_get_ctrl_break Args(( void ));
int PDC_get_cur_col Args(( void ));
int PDC_get_cur_row Args(( void ));
int PDC_get_cursor_pos Args(( int*, int* ));
int PDC_get_cursor_mode Args(( void ));
int PDC_get_font Args(( void ));
int PDC_get_rows Args(( void ));
int PDC_get_buffer_rows Args(( void ));
int PDC_gotoxy Args(( int, int ));
int PDC_init_atrtab Args((void));
WINDOW* PDC_makenew Args(( int, int, int, int ));
int PDC_mouse_in_slk Args(( int, int ));
int PDC_newline Args(( WINDOW*, int ));
int PDC_print Args(( int, int, int ));
int PDC_putc Args(( chtype, chtype ));
int PDC_putchar Args(( chtype ));
int PDC_putctty Args(( chtype, chtype ));
int PDC_rawgetch Args(( void ));
int PDC_reset_prog_mode Args(( void ));
int PDC_reset_shell_mode Args(( void ));
int PDC_resize_screen Args(( int, int ));
int PDC_sanity_check Args(( int ));
int PDC_scr_close Args(( void ));
int PDC_scr_open Args(( SCREEN*, bool ));
int PDC_scroll Args(( int, int, int, int, int, chtype ));
int PDC_set_80x25 Args(( void ));
int PDC_set_ctrl_break Args(( bool ));
int PDC_set_cursor_mode Args(( int, int ));
int PDC_set_font Args(( int ));
int PDC_set_rows Args(( int ));
int PDC_split_plane Args(( WINDOW*, char*, char*, int, int, int, int ));
void PDC_sync Args(( WINDOW * ));
int PDC_sysgetch Args(( void ));
bool PDC_transform_line Args(( int ));
void PDC_usleep Args(( long ));
int PDC_validchar Args(( int ));
int PDC_vsscanf Args(( char *, const char *, va_list));
void PDC_slk_calc Args(( void ));
# if defined( OS2 ) && !defined( EMXVIDEO )
int PDC_set_scrn_mode( VIOMODEINFO);
bool PDC_scrn_modes_equal (VIOMODEINFO, VIOMODEINFO);
int PDC_get_scrn_mode( VIOMODEINFO *);
int PDC_query_adapter_type( VIOCONFIGINFO * );
int PDC_get_keyboard_info( KBDINFO * );
int PDC_set_keyboard_binary( void );
int PDC_set_keyboard_default( void );
int PDC_reset_shell_mode( void );
int PDC_reset_prog_mode( void );
int PDC_set_scrn_mode Args(( VIOMODEINFO));
bool PDC_scrn_modes_equal Args((VIOMODEINFO, VIOMODEINFO));
int PDC_get_scrn_mode Args(( VIOMODEINFO *));
int PDC_query_adapter_type Args(( VIOCONFIGINFO * ));
int PDC_get_keyboard_info Args(( KBDINFO * ));
int PDC_set_keyboard_binary Args(( void ));
int PDC_set_keyboard_default Args(( void ));
int PDC_reset_shell_mode Args(( void ));
int PDC_reset_prog_mode Args(( void ));
# else
int PDC_set_scrn_mode( int );
bool PDC_scrn_modes_equal (int, int);
int PDC_get_scrn_mode( void );
int PDC_query_adapter_type( void );
int PDC_set_scrn_mode Args(( int ));
bool PDC_scrn_modes_equal Args((int, int));
int PDC_get_scrn_mode Args(( void ));
int PDC_query_adapter_type Args(( void ));
# endif
# ifdef FLEXOS
int PDC_flexos_8bitmode( void );
int PDC_flexos_16bitmode( void );
char* PDC_flexos_gname( void );
int PDC_flexos_8bitmode Args(( void ));
int PDC_flexos_16bitmode Args(( void ));
char* PDC_flexos_gname Args(( void ));
# endif
# ifdef UNIX
int PDC_kbhit(void);
int PDC_setup_keys(void);
int PDC_kbhit Args((void));
int PDC_setup_keys Args((void));
# endif
# ifdef WIN32
void PDC_doupdate(void);
void PDC_doupdate Args((void));
# endif
# if defined (XCURSES)
int XCurses_redraw_curscr(void);
int XCurses_display_cursor(int,int,int,int,int);
int XCurses_rawgetch(int);
bool XCurses_kbhit(void);
int XCurses_get_input_fd(void);
int XCursesInstruct(int);
int XCursesInstructAndWait(int);
int XCurses_transform_line(chtype*, int , int , int );
int XCursesInitscr(char *,int, char **);
int XCursesEndwin(void);
void XCursesCleanupCursesProcess(int);
int XCursesResizeScreen( int, int );
int XCurses_get_cols(void);
int XCurses_get_rows(void);
int XCurses_refresh_scrollbar(void);
void XCurses_set_title(char *);
int XCurses_getclipboard( char **, long * );
int XCurses_setclipboard( char *, long );
int XCurses_clearclipboard( void );
unsigned long XCurses_get_key_modifiers( void );
int XCurses_redraw_curscr Args((void));
int XCurses_display_cursor Args((int,int,int,int,int));
int XCurses_rawgetch Args((int));
bool XCurses_kbhit Args((void));
int XCurses_get_input_fd Args((void));
int XCursesInstruct Args((int));
int XCursesInstructAndWait Args((int));
int XCurses_transform_line Args((chtype*, int , int , int ));
int XCursesInitscr Args((char *,int, char **));
int XCursesEndwin Args((void));
void XCursesCleanupCursesProcess Args((int));
int XCursesResizeScreen Args(( int, int ));
int XCurses_get_cols Args((void));
int XCurses_get_rows Args((void));
int XCurses_refresh_scrollbar Args((void));
void XCurses_set_title Args((char *));
int XCurses_getclipboard Args(( char **, long * ));
int XCurses_setclipboard Args(( char *, long ));
int XCurses_clearclipboard Args(( void ));
unsigned long XCurses_get_key_modifiers Args(( void ));
# endif
# ifdef PDCDEBUG
void PDC_debug( char*,... );
# endif
# ifdef REGISTERWINDOWS
bool PDC_inswin( WINDOW*, WINDOW* );
int PDC_addtail( WINDOW* );
int PDC_addwin( WINDOW*, WINDOW* );
int PDC_rmwin( WINDOW* );
WINDS* PDC_findwin( WINDOW* );
# endif
#else
void PDC_beep( /* void */ );
int PDC_backchar( /* WINDOW*, char*, int* */ );
bool PDC_breakout( /* void */ );
int PDC_chadd( /* WINDOW*, chtype, bool, bool */ );
bool PDC_check_bios_key( /* void */ );
int PDC_chg_attr( /* WINDOW*, chtype, int, int, int, int */ );
int PDC_chins( /* WINDOW*, chtype, bool */ );
int PDC_clr_scrn( /* WINDOW* */ );
int PDC_clr_update( /* WINDOW* */ );
int PDC_copy_win( /* WINDOW *,WINDOW *,int,int,int,int,int,int,int,int,bool */ );
int PDC_cursor_off( /* void */ );
int PDC_cursor_on( /* void */ );
int PDC_curs_set( /* int */ );
int PDC_fix_cursor( /* int */ );
int PDC_gattr( /* void */ );
int PDC_get_bios_key( /* void */ );
int PDC_get_columns( /* void */ );
bool PDC_get_ctrl_break( /* void */ );
int PDC_get_cur_col( /* void */ );
int PDC_get_cur_row( /* void */ );
int PDC_get_cursor_pos( /* int*, int* */ );
int PDC_get_cursor_mode( /* void */ );
int PDC_get_font( /* void */ );
int PDC_get_rows( /* void */ );
int PDC_get_buffer_rows( /* void */ );
int PDC_gotoxy( /* int, int */ );
int PDC_init_atrtab( /*void*/ );
WINDOW* PDC_makenew( /* int, int, int, int */ );
int PDC_mouse_in_slk(/* int, int */ );
int PDC_newline( /* WINDOW*, int */ );
int PDC_print( /* int, int, int */ );
int PDC_putc( /* chtype, chtype */ );
int PDC_putchar( /* chtype */ );
int PDC_putctty( /* chtype, chtype */ );
int PDC_rawgetch( /* void */ );
int PDC_reset_prog_mode( /* void */ );
int PDC_reset_shell_mode( /* void */ );
int PDC_resize_screen( /* int, int */ );
int PDC_sanity_check( /* int */ );
int PDC_scr_close( /* void */ );
int PDC_scr_open( /* SCREEN*, bool */ );
int PDC_scroll( /* int, int, int, int, int, chtype */ );
int PDC_set_80x25( /* void */ );
int PDC_set_ctrl_break( /* bool */ );
int PDC_set_cursor_mode( /* int, int */ );
int PDC_set_font( /* int */ );
int PDC_set_rows( /* int */ );
int PDC_split_plane( /* WINDOW*, char*, char*, int, int, int, int */ );
void PDC_sync( /* WINDOW * */ );
int PDC_sysgetch( /* void */ );
bool PDC_transform_line( /* int */ );
void PDC_usleep( /* long */ );
int PDC_validchar( /* int */ );
int PDC_vsscanf( /* char *, const char *, ... */);
void PDC_slk_calc( /* void */ );
# if defined( OS2 ) && !defined( EMXVIDEO )
int PDC_set_scrn_mode( /* VIOMODEINFO*/ );
bool PDC_scrn_modes_equal ( /*VIOMODEINFO, VIOMODEINFO*/ );
int PDC_get_scrn_mode( /* VIOMODEINFO * */ );
int PDC_query_adapter_type( /* VIOCONFIGINFO * */ );
# else
int PDC_set_scrn_mode( /* int */ );
bool PDC_scrn_modes_equal ( /*int, int*/ );
int PDC_get_scrn_mode( /* void */ );
int PDC_query_adapter_type( /* void */ );
# endif
# ifdef FLEXOS
int PDC_flexos_8bitmode( /* void */ );
int PDC_flexos_16bitmode( /* void */ );
char* PDC_flexos_gname( /* void */ );
# endif
# ifdef UNIX
int PDC_kbhit( /*void*/ );
int PDC_setup_keys( /*void*/ );
# endif
# ifdef WIN32
void PDC_doupdate( /*void*/ );
# endif
# if defined ( XCURSES )
int XCurses_redraw_curscr( /*void*/ );
int XCurses_display_cursor( /*int,int,int,int,int*/ );
int XCurses_rawgetch( /*int*/ );
bool XCurses_kbhit( /*void*/ );
int XCurses_get_input_fd( /*void*/ );
int XCursesInstruct( /*int*/ );
int XCursesInstructAndWait( /*void*/ );
int XCurses_transform_line( /*chtype*, int , int , int */ );
int XCursesInitscr( /* char *, int, char ** */ );
int XCursesEndwin( /*void*/ );
void XCursesCleanupCursesProcess(/* int */);
int XCursesResizeScreen( /* int, int */ );
int XCurses_get_cols(/* void */);
int XCurses_get_rows(/* void */);
int XCurses_refresh_scrollbar( /* void */ );
void XCurses_set_title(/* char * */ );
int XCurses_getclipboard( /* char **, long * */ );
int XCurses_setclipboard( /* char *, long */ );
int XCurses_clearclipboard( /* void */ );
unsigned long XCurses_get_key_modifiers( /* void */ );
# endif
# ifdef PDCDEBUG
void PDC_debug( /* char*,... */ );
# endif
# ifdef REGISTERWINDOWS
bool PDC_inswin( /* WINDOW*, WINDOW* */ );
int PDC_addtail( /* WINDOW* */ );
int PDC_addwin( /* WINDOW*, WINDOW* */ );
int PDC_rmwin( /* WINDOW* */ );
WINDS* PDC_findwin( /* WINDOW* */ );
# endif
#ifdef PC
void movedata Args(((unsigned, unsigned, unsigned, unsigned, unsigned));
#endif
# ifdef PDCDEBUG
void PDC_debug Args(( char*,... ));
# endif
# ifdef REGISTERWINDOWS
bool PDC_inswin Args(( WINDOW*, WINDOW* ));
int PDC_addtail Args(( WINDOW* ));
int PDC_addwin Args(( WINDOW*, WINDOW* ));
int PDC_rmwin Args(( WINDOW* ));
WINDS* PDC_findwin Args(( WINDOW* ));
# endif
#undef Args
#define PDC_COLORS 8
#define PDC_COLOR_PAIRS 64

View File

@@ -35,12 +35,20 @@
#endif
#ifdef PDCDEBUG
char *rcsid_firework = "$Id: firework.c,v 1.2 2003/06/23 07:55:00 mark Exp $";
char *rcsid_firework = "$Id: firework.c,v 1.3 2004/01/02 05:50:05 mark Exp $";
#endif
void myrefresh();
int get_colour();
void explode();
#if __STDC__
# define Args(x) x
#else
# define Args(x) ()
#endif
int myrefresh Args((void));
chtype get_colour Args((void));
void explode Args((int,int));
#undef Args
int main()
{
@@ -55,38 +63,38 @@ int main()
srand(seed);
flag = 0;
while(getch() == ERR) /* loop until a key is hit */
{
do {
start = rand() % (COLS -3);
end = rand() % (COLS - 3);
start = (start < 2) ? 2 : start;
end = (end < 2) ? 2 : end;
direction = (start > end) ? -1 : 1;
diff = abs(start-end);
} while (diff<2 || diff>=LINES-2);
attrset(A_NORMAL);
for (row=0;row<diff;row++)
{
do {
start = rand() % (COLS -3);
end = rand() % (COLS - 3);
start = (start < 2) ? 2 : start;
end = (end < 2) ? 2 : end;
direction = (start > end) ? -1 : 1;
diff = abs(start-end);
} while (diff<2 || diff>=LINES-2);
attrset(A_NORMAL);
for (row=0;row<diff;row++)
mvprintw(LINES - row,start + (row * direction),
(direction < 0) ? "\\" : "/");
if (flag++)
{
mvprintw(LINES - row,start + (row * direction),
(direction < 0) ? "\\" : "/");
if (flag++)
{
myrefresh();
clear();
flag = 0;
}
myrefresh();
clear();
flag = 0;
}
}
if (flag++)
{
{
myrefresh();
flag = 0;
}
}
seed = time((time_t *)0);
srand(seed);
explode(LINES-row,start+(diff*direction));
clear();
myrefresh();
}
}
endwin();
#ifdef XCURSES
XCursesExit();
@@ -145,38 +153,31 @@ int row,col;
myrefresh();
}
void myrefresh()
int myrefresh()
{
napms(DELAYSIZE);
move(LINES-1,COLS-1);
refresh();
}
int get_colour()
chtype get_colour()
{
int attr, tmp;
static chtype tbl[] =
{
COLOR_RED,
COLOR_BLUE,
COLOR_GREEN,
COLOR_CYAN,
COLOR_RED,
COLOR_MAGENTA,
COLOR_YELLOW,
COLOR_WHITE,
};
chtype attr;
attr = (rand() % 8)+1;
attr = tbl[rand() % 8];
if (attr == 1)
attr = COLOR_RED; /* use red twice */
else if (attr == 2)
attr = COLOR_BLUE;
else if (attr == 3)
attr = COLOR_GREEN;
else if (attr == 4)
attr = COLOR_CYAN;
else if (attr == 5)
attr = COLOR_RED;
else if (attr == 6)
attr = COLOR_MAGENTA;
else if (attr == 7)
attr = COLOR_YELLOW;
else if (attr == 8)
attr = COLOR_WHITE;
tmp = (rand() % 2)+1;
if (tmp > 1)
if (rand() % 2)
attr |= A_BOLD;
return(attr);
}

View File

@@ -44,9 +44,22 @@
#endif
#ifdef PDCDEBUG
char *rcsid_newdemo = "$Id: newdemo.c,v 1.2 2003/06/23 07:55:01 mark Exp $";
char *rcsid_newdemo = "$Id: newdemo.c,v 1.3 2004/01/02 05:50:05 mark Exp $";
#endif
#if __STDC__
#define Args(x) x
#else
#define Args(x) ()
#endif
int WaitForUser Args((void));
int SubWinTest Args((WINDOW *));
int BouncingBalls Args((WINDOW *));
void trap Args((int));
#undef Args
/*
* The Australian map
*/
@@ -87,32 +100,32 @@ char *messages[] =
*/
int WaitForUser()
{
time_t t;
chtype ch;
time_t t;
chtype ch;
nodelay(stdscr,TRUE);
t = time((time_t *)0);
while(1)
nodelay(stdscr,TRUE);
t = time((time_t *)0);
while(1)
{
if ((ch = getch()) != ERR)
{
if ((ch = getch()) != ERR)
{
if (ch == '\033')
{
nodelay(stdscr, FALSE);
return ch;
}
else
{
nodelay(stdscr, FALSE);
return 0;
}
}
if (time((time_t *)0) - t > 5)
if (ch == '\033')
{
nodelay(stdscr, FALSE);
return 0;
nodelay(stdscr, FALSE);
return ch;
}
else
{
nodelay(stdscr, FALSE);
return 0;
}
}
if (time((time_t *)0) - t > 5)
{
nodelay(stdscr, FALSE);
return 0;
}
}
}
/*
@@ -121,46 +134,46 @@ int WaitForUser()
int SubWinTest(win)
WINDOW *win;
{
int w, h, sw, sh, bx, by;
WINDOW *swin1, *swin2, *swin3;
int w, h, sw, sh, bx, by;
WINDOW *swin1, *swin2, *swin3;
wattrset(win, 0);
w = win->_maxx;
h = win->_maxy;
bx = win->_begx;
by = win->_begy;
sw = w / 3;
sh = h / 3;
if((swin1 = derwin(win, sh, sw, 3, 5)) == NULL)
return 1;
if((swin2 = subwin(win, sh, sw, by+4, bx+8)) == NULL)
return 1;
if((swin3 = subwin(win, sh, sw, by+5, bx+11)) == NULL)
return 1;
wattrset(win, 0);
w = win->_maxx;
h = win->_maxy;
bx = win->_begx;
by = win->_begy;
sw = w / 3;
sh = h / 3;
if ((swin1 = derwin(win, sh, sw, 3, 5)) == NULL)
return 1;
if ((swin2 = subwin(win, sh, sw, by+4, bx+8)) == NULL)
return 1;
if ((swin3 = subwin(win, sh, sw, by+5, bx+11)) == NULL)
return 1;
init_pair(8,COLOR_RED,COLOR_BLUE);
wbkgd(swin1, COLOR_PAIR(8));
werase(swin1);
mvwaddstr(swin1, 0, 3, "Sub-window 1");
wrefresh(swin1);
init_pair(8,COLOR_RED,COLOR_BLUE);
wbkgd(swin1, COLOR_PAIR(8));
werase(swin1);
mvwaddstr(swin1, 0, 3, "Sub-window 1");
wrefresh(swin1);
init_pair(9,COLOR_CYAN,COLOR_MAGENTA);
wbkgd(swin2, COLOR_PAIR(9));
werase(swin2);
mvwaddstr(swin2, 0, 3, "Sub-window 2");
wrefresh(swin2);
init_pair(9,COLOR_CYAN,COLOR_MAGENTA);
wbkgd(swin2, COLOR_PAIR(9));
werase(swin2);
mvwaddstr(swin2, 0, 3, "Sub-window 2");
wrefresh(swin2);
init_pair(10,COLOR_YELLOW,COLOR_GREEN);
wbkgd(swin3, COLOR_PAIR(10));
werase(swin3);
mvwaddstr(swin3, 0, 3, "Sub-window 3");
wrefresh(swin3);
init_pair(10,COLOR_YELLOW,COLOR_GREEN);
wbkgd(swin3, COLOR_PAIR(10));
werase(swin3);
mvwaddstr(swin3, 0, 3, "Sub-window 3");
wrefresh(swin3);
delwin(swin1);
delwin(swin2);
delwin(swin3);
WaitForUser();
return 0;
delwin(swin1);
delwin(swin2);
delwin(swin3);
WaitForUser();
return 0;
}
/*
@@ -169,83 +182,86 @@ WINDOW *swin1, *swin2, *swin3;
int BouncingBalls(win)
WINDOW *win;
{
chtype c1, c2, c3;
int w, h;
int x1, y1, xd1, yd1;
int x2, y2, xd2, yd2;
int x3, y3, xd3, yd3;
int c;
chtype c1, c2, c3;
int w, h;
int x1, y1, xd1, yd1;
int x2, y2, xd2, yd2;
int x3, y3, xd3, yd3;
int c;
#if defined(PDCURSES)
curs_set(0);
curs_set(0);
#endif
wbkgd( win, COLOR_PAIR(1) );
wrefresh(win);
wbkgd( win, COLOR_PAIR(1) );
wrefresh(win);
w = win->_maxx;
h = win->_maxy;
x1 = 2 + rand() % (w - 4);
y1 = 2 + rand() % (h - 4);
x2 = 2 + rand() % (w - 4);
y2 = 2 + rand() % (h - 4);
x3 = 2 + rand() % (w - 4);
y3 = 2 + rand() % (h - 4);
xd1 = +1; yd1 = +1;
xd2 = +1; yd2 = -1;
xd3 = -1; yd3 = +1;
nodelay(stdscr,TRUE);
while((c = getch()) == ERR)
{ x1 = x1 + xd1;
if(x1 <= 1 || x1 >= w - 2)
xd1 = -xd1;
y1 = y1 + yd1;
if(y1 <= 1 || y1 >= h - 2)
yd1 = -yd1;
w = win->_maxx;
h = win->_maxy;
x1 = 2 + rand() % (w - 4);
y1 = 2 + rand() % (h - 4);
x2 = 2 + rand() % (w - 4);
y2 = 2 + rand() % (h - 4);
x3 = 2 + rand() % (w - 4);
y3 = 2 + rand() % (h - 4);
xd1 = 1;
yd1 = 1;
xd2 = 1;
yd2 = 0;
xd3 = 0;
yd3 = 1;
nodelay(stdscr,TRUE);
while((c = getch()) == ERR)
{
x1 = xd1 > 0 ? ++x1 : --x1;
if (x1 <= 1 || x1 >= w - 2)
xd1 = xd1 ? 0 : 1;
y1 = yd1 > 0 ? ++y1 : --y1;
if (y1 <= 1 || y1 >= h - 2)
yd1 = yd1 ? 0 : 1;
x2 = xd2 > 0 ? ++x2 : --x2;
if (x2 <= 1 || x2 >= w - 2)
xd2 = xd2 ? 0 : 1;
y2 = yd2 > 0 ? ++y2 : --y2;
if (y2 <= 1 || y2 >= h - 2)
yd2 = yd2 ? 0 : 1;
x3 = xd3 > 0 ? ++x3 : --x3;
if (x3 <= 1 || x3 >= w - 2)
xd3 = xd3 ? 0 : 1;
y3 = yd3 > 0 ? ++y3 : --y3;
if (y3 <= 1 || y3 >= h - 2)
yd3 = yd3 ? 0 : 1;
x2 = x2 + xd2;
if(x2 <= 1 || x2 >= w - 2)
xd2 = -xd2;
y2 = y2 + yd2;
if(y2 <= 1 || y2 >= h - 2)
yd2 = -yd2;
c1 = mvwinch(win, y1, x1);
c2 = mvwinch(win, y2, x2);
c3 = mvwinch(win, y3, x3);
x3 = x3 + xd3;
if(x3 <= 1 || x3 >= w - 2)
xd3 = -xd3;
y3 = y3 + yd3;
if(y3 <= 1 || y3 >= h - 2)
yd3 = -yd3;
c1 = mvwinch(win, y1, x1);
c2 = mvwinch(win, y2, x2);
c3 = mvwinch(win, y3, x3);
init_pair(8,COLOR_RED,COLOR_GREEN);
wattrset(win, COLOR_PAIR(8));
mvwaddch(win, y1, x1, 'O');
init_pair(9,COLOR_BLUE,COLOR_RED);
wattrset(win, COLOR_PAIR(9));
mvwaddch(win, y2, x2, '*');
init_pair(10,COLOR_YELLOW,COLOR_WHITE);
wattrset(win, COLOR_PAIR(10));
mvwaddch(win, y3, x3, '@');
wmove(win, 0, 0);
wrefresh(win);
wattrset(win,0);
mvwaddch(win, y1, x1, c1);
mvwaddch(win, y2, x2, c2);
mvwaddch(win, y3, x3, c3);
napms(150);
}
nodelay(stdscr,FALSE);
ungetch(c);
return 0;
init_pair(8,COLOR_RED,COLOR_GREEN);
wattrset(win, COLOR_PAIR(8));
mvwaddch(win, y1, x1, 'O');
init_pair(9,COLOR_BLUE,COLOR_RED);
wattrset(win, COLOR_PAIR(9));
mvwaddch(win, y2, x2, '*');
init_pair(10,COLOR_YELLOW,COLOR_WHITE);
wattrset(win, COLOR_PAIR(10));
mvwaddch(win, y3, x3, '@');
wmove(win, 0, 0);
wrefresh(win);
wattrset(win,0);
mvwaddch(win, y1, x1, c1);
mvwaddch(win, y2, x2, c2);
mvwaddch(win, y3, x3, c3);
napms(150);
}
nodelay(stdscr,FALSE);
ungetch(c);
return 0;
}
/*
* Trap interrupt
*/
void trap()
void trap(sig)
int sig;
{
endwin();
#ifdef XCURSES
@@ -269,167 +285,172 @@ void trap();
#ifdef PDCDEBUG
/* traceon();*/
#endif
initscr();
start_color();
cbreak();
noecho();
curs_set(0);
initscr();
start_color();
cbreak();
noecho();
curs_set(0);
#if !defined(TC) && !defined(OS2)
signal(SIGINT, trap);
signal(SIGINT, trap);
#endif
noecho();
noecho();
/* refresh stdscr so that reading from it will not cause it to overwrite */
/* the other windows that are being created */
refresh();
refresh();
width = 48;
height = 15; /* Create a drawing window */
win = newwin(height, width, (LINES-height)/2, (COLS-width)/2);
if(win == NULL)
{
endwin();
width = 48;
height = 15; /* Create a drawing window */
win = newwin(height, width, (LINES-height)/2, (COLS-width)/2);
if (win == NULL)
{
endwin();
#ifdef XCURSES
XCursesExit();
XCursesExit();
#endif
return 1;
}
return 1;
}
while(TRUE)
{ init_pair(1,COLOR_WHITE,COLOR_BLUE);
for( ;; )
{
init_pair(1,COLOR_WHITE,COLOR_BLUE);
/* wattrset(win, COLOR_PAIR(1));*/
wbkgd(win, COLOR_PAIR(1));
werase(win);
wbkgd(win, COLOR_PAIR(1));
werase(win);
init_pair(2,COLOR_RED,COLOR_RED);
wattrset(win, COLOR_PAIR(2));
ch = ' ';
box(win, ch, ch);
wrefresh(win);
wattrset(win, 0);
/* Do random output of a character */
ch = 'a';
nodelay(stdscr,TRUE);
for(i=0; i < 5000; ++i)
{ x = rand() % (width-2) + 1;
y = rand() % (height-2) + 1;
mvwaddch(win, y, x, ch);
wrefresh(win);
if (getch() != ERR)
break;
if(i == 2000)
{ ch = 'b';
init_pair(3,COLOR_CYAN,COLOR_YELLOW);
wattron(win, COLOR_PAIR(3));
}
}
nodelay(stdscr,FALSE);
init_pair(2,COLOR_RED,COLOR_RED);
wattrset(win, COLOR_PAIR(2));
ch = ' ';
box(win, ch, ch);
wrefresh(win);
wattrset(win, 0);
/* Do random output of a character */
ch = 'a';
nodelay(stdscr,TRUE);
for(i=0; i < 5000; ++i)
{
x = rand() % (width-2) + 1;
y = rand() % (height-2) + 1;
mvwaddch(win, y, x, ch);
wrefresh(win);
if (getch() != ERR)
break;
if(i == 2000)
{
ch = 'b';
init_pair(3,COLOR_CYAN,COLOR_YELLOW);
wattron(win, COLOR_PAIR(3));
}
}
nodelay(stdscr,FALSE);
SubWinTest(win);
/* Erase and draw green window */
init_pair(4,COLOR_YELLOW,COLOR_GREEN);
SubWinTest(win);
/* Erase and draw green window */
init_pair(4,COLOR_YELLOW,COLOR_GREEN);
/* wattrset(win, COLOR_PAIR(4) | A_BOLD);*/
wbkgd(win, COLOR_PAIR(4) );
wattrset(win, A_BOLD);
werase(win);
wrefresh(win);
/* Draw RED bounding box */
wattrset(win, COLOR_PAIR(2));
box(win, ' ', ' ');
wrefresh(win);
/* Display Australia map */
wattrset(win, A_BOLD);
i = 0;
while(*AusMap[i])
{ mvwaddstr(win, i+1, 8, AusMap[i]);
wbkgd(win, COLOR_PAIR(4) );
wattrset(win, A_BOLD);
werase(win);
wrefresh(win);
/* Draw RED bounding box */
wattrset(win, COLOR_PAIR(2));
box(win, ' ', ' ');
wrefresh(win);
/* Display Australia map */
wattrset(win, A_BOLD);
i = 0;
while(*AusMap[i])
{
mvwaddstr(win, i+1, 8, AusMap[i]);
wrefresh(win);
napms(100);
++i;
}
init_pair(5,COLOR_BLUE,COLOR_WHITE);
wattrset(win, COLOR_PAIR(5) | A_BLINK);
mvwaddstr(win, height-2, 3, " PDCurses 2.7 for DOS, OS/2, X11 and Win32");
wrefresh(win);
/* Draw running messages */
init_pair(6,COLOR_BLACK,COLOR_WHITE);
wattrset(win, COLOR_PAIR(6));
message = messages[0];
len = strlen(message);
j = 0;
i = 2;
w = width-2;
nodelay(win,TRUE);
/* jbuhler's re-hacked scrolling messages */
for (j=0; messages[j] != NULL; j++)
{
char *message = messages[j];
int msg_len = strlen(message);
int scroll_len = w + 2 * msg_len;
char *scrollbuf = malloc(scroll_len);
char *visbuf = scrollbuf + msg_len;
int stop = 0;
int i;
for (i=w+msg_len; i > 0; i--)
{
memset(visbuf, ' ',w);
strncpy(scrollbuf + i, message, msg_len);
mvwaddnstr(win,height/2, 1, visbuf, w);
wrefresh(win);
napms(100);
++i;
}
if (wgetch(win) != ERR)
{
flushinp();
stop = 1;
break;
}
delay_output(100);
}
free(scrollbuf);
if (stop)
break;
}
init_pair(5,COLOR_BLUE,COLOR_WHITE);
wattrset(win, COLOR_PAIR(5) | A_BLINK);
mvwaddstr(win, height-2, 3, " PDCurses 2.4 for DOS, OS/2, X11 and Win32");
wrefresh(win);
/* Draw running messages */
init_pair(6,COLOR_YELLOW,COLOR_WHITE);
wattrset(win, COLOR_PAIR(6));
message = messages[0];
len = strlen(message);
j = 0;
i = 2;
w = width-2;
nodelay(win,TRUE);
/* jbuhler's re-hacked scrolling messages */
for (j=0; messages[j] != NULL; j++)
{
char *message = messages[j];
int msg_len = strlen(message);
int scroll_len = w + 2 * msg_len;
char *scrollbuf = malloc(scroll_len);
char *visbuf = scrollbuf + msg_len;
int stop = 0;
int i;
for (i=1; i <= w + msg_len; i++)
{
memset(visbuf, ' ',w);
strncpy(scrollbuf + i, message, msg_len);
mvwaddnstr(win,height/2, 1, visbuf, w);
wrefresh(win);
if (wgetch(win) != ERR)
{
flushinp();
stop = 1;
break;
}
delay_output(100);
}
free(scrollbuf);
if (stop)
break;
}
j = 0;
j = 0;
/* Draw running As across in RED */
init_pair(7,COLOR_RED,COLOR_GREEN);
wattron(win, COLOR_PAIR(7));
for(i=2; i < width - 4; ++i)
{ ch = mvwinch(win, 5, i);
save[j++] = ch;
ch = ch & 0x7f;
mvwaddch(win, 5, i, ch);
}
wrefresh(win);
init_pair(7,COLOR_RED,COLOR_GREEN);
wattron(win, COLOR_PAIR(7));
for(i=2; i < width - 4; ++i)
{
ch = mvwinch(win, 5, i);
save[j++] = ch;
ch = ch & 0x7f;
mvwaddch(win, 5, i, ch);
}
wrefresh(win);
/* Put a message up wait for a key */
i = height-2;
wattrset(win, COLOR_PAIR(5));
mvwaddstr(win, i, 3, " Type a key to continue or ESC to quit ");
wrefresh(win);
i = height-2;
wattrset(win, COLOR_PAIR(5));
mvwaddstr(win, i, 3, " Type a key to continue or ESC to quit ");
wrefresh(win);
if(WaitForUser() == '\033')
break;
if (WaitForUser() == '\033')
break;
j = 0; /* Restore the old line */
wattrset(win,0);
for(i=2; i < width - 4; ++i)
mvwaddch(win, 5, i, save[j++]);
wrefresh(win);
j = 0; /* Restore the old line */
wattrset(win,0);
for (i=2; i < width - 4; ++i)
mvwaddch(win, 5, i, save[j++]);
wrefresh(win);
BouncingBalls(win); /* leaves a keystroke in the queue */
BouncingBalls(win); /* leaves a keystroke in the queue */
if(WaitForUser() == '\033')
break;
}
endwin();
if (WaitForUser() == '\033')
break;
}
endwin();
#ifdef XCURSES
XCursesExit();
XCursesExit();
#endif
return 0;
return 0;
}
/* End of NEWDEMO.C */

View File

@@ -38,10 +38,10 @@
#include "tui.h"
#ifdef PDCDEBUG
char *rcsid_tui = "$Id: tui.c,v 1.1 2001/01/10 08:27:44 mark Exp $";
char *rcsid_tui = "$Id: tui.c,v 1.2 2004/01/02 05:50:05 mark Exp $";
#endif
#if defined(__unix) && !defined(GO32)
#if defined(__unix) && !defined(__DJGPP__)
#define CPUACCOUNT /* necessary if CPU cycles are to be paid! */
#endif

View File

@@ -34,9 +34,20 @@
#endif
#ifdef PDCDEBUG
char *rcsid_PDCdisp = "$Id: pdcdisp.c,v 1.3 2003/06/23 07:54:32 mark Exp $";
char *rcsid_PDCdisp = "$Id: pdcdisp.c,v 1.4 2004/01/02 05:50:05 mark Exp $";
#endif
#ifdef PC
void movedata(unsigned sseg, unsigned soff, unsigned dseg, unsigned doff, unsigned n)
{
far char *src = MK_FP(sseg, soff);
far char *dst = MK_FP(dseg, doff);
while (n--) {
*dst++ = *src++;
}
}
/*man-start*********************************************************************
PDC_clr_update() - Updates the screen with a full redraw.
@@ -60,6 +71,8 @@ char *rcsid_PDCdisp = "$Id: pdcdisp.c,v 1.3 2003/06/23 07:54:32 mark Exp $";
**man-end**********************************************************************/
extern unsigned char atrtab[MAX_ATRTAB];
/***********************************************************************/
#ifdef HAVE_PROTO
int PDC_clr_update(WINDOW *s)
@@ -75,7 +88,9 @@ register int i=0,j=0;
bool rc=FALSE;
#if SMALL || MEDIUM
# if !PC
struct SREGS segregs;
# endif
int ds=0;
#endif
@@ -83,8 +98,6 @@ int ds=0;
int *VIDPOINT;
#endif
extern unsigned char atrtab[MAX_ATRTAB];
/* the next two variables have been changed from chtype to unsigned short */
/* as this is the correct datatype for a physical character/attribute */
unsigned short temp_line[256]; /* this should be enough for the maximum width of a screen. MH-920715 */
@@ -97,8 +110,10 @@ int ds=0;
w = curscr;
if (w == (WINDOW *)NULL)
return( ERR );
/* if (SP->full_redraw)
PDC_clr_scrn(s); *//* clear physical screen */
#if 0
if (SP->full_redraw)
PDC_clr_scrn(s); /* clear physical screen */
#endif
s->_clear = FALSE;
for (i = 0; i < LINES; i++) /* update physical screen */
@@ -124,8 +139,12 @@ int ds=0;
SP->video_ofs + (i * COLS * sizeof(unsigned short))));
#else
# if (SMALL || MEDIUM)
# if PC
ds = FP_SEG((void far *) ch);
# else
segread(&segregs);
ds = segregs.ds;
# endif
movedata(ds, (int)ch,
SP->video_seg,
SP->video_ofs + (i*COLS*sizeof(unsigned short)),
@@ -555,7 +574,6 @@ chtype attr;
#endif
/***********************************************************************/
{
extern unsigned char atrtab[MAX_ATRTAB];
int phys_attr=chtype_attr(attr);
#ifdef PDCDEBUG
@@ -623,7 +641,9 @@ register chtype* srcp=NULL;
#endif
#if SMALL || MEDIUM
# if !PC
struct SREGS segregs;
# endif
int ds=0;
#endif
@@ -635,8 +655,6 @@ int ds=0;
int *VIDPOINT;
#endif
extern unsigned char atrtab[MAX_ATRTAB];
unsigned short temp_line[256]; /* this should be enough for the maximum width of a screen. MH-920715 */
unsigned short chr=0;
unsigned short* ch=NULL;
@@ -683,8 +701,12 @@ int ds=0;
SP->video_ofs + (((lineno * curscr->_maxx) + x) * sizeof(unsigned short))));
#else
# if SMALL || MEDIUM
# if PC
ds = FP_SEG((void far *) ch);
# else
segread(&segregs);
ds = segregs.ds;
# endif
movedata(ds,(int)ch,
SP->video_seg,
SP->video_ofs+(((lineno*curscr->_maxx)+x)*sizeof(unsigned short)),

View File

@@ -36,7 +36,7 @@
#endif
#ifdef PDCDEBUG
char *rcsid_PDCscrn = "$Id: pdcscrn.c,v 1.3 2003/06/23 07:54:35 mark Exp $";
char *rcsid_PDCscrn = "$Id: pdcscrn.c,v 1.4 2004/01/02 05:50:05 mark Exp $";
#endif
static unsigned short *saved_screen = NULL;
@@ -78,7 +78,9 @@ int PDC_scr_close()
/***********************************************************************/
{
#if SMALL || MEDIUM
# if !PC
struct SREGS segregs;
# endif
int ds=0;
#endif
@@ -95,8 +97,12 @@ int ds=0;
(unsigned long)_FAR_POINTER(SP->video_seg,SP->video_ofs));
#else
# if (SMALL || MEDIUM)
# if PC
ds = FP_SEG((void far *) saved_screen);
# else
segread(&segregs);
ds = segregs.ds;
# endif
movedata(ds, (int)saved_screen,
SP->video_seg,SP->video_ofs,
(saved_lines * saved_cols * sizeof(unsigned short)));
@@ -186,7 +192,9 @@ bool echo;
/***********************************************************************/
{
#if SMALL || MEDIUM
# if !PC
struct SREGS segregs;
# endif
int ds=0;
#endif
@@ -255,8 +263,12 @@ int ds=0;
saved_lines * saved_cols * sizeof(unsigned short),saved_screen);
#else
# if (SMALL || MEDIUM)
# if PC
ds = FP_SEG((void far *) saved_screen);
# else
segread(&segregs);
ds = segregs.ds;
# endif
movedata(SP->video_seg,SP->video_ofs,
ds, (int)saved_screen,
(saved_lines * saved_cols * sizeof(unsigned short)));

View File

@@ -61,7 +61,7 @@
#endif
#ifdef PDCDEBUG
char *rcsid_PDCutil = "$Id: pdcutil.c,v 1.1 2001/01/10 08:27:22 mark Exp $";
char *rcsid_PDCutil = "$Id: pdcutil.c,v 1.2 2004/01/02 05:50:05 mark Exp $";
#endif
/*man-start*********************************************************************
@@ -210,6 +210,41 @@ long wait;
return;
}
/***********************************************************************/
#elif defined(PC)
# ifdef HAVE_PROTO
void PDC_usleep(long wait)
# else
void PDC_usleep(wait)
long wait;
# endif
/***********************************************************************/
{
far long *ticks = MK_FP(0x0040, 0x006c);
long t1, t2;
wait /= 50;
if (!wait) {
wait++;
}
/*
* get number of ticks,
* since startup from
* address 0040:006ch
*
* 1 sec. = 18.2065
*/
while (wait--) {
t1 = *ticks;
do {
t2 = *ticks;
} while (t1 == t2);
}
}
/***********************************************************************/
# else
# ifdef HAVE_PROTO
void PDC_usleep(long wait)

View File

@@ -65,7 +65,7 @@
#endif
#ifdef PDCDEBUG
char *rcsid_util = "$Id: util.c,v 1.4 2003/06/23 07:53:56 mark Exp $";
char *rcsid_util = "$Id: util.c,v 1.5 2004/01/02 05:50:05 mark Exp $";
#endif
/*man-start*********************************************************************
@@ -267,7 +267,7 @@ int ms;
return( OK );
#endif
#if defined(WIN32)
#if defined(WIN32) || defined(PC)
PDC_usleep( ms );
return( OK );
#endif
@@ -294,7 +294,7 @@ int ms;
return( OK );
#endif
#if defined(UNIX) || defined(GO32)
#if defined(UNIX) || defined(__DJGPP__)
usleep(1000*ms);
return( OK );
#endif