--- rxvt-unicode/src/rxvtlib.h.in 2003/12/18 05:45:11 1.7 +++ rxvt-unicode/src/rxvtlib.h.in 2004/03/14 23:14:39 1.17 @@ -1,31 +1,9 @@ -/* - * $Id: rxvtlib.h.in,v 1.7 2003/12/18 05:45:11 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 */ @@ -219,10 +171,6 @@ row_col_t end; /* one character past end point */ } selection_t; -typedef enum { - OLD_SELECT, OLD_WORD_SELECT, NEW_SELECT -} sstyle_t; - /* ------------------------------------------------------------------------- */ /* screen_t flags */ @@ -249,7 +197,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 +216,7 @@ typedef struct { short state; Window win; + struct rxvt_drawable *drawable; } menuBar_t; typedef struct { @@ -280,7 +229,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'; } @@ -292,16 +241,13 @@ TermWin_t TermWin; scrollBar_t scrollBar; menuBar_t menuBar; - Display *Xdisplay; unsigned long Options; XSizeHints szHint; - Colormap Xcmap; + rxvt_display *display; rxvt_color *PixColors; short numPixColors; Cursor TermWin_cursor; /* cursor for vt window */ - int Xdepth; 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; @@ -313,7 +259,6 @@ screen_t screen; screen_t swap; selection_t selection; - sstyle_t selection_style; }; void rxvt_init_signals ();