]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - ncurses/curses.priv.h
ncurses 5.9 - patch 20130831
[ncurses.git] / ncurses / curses.priv.h
index 281bb4b700fcfbc5b63517e76167ad501be75a20..46c63bb1f0eefb96011848c3d6a98d4d3f1e410c 100644 (file)
@@ -34,7 +34,7 @@
  ****************************************************************************/
 
 /*
- * $Id: curses.priv.h,v 1.523 2013/01/26 21:51:56 tom Exp $
+ * $Id: curses.priv.h,v 1.527 2013/08/31 17:02:41 tom Exp $
  *
  *     curses.priv.h
  *
@@ -379,6 +379,16 @@ color_t;
 
 #include <nc_tparm.h>
 
+/*
+ * Simplify ifdef's for the "*_ATTR" macros in case italics are not configured.
+ */
+#ifdef A_ITALIC
+#define USE_ITALIC 1
+#else
+#define USE_ITALIC 0
+#define A_ITALIC 0
+#endif
+
 /*
  * Use these macros internally, to make tracing less verbose.  But leave the
  * option for compiling the tracing into the library.
@@ -835,6 +845,7 @@ typedef struct {
 
        char            *first_name;
        char            **keyname_table;
+       int             init_keyname;
 
        int             slk_format;
 
@@ -1088,6 +1099,9 @@ struct screen {
        /* used in lib_vidattr.c */
        bool            _use_rmso;      /* true if we may use 'rmso'         */
        bool            _use_rmul;      /* true if we may use 'rmul'         */
+#if USE_ITALIC
+       bool            _use_ritm;      /* true if we may use 'ritm'         */
+#endif
 
 #if USE_KLIBC_KBD
        bool            _extended_key;  /* true if an extended key           */
@@ -1333,8 +1347,8 @@ extern NCURSES_EXPORT_VAR(SIG_ATOMIC_T) _nc_have_sigwinch;
 
 #define UChar(c)       ((unsigned char)(c))
 #define UShort(c)      ((unsigned short)(c))
-#define ChCharOf(c)    ((c) & (chtype)A_CHARTEXT)
-#define ChAttrOf(c)    ((c) & (chtype)A_ATTRIBUTES)
+#define ChCharOf(c)    ((chtype)(c) & (chtype)A_CHARTEXT)
+#define ChAttrOf(c)    ((chtype)(c) & (chtype)A_ATTRIBUTES)
 
 #ifndef MB_LEN_MAX
 #define MB_LEN_MAX 8 /* should be >= MB_CUR_MAX, but that may be a function */
@@ -1703,7 +1717,9 @@ extern    NCURSES_EXPORT(void) name (void); \
        NCURSES_EXPORT(void) name (void) { }
 
 #define ALL_BUT_COLOR ((chtype)~(A_COLOR))
-#define NONBLANK_ATTR (A_NORMAL|A_BOLD|A_DIM|A_BLINK)
+#define NONBLANK_ATTR (A_BOLD | A_DIM | A_BLINK | A_ITALIC)
+#define TPARM_ATTR    (A_STANDOUT | A_UNDERLINE | A_REVERSE | A_BLINK | A_DIM | A_BOLD | A_ALTCHARSET | A_INVIS | A_PROTECT)
+#define XMC_CONFLICT  (A_STANDOUT | A_UNDERLINE | A_REVERSE | A_BLINK | A_DIM | A_BOLD | A_INVIS | A_PROTECT | A_ITALIC)
 #define XMC_CHANGES(c) ((c) & SP_PARM->_xmc_suppress)
 
 #define toggle_attr_on(S,at) {\