home *** CD-ROM | disk | FTP | other *** search
- #include <dos.h>
- #include <stdio.h>
-
- #define WDW window[handle]
- #define TILE window[handle]->tiles[tile_handle]
- #define A_WDW window[active_wdw]
- #define A_TILE window[active_wdw]->tiles[window[active_wdw]->active_tile]
- #define SCR_SIZE (physical_rows * physical_columns * 2)
- #define VID_ACCESS ((inp(0x03DA) & 0x01) == 0x01)
- #define RETRACE ((inp(0x03DA) & 0x08) == 0x08)
- #define DMA 1
- #define BIOS 2
- #define ANSI 3
- #define ERROR(errnum, functnum) {wn_errorhandler(errnum,functnum); return(errnum);}
-
- #define TRUE 1
- #define FALSE 0
- #define MAX_WINDOWS 256
- #define MAX_TILES 10
- #define UPPER_LEFT 1
- #define UPPER_RIGHT 2
- #define LOWER_LEFT 3
- #define LOWER_RIGHT 4
- #define HEAD_ON 5
- #define NONE 0
-
- /* tile record */
- typedef struct {
- char *virtual_screen, *tile_name, border_color;
- unsigned char forward, backward, scroll_bars;
- int suspend, hide, port_rows, vs_rows, vs_columns,
- cursor_x, cursor_y, virtual_x, virtual_y, offset_y;
- } tile_rec;
-
- /* window record layout */
- typedef struct {
- unsigned int physical_x, physical_y, suspend, hide, border,
- forward, backward, first_tile, last_tile, active_tile;
-
- int port_columns, port_rows;
-
- unsigned char *wdw_name, border_color, *border_chars;
- tile_rec *tiles[MAX_TILES + 1];
-
- } wdw_rec;
-
-
- /* block record */
- typedef struct {
- unsigned int x, y, rows, columns;
- char *buffer;
- } blkrec;
-
-
- /* Window and tile manipulation functions */
- extern void wn_errorhandler(signed int, signed int);
- extern int wn_delt(unsigned int, unsigned char);
- extern int wn_actt(unsigned int, unsigned char);
- extern int wn_updatew(unsigned int);
- extern int wn_updatet(unsigned int, unsigned char);
- extern int wn_closet(unsigned int, unsigned char);
- extern int wn_openw(unsigned int);
- extern void wn_flybox(int, int, int, int, int, int, int, int,
- unsigned int, unsigned int, char *, unsigned char,
- unsigned char);
- extern int wn_delw(unsigned int);
- extern void wn_freeze();
- void wn_defrost(unsigned int, unsigned int, unsigned int,
- unsigned int);
- extern int wn_init();
- extern int wn_suspendw(unsigned int);
- extern int wn_actw(unsigned int);
- extern void wn_redraw();
- extern int wn_draww(unsigned int);
- extern int wn_movew(unsigned int, signed int, signed int);
- extern int wn_locatew(unsigned int, signed int, signed int);
- extern int wn_zoomw();
- extern int wn_createw(unsigned int, unsigned int, unsigned int,
- unsigned int, unsigned int, unsigned int, unsigned int,
- unsigned int, unsigned int, unsigned int, char *, char *);
- extern int wn_createt(unsigned int, char *, unsigned int, unsigned int,
- unsigned int, unsigned int);
- extern int wn_suspendt(unsigned int, unsigned char);
- extern int wn_opent(unsigned int, unsigned char);
- extern int wn_scrollvs(unsigned int, unsigned char, signed int,
- signed int);
- extern int wn_sizet(unsigned int, unsigned char, signed int,
- signed int);
- extern int wn_namew(unsigned int, char *);
- extern int wn_namet(unsigned int, unsigned char, char *);
- extern int wn_chgbord(unsigned int, char *);
- extern int wn_closew(unsigned int);
- extern int wn_hidew(unsigned int);
- extern int wn_swapt(unsigned int, unsigned char, unsigned int,
- unsigned char);
- extern int wn_togborder(unsigned int, unsigned char);
- extern void wn_restorescr();
- extern void wn_savescr();
- extern int wn_locatevs(unsigned int, unsigned char, signed int,
- signed int);
- extern int wn_moverng(unsigned int, unsigned int, signed int,
- signed int);
- extern int wn_chgbordrng(unsigned int, unsigned int, char *);
- extern int wn_sizerng(unsigned int, unsigned int, signed int,
- signed int);
- extern int wn_chgcolor(unsigned int, unsigned char,
- unsigned char);
- extern int wn_chgcolorrng(unsigned int, unsigned int, unsigned char,
- unsigned char);
- extern int wn_togbordrng(unsigned int, unsigned int, unsigned char);
- extern void wn_hidecur();
- extern void wn_showcur();
- unsigned int wn_isonwdw(unsigned int, unsigned int, unsigned int *);
- int wn_togscrollrng(unsigned int, unsigned int, unsigned char);
- int wn_togscroll(unsigned int, unsigned char, unsigned char);
- extern int wn_isontile(unsigned int, unsigned char *, unsigned int,
- unsigned int);
- extern int wn_isonsbl(unsigned int, unsigned char, unsigned int,
- unsigned int);
- extern int wn_isonsbr(unsigned int, unsigned char, unsigned int,
- unsigned int);
- extern int wn_isonsbu(unsigned int, unsigned char, unsigned int,
- unsigned int);
- extern int wn_isonsbd(unsigned int, unsigned char, unsigned int,
- unsigned int);
- extern int wn_isonvlbar(unsigned int, unsigned char, unsigned int,
- unsigned int);
- extern int wn_isonvrbar(unsigned int, unsigned char, unsigned int,
- unsigned int);
- extern int wn_isonhbar(unsigned int, unsigned char, unsigned int,
- unsigned int);
- extern int wn_isonvs (unsigned int, unsigned char, unsigned int *,
- unsigned int *);
- extern int wn_isonurc(unsigned int, unsigned int, unsigned int);
- extern int wn_isonulc(unsigned int, unsigned int, unsigned int);
- extern int wn_isonlrc(unsigned int, unsigned int, unsigned int);
- extern int wn_isonllc(unsigned int, unsigned int, unsigned int);
- extern int wn_isonubar(unsigned int, unsigned int, unsigned int);
- extern int wn_isonlbar(unsigned int, unsigned int, unsigned int);
- extern int wn_isonrelb(unsigned int, unsigned char, unsigned int,
- unsigned int);
- extern int wn_isonlelb(unsigned int, unsigned char, unsigned int,
- unsigned int);
- extern int wn_isonnamew(unsigned int, unsigned int, unsigned int);
- extern int wn_isonnamet(unsigned int, unsigned char, unsigned int,
- unsigned int);
- extern int wn_whereon(unsigned int *, unsigned char *, unsigned int *,
- unsigned int *);
- extern int vs_format(unsigned int, unsigned char, unsigned char,
- unsigned char, char *);