--- rxvt-unicode/src/rxvt.h 2003/12/24 09:22:29 1.20 +++ rxvt-unicode/src/rxvt.h 2004/01/29 23:26:01 1.25 @@ -1,9 +1,5 @@ -/* - * $Id: rxvt.h,v 1.20 2003/12/24 09:22:29 pcg Exp $ - */ - -#ifndef _RXVT_H_ /* include once only */ -#define _RXVT_H_ +#ifndef RXVT_H_ /* include once only */ +#define RXVT_H_ #include "rxvtlib.h" @@ -320,13 +316,7 @@ SECONDARY }; -enum { - SBYTE = 0, - WBYTE -}; - - -#define RS_None 0 /* Normal */ +#define RS_None 0 /* Normal */ #define RS_fgMask 0x000001FFu /* 512 colors */ #define RS_bgMask 0x0003FE00u /* 512 colors */ @@ -335,14 +325,11 @@ #define RS_RVid 0x00100000u /* reverse video */ #define RS_Uline 0x00200000u /* underline */ -#define RS_wide 0x00400000u /* only multibyte characters */ -#define IS_WIDE(r) ((r) & RS_wide) - -#define RS_fontMask 0xff000000u /* plenty(?) of fonts */ -#define RS_fontShift 24 +#define RS_fontMask 0xffc00000u /* plenty(?) of fonts */ +#define RS_fontShift 22 #define RS_baseattrMask (RS_Bold|RS_Blink|RS_RVid|RS_Uline) -#define RS_attrMask (RS_baseattrMask|RS_fontMask|RS_wide) +#define RS_attrMask (RS_baseattrMask|RS_fontMask) #define Sel_none 0 /* Not waiting */ #define Sel_normal 0x01 /* normal selection */ @@ -352,7 +339,8 @@ #define Sel_Secondary 0x02 #define Sel_Clipboard 0x03 #define Sel_whereMask 0x0f -#define Sel_CompoundText 0x10 /* last request was Compound */ +#define Sel_CompoundText 0x10 /* last request was COMPOUND_TEXT */ +#define Sel_UTF8String 0x20 /* last request was UTF8_STRING */ enum { C0_NUL = 0x00, @@ -457,10 +445,10 @@ }; #define Color_Bits 9 -#define NPIXCLR_SETS 9 /* (256 + 14) bits / 32 bits */ +#define NPIXCLR_SETS ((TOTAL_COLORS + 31) / 32) #define NPIXCLR_BITS 32 -#define DEFAULT_RSTYLE (RS_None | (Color_fg) | (Color_bg<Xdepth -# define XCMAP R->Xcmap -# define XVISUAL R->Xvisual -#else -# ifdef DEBUG_DEPTH -# define XDEPTH DEBUG_DEPTH -# else -# define XDEPTH DefaultDepth(R->Xdisplay,Xscreen) -# define XCMAP DefaultColormap(R->Xdisplay,Xscreen) -# define XVISUAL DefaultVisual(R->Xdisplay,Xscreen) -# endif -#endif -#define IMBUFSIZ 128 /* input modifier buffer sizes */ +#define XDEPTH R->Xdepth +#define XCMAP R->Xcmap +#define XVISUAL R->Xvisual + +#define IMBUFSIZ 128 /* input modifier buffer sizes */ #ifndef BUFSIZ -# define BUFSIZ 4096 +# define BUFSIZ 4096 #endif -#define KBUFSZ 512 /* size of keyboard mapping buffer */ +#define KBUFSZ 512 /* size of keyboard mapping buffer */ /* ***************************************************************************** @@ -676,7 +650,6 @@ #define TermWin_TotalWidth() ((int32_t)TermWin.width + 2 * (int32_t)TermWin.int_bwidth) #define TermWin_TotalHeight() ((int32_t)TermWin.height + 2 * (int32_t)TermWin.int_bwidth) -#define Xscreen DefaultScreen(R->Xdisplay) #define Xroot DefaultRootWindow(R->Xdisplay) /* how to build & extract colors and attributes */ @@ -713,7 +686,7 @@ #define SET_ATTR(x,a) (((x) & ~RS_attrMask)| (a)) #define SET_PIXCOLOR(h, x) ((h)->pixcolor_set[(x) / NPIXCLR_BITS] |= (1 << ((x) % NPIXCLR_BITS))) -#define ISSET_PIXCOLOR(h, x) ((h)->pixcolor_set[(x) / NPIXCLR_BITS] & (1 << ((x) % NPIXCLR_BITS))) +#define ISSET_PIXCOLOR(h, x) ((h)->pixcolor_set[(x) / NPIXCLR_BITS] & (1 << ((x) % NPIXCLR_BITS))) #ifdef HAVE_SCROLLBARS # define scrollbar_TotalWidth() (scrollBar.width + sb_shadow * 2) @@ -833,6 +806,7 @@ #endif #define BLINK_INTERVAL 0.5 +#define TEXT_BLINK_INTERVAL 0.5 struct mbstate { mbstate_t mbs; @@ -861,6 +835,9 @@ #ifdef CURSOR_BLINK hidden_cursor:1, #endif +#ifdef TEXT_BLINK + hidden_text:1, +#endif #ifdef POINTER_BLANK hidden_pointer:1, #endif @@ -950,10 +927,6 @@ unsigned long PrivateModes, SavedModes; /* ---------- */ -#ifdef PREFER_24BIT - Visual *Xvisual; -#endif -/* ---------- */ Atom xa[NUM_XA]; /* ---------- */ #ifdef MENUBAR @@ -1098,7 +1071,10 @@ void incr_cb (time_watcher &w); time_watcher incr_ev; #ifdef CURSOR_BLINK - void blink_cb (time_watcher &w); time_watcher blink_ev; + void cursor_blink_cb (time_watcher &w); time_watcher cursor_blink_ev; +#endif +#ifdef TEXT_BLINK + void text_blink_cb (time_watcher &w); time_watcher text_blink_ev; #endif #ifdef POINTER_BLANK @@ -1166,6 +1142,7 @@ void scr_release (); void scr_clear (); void scr_refresh (unsigned char refresh_type); + bool scr_refresh_rend (rend_t mask, rend_t value); void scr_erase_screen (int mode); void scr_touch (bool refresh); void scr_expose (int x, int y, int width, int height, bool refresh);