diff options
Diffstat (limited to 'src/display.h')
-rw-r--r-- | src/display.h | 93 |
1 files changed, 17 insertions, 76 deletions
diff --git a/src/display.h b/src/display.h index de25859..e8b3b80 100644 --- a/src/display.h +++ b/src/display.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2008 +/* Copyright (c) 2008, 2009 * Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de) * Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de) * Micah Cowan (micah@cowan.name) @@ -24,9 +24,16 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA * **************************************************************** - * $Id$ FAU + * $Id$ GNU */ +#ifndef SCREEN_DISPLAY_H +#define SCREEN_DISPLAY_H + +#include "layout.h" +#include "canvas.h" +#include "viewport.h" + #ifdef MAPKEYS #define KMAP_KEYS (T_OCAPS-T_CAPS) @@ -51,63 +58,6 @@ struct kmap_ext struct win; /* forward declaration */ -#define MAXLAY 10 - -#define SLICE_UNKN 0 -#define SLICE_VERT (1 << 0) -#define SLICE_HORI (1 << 1) - -#define SLICE_THIS (1 << 2) /* used in equal test */ -#define SLICE_GLOBAL (1 << 3) - -struct canvas -{ - struct canvas *c_next; /* next canvas on display */ - struct display *c_display; /* back pointer to display */ - - struct canvas *c_slnext; /* next canvas in display slice */ - struct canvas *c_slprev; /* prev canvas in display slice */ - struct canvas *c_slperp; /* perpendicular slice */ - struct canvas *c_slback; /* perpendicular slice back pointer */ - int c_slorient; /* our slice orientation */ - int c_slweight; /* size ratio */ - - struct viewport *c_vplist; - struct layer *c_layer; /* layer on this canvas */ - struct canvas *c_lnext; /* next canvas that displays layer */ - struct layer c_blank; /* bottom layer, always blank */ - int c_xoff; /* canvas x offset on display */ - int c_yoff; /* canvas y offset on display */ - int c_xs; - int c_xe; - int c_ys; - int c_ye; - struct event c_captev; /* caption changed event */ -}; - -struct layout -{ - struct layout *lay_next; - char *lay_title; - int lay_number; - struct canvas lay_canvas; - struct canvas *lay_forecv; - struct canvas *lay_cvlist; - int lay_autosave; -}; - -struct viewport -{ - struct viewport *v_next; /* next vp on canvas */ - struct canvas *v_canvas; /* back pointer to canvas */ - int v_xoff; /* layer x offset on display */ - int v_yoff; /* layer y offset on display */ - int v_xs; /* vp upper left */ - int v_xe; /* vp upper right */ - int v_ys; /* vp lower left */ - int v_ye; /* vp lower right */ -}; - struct display { struct display *d_next; /* linked list */ @@ -150,6 +100,8 @@ struct display int d_hstatus; /* hardstatus used */ int d_lp_missing; /* last character on bot line missing */ int d_mouse; /* mouse mode */ + int d_mousetrack; /* set when user wants to use mouse even when the window + does not */ #ifdef RXVT_OSC int d_xtermosc[4]; /* osc used */ #endif @@ -164,6 +116,7 @@ struct display int d_status_lasty; /* before status was displayed */ int d_status_obuflen; /* saved obuflen */ int d_status_obuffree; /* saved obuffree */ + int d_status_obufpos; /* end of status position in obuf */ struct event d_statusev; /* timeout event */ struct event d_hstatusev; /* hstatus changed event */ int d_kaablamm; /* display kaablamm msg */ @@ -274,6 +227,7 @@ extern struct display TheDisplay; #define D_hstatus DISPLAY(d_hstatus) #define D_lp_missing DISPLAY(d_lp_missing) #define D_mouse DISPLAY(d_mouse) +#define D_mousetrack DISPLAY(d_mousetrack) #define D_xtermosc DISPLAY(d_xtermosc) #define D_lpchar DISPLAY(d_lpchar) #define D_status DISPLAY(d_status) @@ -286,6 +240,7 @@ extern struct display TheDisplay; #define D_status_lasty DISPLAY(d_status_lasty) #define D_status_obuflen DISPLAY(d_status_obuflen) #define D_status_obuffree DISPLAY(d_status_obuffree) +#define D_status_obufpos DISPLAY(d_status_obufpos) #define D_statusev DISPLAY(d_statusev) #define D_hstatusev DISPLAY(d_hstatusev) #define D_kaablamm DISPLAY(d_kaablamm) @@ -357,23 +312,6 @@ do \ } \ while (0) -#define CV_CALL(cv, cmd) \ -{ \ - struct display *olddisplay = display; \ - struct layer *oldflayer = flayer; \ - struct layer *l = cv->c_layer; \ - struct canvas *cvlist = l->l_cvlist; \ - struct canvas *cvlnext = cv->c_lnext; \ - flayer = l; \ - l->l_cvlist = cv; \ - cv->c_lnext = 0; \ - cmd; \ - flayer = oldflayer; \ - l->l_cvlist = cvlist; \ - cv->c_lnext = cvlnext; \ - display = olddisplay; \ -} - #define STATUS_OFF 0 #define STATUS_ON_WIN 1 #define STATUS_ON_HS 2 @@ -383,3 +321,6 @@ while (0) #define HSTATUS_MESSAGE 2 #define HSTATUS_HS 3 #define HSTATUS_ALWAYS (1<<2) + +#endif /* SCREEN_DISPLAY_H */ + |