Annotation of 43BSDReno/usr.bin/tn3270/sys_curses/terminal.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1988 Regents of the University of California.
                      3:  * All rights reserved.
                      4:  *
                      5:  * Redistribution and use in source and binary forms are permitted
                      6:  * provided that the above copyright notice and this paragraph are
                      7:  * duplicated in all such forms and that any documentation,
                      8:  * advertising materials, and other materials related to such
                      9:  * distribution and use acknowledge that the software was developed
                     10:  * by the University of California, Berkeley.  The name of the
                     11:  * University may not be used to endorse or promote products derived
                     12:  * from this software without specific prior written permission.
                     13:  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
                     14:  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
                     15:  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
                     16:  *
                     17:  *     @(#)terminal.h  4.2 (Berkeley) 5/30/89
                     18:  */
                     19: 
                     20: #define        INCLUDED_TERMINAL
                     21: 
                     22: /*
                     23:  * In the situation where we have a copy of the terminal screen in front
                     24:  * of us, here are some macros to deal with them.
                     25:  */
                     26: 
                     27: #define TermAttributes(x)      (TermIsStartField(x)? GetTerminal(x)&0xff : \
                     28:                                    GetTerminal(WhereTermAttrByte(x))&0xff)
                     29: #define TermIsStartField(x)    ((GetTerminal(x)&ATTR_MASK) == ATTR_MASK)
                     30: #define TermNewField(p,a)      SetTerminal(p, (a)|ATTR_MASK)
                     31: #define TermDeleteField(p)     SetTerminal(p, 0)
                     32: #define TermIsNonDisplay(x)    \
                     33:                    ((TermAttributes(x)&ATTR_DSPD_MASK) == ATTR_DSPD_NONDISPLAY)
                     34: #define TermIsHighlighted(x) \
                     35:                (((TermAttributes(x)&ATTR_DSPD_MASK) == ATTR_DSPD_HIGH) \
                     36:                                    && !TermIsStartField(x))
                     37: 
                     38: #define TerminalCharacterAttr(c,p,a)   (IsNonDisplayAttr(a) ? ' ':c)
                     39: #define TerminalCharacter(c,p) TerminalCharacterAttr(c,p,FieldAttributes(p))
                     40: 
                     41:        /*
                     42:         * Is the screen formatted?  Some algorithms change depending
                     43:         * on whether there are any attribute bytes lying around.
                     44:         */
                     45: #define        TerminalFormattedScreen() \
                     46:            ((WhereTermAttrByte(0) != 0) || ((GetTerminal(0)&ATTR_MASK) == ATTR_MASK))
                     47: 
                     48: #define NeedToRedisplayFields(p) ((TermIsNonDisplay(p) != IsNonDisplay(p)) || \
                     49:                                (TermIsHighlighted(p) != IsHighlighted(p)))
                     50: #define NeedToRedisplayFieldsAttr(p,c) ( \
                     51:                        (TermIsNonDisplay(p) != IsNonDisplayAttr(c)) || \
                     52:                        (TermIsHighlighted(p) != IsHighlightedAttr(c)))
                     53: 
                     54: #define NotVisuallyCompatibleAttributes(p,c,d) ( \
                     55:                        (IsNonDisplayAttr(c) != IsNonDisplayAttr(d)) || \
                     56:                        (IsHighlightedAttr(c) != IsHighlightedAttr(d)))
                     57: 
                     58: #define NeedToRedisplayAttr(c,p,a) \
                     59:                        ((c != GetTerminal(p)) || NeedToRedisplayFieldsAttr(p,a))
                     60: #define NeedToRedisplay(c,p)   NeedToRedisplayAttr(c,p,FieldAttributes(p))
                     61: 
                     62: 
                     63: #define GetTerminal(i)         GetGeneric(i, Terminal)
                     64: #define GetTerminalPointer(p)  GetGenericPointer(p)
                     65: #define SetTerminal(i,c)       SetGeneric(i,c,Terminal)

unix.superglobalmegacorp.com

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