--- rxvt-unicode/src/rxvtlib.h.in 2004/01/19 17:26:43 1.8 +++ rxvt-unicode/src/rxvtlib.h.in 2004/03/06 00:05:01 1.16 @@ -1,31 +1,9 @@ -/* - * $Id: rxvtlib.h.in,v 1.8 2004/01/19 17:26:43 pcg Exp $ - */ - #ifndef _RXVTLIB_H_ /* include once only */ #define _RXVTLIB_H_ -/* - * section 1 generated by GNU autoconf for @build@ - * this section may be changed as appropriate _before_ building - */ -/***************************************************************************** - * SECTION 1 * - *****************************************************************************/ - -/* - * The following line MUST not be changed without also changing - * config.h in the main directory before building - */ -// none anymore - -/***************************************************************************** - * INCLUDES * - *****************************************************************************/ - -#include -#include -#include +#include +#include +#include @include_stdarg_h@ @include_stdlib_h@ @include_stdint_h@ @@ -44,6 +22,8 @@ #include #include +#include + extern "C" { #include /* Xlib, Xutil, Xresource, Xfuncproto */ } @@ -62,59 +42,30 @@ /* whatever normal size corresponds to a unsigned integer pointer */ @rxvt_u_intp_define@ -/***************************************************************************** - * SECTION 2 * - * DO NOT TOUCH ANYTHING BELOW HERE * - *****************************************************************************/ - struct rxvt_fontset; struct rxvt_color; struct rxvt_vars; /* defined later on */ struct rxvt_term; +struct rxvt_display; +struct rxvt_im; +struct rxvt_drawable; typedef struct rxvt_term *rxvt_t; extern rxvt_t rxvt_current_term; -#define EXPLICIT_CONTEXT 1 - -#if EXPLICIT_CONTEXT - -# define pR rxvt_t rxvt_term -# define aR rxvt_term -# define pR_ pR, -# define aR_ aR, - -# define R rxvt_term - # define SET_R(r) rxvt_current_term = (r) # define GET_R rxvt_current_term -#else - -# define pR -# define pR_ -# define aR -# define aR_ - -# define R rxvt_current_term - -# define SET_R(r) rxvt_current_term = (r) -# define GET_R R - -#endif - -#define dR rxvt_t rxvt_term = GET_R - -#define scrollbar_visible(rxvtvars) ((rxvtvars)->scrollBar.state) -#define menubar_visible(rxvtvars) ((rxvtvars)->menuBar.state) +#define scrollbar_visible() scrollBar.state +#define menubar_visible() menuBar.state typedef struct { int32_t row; int32_t col; } row_col_t; -#if UNICODE3 +#if UNICODE_3 typedef uint32_t text_t; #else typedef uint16_t text_t; // saves lots of memory @@ -154,6 +105,7 @@ GC gc; /* GC for drawing */ Pixmap pixmap; rxvt_fontset *fontset; + rxvt_drawable *drawable; } TermWin_t; /* @@ -209,7 +161,7 @@ }; typedef struct { - unsigned char *text; /* selected text */ + wchar_t *text; /* selected text */ uint32_t len; /* length of selected text */ short screen; /* screen being used */ short clicks; /* number of clicks */ @@ -249,7 +201,7 @@ #define Opt_scrollTtyKeypress (1LU<<12) #define Opt_transparent (1LU<<13) #define Opt_transparent_all (1LU<<14) -#define Opt_mc_hack (1LU<<15) +#define Opt_15 (1LU<<15) // UNALLOCATED #define Opt_tripleclickwords (1LU<<16) #define Opt_scrollWithBuffer (1LU<<17) #define Opt_jumpScroll (1LU<<18) @@ -268,6 +220,7 @@ typedef struct { short state; Window win; + struct rxvt_drawable *drawable; } menuBar_t; typedef struct { @@ -280,7 +233,7 @@ short style; /* style: rxvt, xterm, next */ short width; /* scrollbar width */ Window win; - int (*update)(pR_ int, int, int, int); + int (rxvt_term::*update)(int, int, int, int); void setIdle() { state = 1 ; } void setMotion() { state = 'm'; } @@ -294,16 +247,11 @@ menuBar_t menuBar; unsigned long Options; XSizeHints szHint; - Display *Xdisplay; - int Xdepth; - int Xscreen; - Visual *Xvisual; - Colormap Xcmap; + rxvt_display *display; rxvt_color *PixColors; short numPixColors; Cursor TermWin_cursor; /* cursor for vt window */ int sb_shadow; /* scrollbar shadow width */ - int Xfd; /* file descriptor of X server connection */ int cmd_fd; /* pty file descriptor; connected to command */ int tty_fd; /* tty file descriptor; connected to child */ int numlock_state;