home *** CD-ROM | disk | FTP | other *** search
- /* header file for windowing system
- *
- * (c) Marietta Systems, Inc. 1987
- * All rights reserved
- *
- * Global variables for the windowing system.
- *
- * Do not change these!
- *
- */
- #ifndef LATTICE
- typedef unsigned char byte;
- #define _STACK _stklen
- #define fileclose fileclos
- #define filewrite filewrit
- #endif
- /*
- */
- long _SIZMEM = 0;
- int SAVEWAIT = 900, A_TRACK = -1;
- unsigned SCRN_PTR, CLR_PTR = 0X0000, _DSEG, _DOFF, CLR_SEG = 0XB800,
- MONO_SEG = 0XB000;
- short SCR_SIZE, OLD_CODE, _brkflag;
- byte INCHAR = 32, INCHAR_F = 0, _D_ERROR = 0, _D_MSG = 0, FN_DEBUG = 0;
- byte INS_FLAG = 1, CLR_INIT = 0, W_NUM = 0, BUG_TEST = 0, MEM_TEST = 0;
- byte COLOR_SC = 0, EGA_SCRN = 0, CLR_CODE = 0 , *MEM_LINE, CLR_TONE = 1;
- enum fld_type {alphanum, graphic, flag, boolean, calendar, numeric, value,
- real, chrono};
- enum COLOR_OF {black,blue,green,cyan,red,magenta,yellow,white};
- enum _JUST {left,right,as_typed,center,code,decimal,c_number,date,time};
- enum ATTRIB {low,high,reverse,blink,blank,alt_low,alt_high,alt_reverse}
- OLD_BRIG = low;
- enum F_READ {firstrec, previous, nextrec, lastrec, random, relative};
- enum F_MODE {append, readonly, recreate, update};
- enum F_TYPE {ascii, binary, dbase3, hashed, marietta};
- struct CURSR {byte X,Y;} _CURSOR; /* Current cursor position in window */
- struct WINDW { /* window tracking struct */
- byte X, Y, H, W, P, *SCREEN, *FUNCTION;
- int CODE;
- } *WINDOW;
- struct CLR_TYPE {
- enum COLOR_OF FORE, BACK;
- int ALT_CLR;
- };
- struct DBF_DEF{ /* dBase III Plus data dictionary struct */
- byte dbf_name[11], dbf_type, dbf_len, dbf_dec, dbf_set, dbf_dig;
- byte dbf_fill[16];
- };
- struct F_DEF { /* file definition control struct */
- long prime, location, r_count;
- int key_len, offset, start, rec_len, fbloc;
- enum F_TYPE ftype;
- byte keycode, *fptr, *record, write;
- char fname[13];
- char *fnext; /* pointer to data dictionary */
- } FN[20];
- /*
- * Configuration constants
- *
- * Change their initial value to suit your set-up
- * - but be careful!!
- *
- */
- struct CLR_TYPE COLOR [7] = { /* number of elements must match
- "_COLOR" config constant */
- {green, black, 6}, /* base window color, #0 */
- {white, blue, 3}, /* color #1 */
- {cyan, black, 4}, /* color #2 */
- {cyan, red, 5}, /* color #3 */
- {white, magenta, 2}, /* color #4 */
- {yellow, black, 1}, /* color #5 */
- {white, red, 0}, /* color #6 */
- };
- struct CLR_TYPE TOP_CLR = {yellow,magenta,6}; /* top line color */
- struct CLR_TYPE ER_COLOR = {green,red,6}; /* bottom line color */
- /* */
- enum ATTRIB ACC_DISP = reverse; /* Attribute of accept fields after entry */
- byte ERR_BEEP = 2; /* For beep length with 'disp_err', 0 = tiny beep */
- byte UP_NAME = 0; /* 1 if names are to be in uppercase only */
- byte FLD_FULL = 1; /* 1 for auto ENTER on full field; 0 = ENTER required */
- byte TAB_SET = 4; /* size of tab increments on screen for '\t' code */
- byte _WINDW = 10; /* maximum number of windows */
- byte _COLOR = 7; /* maximum number of different color selections */
- byte SCRN_LEN = 25; /* screen length in lines */
- byte SCRN_WID = 80; /* screen width in columns */
- byte TOP_LINE = 1; /* lines dedicated to the "top-frame" at top of screen */
- byte MAXFILES = 20; /* maximum number of files for operating system */
- byte D_FORMAT = 'U'; /* U for USA format, E for european, I for intl */
- byte D_PUNCT = '/'; /* punctuation character for date formats */
- byte D_20XX = 10; /* split between 20xx and 19xx in years */
- byte PERIOD = '.'; /* decimal point character */
- byte COMMA = ','; /* thousands seperator */
- byte BOOL_YES = 'Y'; /* The TRUE or YES boolean entry code */
- byte BOOL_NO = 'N'; /* The FALSE or NO boolean entry code */
- char *xgoodbye;
- unsigned KEYMATCH[8] /* the key match array which determines which
- function keys are treated as 'end-of-field'
- keys by the 'isendch' function */
- = {0X428, 0X584, 0X0, 0X0, 0X0, 0X0, 0X0, 0X0};
- /* this activates all basic cursor related function keys :
- Pgup, Up, Pgup, Home, Down, End, Ctrl+Enter
- */
- int DISCBLCK = 512; /* maximum record size of any file to be opened,
- Minimum size is 65, but recommended minimum is 256. */
- short MEM_WARN = 4096; /* Warning will be issued when unused heap memory is
- under this. Maximum is 9999, minimum is 2048 */
- long MAX_WIND = 15000L; /* maximum amount of heap space for windowing
- functions. The minimum size of MAX_WIND should be 8500.
- To calculate, use the formula :-
- ((number of windows * average size * 2) + 2500)
- where 'average size' is (height * width)
- */
- long _MNEED = 20000L; /* minimum heap space to be allocated, which must be
- at least MAX_WIND + 5000. */
- unsigned _STACK = 10000; /* size of stack, (at least 5000) */
- /*
- *
- * This section contains the #define codes
- *
- */
- #define CTL_A 1 /* all the other CTL combinations can be defined here */
- #define PGDN 3
- #define CRS_RT 4 /* Right cursor */
- #define CRS_UP 5 /* Up cursor */
- #define DEL 7
- #define B_SPACE 8
- #define TAB 9
- #define CTL_ENT 10
- #define SFT_TAB 11
- #define ENTER 13
- #define PGUP 18
- #define CRS_LT 19 /* Left cursor */
- #define CTL_BSPC 20 /* Ctrl + backspace */
- #define INS 22
- #define HOME 23
- #define CRS_DN 24 /* Down cursor */
- #define END 26
- #define CTL_Z 26 /* 0X1A */
- #define ESC 27
- #define ALT_Q 129 /* The other ALT alpha keys can be defined here */
- #define ALT_P 138 /* Print translated screen */
- #define QUIT_NOW 158 /* Alt+X used for fast terminate of program */
- #define ALT_M 163
- #define HELP 168 /* F1 Key */
- #define UNDO 169 /* F2 Key */
- #define SEARCH 170 /* F3 Key */
- #define MOVE 171 /* F4 Key */
- #define INSERT 172 /* F5 Key */
- #define DELETE 173 /* F6 Key */
- #define ZOOM 174 /* F7 Key */
- #define AMEND 175 /* F8 Key */
- #define KEY_CH 176 /* F9 Key */
- #define QUIT 177 /* F10 Key */
- /* 174 thru 218 reserved for standard graphics characters */
- #define SFT_F1 220 /* The other SHIFT+Fnn keys can be defined here */
- #define SFT_F10 229
- #define CTL_LT 248 /* Ctrl + left cursor */
- #define CTL_RT 249 /* Ctrl + right cursor */
- #define CTL_END 250
- #define CTL_PGDN 251
- #define CTL_HOME 252
- #define CTL_PGUP 254
- /* */
- #define DELETED 0X2A /* '*' code has dBase 3+ compatibility */
- #define IN_USE 0X20 /* ' ' code has dBase 3+ compatibility */
- #define EMPTY 0X26 /* '&' code, for hashed files */
- #define SYS_REC 0X03 /* code has dBase 3+ compatibility */
- /* */
- #define MFALSE 128
- #define MTRUE 129
- /*
- *
- * The external functions used by windowing software
- *
- */
- extern int accept(byte*,enum _JUST,enum ATTRIB,int,int);
- extern void box_scrn(void);
- extern void check_f(void);
- extern void clr_scrn(char*);
- extern void clr_wndw(void);
- extern byte* concat(byte*,int);
- extern int datecomp(char*,char*);
- extern long datelong(char*);
- extern void datemath(char*,int);
- extern void dateread(char*);
- extern void date_in(char*,char*);
- extern void date_out(char*,char*);
- extern int dbf_fld(int);
- extern void display(byte*,int,int,enum ATTRIB);
- extern void disp_err(char*,int);
- extern void disp_msg(char*,int);
- extern byte disp_qry(char*);
- extern int fileback(char*);
- extern int fileclos(int);
- extern int filedbf(int,struct DBF_DEF**);
- extern int fileinit(int,unsigned,unsigned,long);
- extern int fileopen(char*,enum F_TYPE,enum F_MODE);
- extern int fileread(int,enum F_READ,long*);
- extern int fileseek(int,long);
- extern int filewrit(int,long*);
- extern int file_err(int,int);
- extern int fld_len(enum _JUST,int,int);
- extern void goodbye(short);
- extern byte grabchar(void);
- extern int hashmake(char*,unsigned,unsigned,long,unsigned,unsigned);
- extern long hashread(int,byte*,int);
- extern void helpmenu(int);
- extern int helpscrn(byte*);
- extern void idleloop(int);
- extern int isendch(byte*,byte,enum ATTRIB);
- extern void justify(enum _JUST,byte*,byte*,int,int);
- extern int menu(char*,int,int,int);
- extern int mk_wndw(int,int,int,int,byte*);
- extern int mrtbrk(void);
- extern long primenbr(long);
- extern void prn_scrn(void);
- extern void read_kb(void);
- extern int rm_wndw(void);
- extern void scrnsave(int);
- extern void scrn_map(byte*,int,int);
- extern void scroll(int,int);
- extern void set_clr (int,enum ATTRIB);
- extern void set_crsr (int,int);
- extern int top_menu(char*,int,int);
- extern void top_spot(int);
- extern int validate(byte*,enum _JUST,int,int);
- extern int v_bool(char);
- extern void warble(int);
- /* end of header file */