Annotation of researchv10no/ncurses/screen/curshdr.h, revision 1.1.1.1

1.1       root        1: /* "@(#)curshdr.h      1.1"    (1.16   3/16/83)        */
                      2: 
                      3: /*LINTLIBRARY*/
                      4: 
                      5: /*
                      6:  * IC and IL overheads and costs should be set to this
                      7:  * value if the corresponding feature is missing
                      8:  */
                      9: #define INFINITY 500
                     10: 
                     11: struct line
                     12: {
                     13:        int     hash;           /* hash value for this line, 0 if not known */
                     14:        struct line *next;      /* pointer to the next line in list of lines */
                     15:        short   bodylen;        /* the cost of redrawing this line */
                     16:        short   length;         /* the number of valid characters in line */
                     17:        chtype  *body;          /* the actual text of the line */
                     18: };
                     19: 
                     20: struct costs {
                     21:        short Cursor_address;
                     22:        short Cursor_home;
                     23:        short Carriage_return;
                     24:        short Tab;
                     25:        short Back_tab;
                     26:        short Cursor_left;
                     27:        short Cursor_right;     /* current cost, which is 1 unless in insert
                     28:                                 * mode, since you can just output the
                     29:                                 * character you want to move over */
                     30:        short Right_base;       /* actual cost to do cursor_right */
                     31:        short Cursor_down;
                     32:        short Cursor_up;
                     33:        short Parm_left_cursor;
                     34:        short Parm_right_cursor;
                     35:        short Parm_up_cursor;
                     36:        short Parm_down_cursor;
                     37:        short Column_address;
                     38:        short Row_address;
                     39:        unsigned ilvar;         /* Insert line varying part * 32 */
                     40:        int   ilfixed;          /* Insert line fixed overhead */
                     41:        unsigned dlvar;         /* Delete line varying part * 32 */
                     42:        int   dlfixed;          /* Delete line fixed overhead */
                     43:        unsigned icvar;         /* Insert char varying part * 32 */
                     44:        int   icfixed;          /* Insert char fixed overhead */
                     45:        unsigned dcvar;         /* Delete char varying part * 32 */
                     46:        int   dcfixed;          /* Delete char fixed overhead */
                     47:        /* Should have costs for delete char/delete line here too. */
                     48: };
                     49: #define _cost(field) (SP->term_costs.field)
                     50: 
                     51: struct map {
                     52:        char label[16];         /* Text the key is labelled with */
                     53:        char sends[16];         /* Characters sent when key is pressed */
                     54:        short keynum;           /* "char" we pass back to program */
                     55: };
                     56: 
                     57: struct screen {
                     58:        unsigned fl_nonl        : 1;    /* we shouldn't output \n */
                     59:        unsigned fl_uppercase   : 1;    /* upper case terminal */
                     60:        unsigned fl_normtty     : 1;    /* currently in normal tty mode */
                     61:        unsigned fl_my_term     : 1;    /* user names his terminal type */
                     62:        unsigned fl_echoit      : 1;    /* in software echo mode */
                     63:        unsigned fl_rawmode     : 1;    /* in raw or cbreak mode */
                     64:        unsigned fl_endwin      : 1;    /* has called endwin */
                     65:        unsigned phys_irm       : 1;    /* physically in insert char mode */
                     66:        unsigned virt_irm       : 1;    /* want to be in insert char mode */
                     67:        unsigned fl_nodelay     : 1;    /* tty is in nodelay mode */
                     68:        struct line **cur_body; /* physical screen image */
                     69:        struct line **std_body; /* desired screen image */
                     70:        struct line *freelist;  /* free space list */
                     71:        short phys_x;           /* physical cursor X position */
                     72:        short phys_y;           /* physical cursor Y position */
                     73:        short virt_x;           /* virtual cursor X position */
                     74:        short virt_y;           /* virtual cursor Y position */
                     75:        short phys_top_mgn;     /* physical top margin of scrolling region */
                     76:        short phys_bot_mgn;     /* physical bottom margin of scrolling region */
                     77:        short des_top_mgn;      /* desired top margin of scrolling region */
                     78:        short des_bot_mgn;      /* desired bottom margin of scrolling region */
                     79:        chtype *curptr;         /* pointer to cursor */
                     80:        chtype virt_gr;         /* desired highlight state */
                     81:        chtype phys_gr;         /* current highlight state */
                     82:        short winsize;          /* no. of lines on which ID operations done */
                     83:        short doclear;          /* flag to say whether screen garbaged */
                     84:        short baud;             /* baud rate of this tty */
                     85:        short check_input;      /* flag for input check */
                     86:        short check_fd;         /* file descriptor for input check */
                     87:        struct _win_st *std_scr;/* primary output screen */
                     88:        struct _win_st *cur_scr;/* what's physically on the screen */
                     89:        struct term *tcap;      /* TERMCAP strings and storage space */
                     90:        struct costs term_costs;/* costs of various capabilities */
                     91:        short kp_state;         /* 1 iff keypad is on, else 0 */
                     92:        short ml_above;         /* # memory lines above top of screen */
                     93: #ifndef        NONSTANDARD
                     94:        SGTTY   save_tty_buf;   /* current state of this tty */
                     95:        FILE *term_file;        /* File to write on for output. */
                     96: #endif         NONSTANDARD
                     97: #ifdef         KEYPAD
                     98:        struct map *kp;         /* keypad map */
                     99: #endif         KEYPAD
                    100:        short *input_queue;     /* a place to put stuff ungetc'ed */
                    101:        FILE *input_file;       /* Where to get keyboard input */
                    102: };
                    103: 
                    104: #ifndef        NONSTANDARD
                    105: extern struct screen *SP;
                    106: #endif
                    107: 
                    108: #ifdef DEBUG
                    109: extern FILE    *outf;
                    110: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.