Mercurial > hg > xemacs-beta
comparison src/winslots.h @ 428:3ecd8885ac67 r21-2-22
Import from CVS: tag r21-2-22
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:28:15 +0200 |
parents | |
children | abe6d1db359e |
comparison
equal
deleted
inserted
replaced
427:0a0253eac470 | 428:3ecd8885ac67 |
---|---|
1 /* Definitions of marked slots in windows and window configs | |
2 Copyright (C) 1985, 1986, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. | |
3 Copyright (C) 1994, 1995 Board of Trustees, University of Illinois. | |
4 Copyright (C) 1995, 1996 Ben Wing. | |
5 Copyright (C) 1996 Chuck Thompson. | |
6 | |
7 This file is part of XEmacs. | |
8 | |
9 XEmacs is free software; you can redistribute it and/or modify it | |
10 under the terms of the GNU General Public License as published by the | |
11 Free Software Foundation; either version 2, or (at your option) any | |
12 later version. | |
13 | |
14 XEmacs is distributed in the hope that it will be useful, but WITHOUT | |
15 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
16 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
17 for more details. | |
18 | |
19 You should have received a copy of the GNU General Public License | |
20 along with XEmacs; see the file COPYING. If not, write to | |
21 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
22 Boston, MA 02111-1307, USA. */ | |
23 | |
24 /* Split out of window.h and window.c | |
25 by Kirill Katsnelson <kkm@kis.ru>, May 1998 */ | |
26 | |
27 #ifdef WINDOW_SLOT_DECLARATION | |
28 #define WINDOW_SLOT_ARRAY(slot, size, compare) WINDOW_SLOT (slot[size], compare) | |
29 #else | |
30 #define WINDOW_SLOT_ARRAY(slot, size, compare) do { \ | |
31 int wsaidx; \ | |
32 for (wsaidx = 0; wsaidx < size; wsaidx++) \ | |
33 { \ | |
34 WINDOW_SLOT (slot[wsaidx], compare); \ | |
35 } \ | |
36 } while (0); | |
37 #endif | |
38 | |
39 #define EQUAL_WRAPPED(x,y) internal_equal ((x), (y), 0) | |
40 | |
41 /*** Non-specifier vars of window and window config ***/ | |
42 | |
43 /* Non-nil means window is marked as dedicated. */ | |
44 WINDOW_SLOT (dedicated, EQ); | |
45 | |
46 /*** specifier values cached in the struct window ***/ | |
47 | |
48 /* Display-table to use for displaying chars in this window. */ | |
49 WINDOW_SLOT (display_table, EQUAL_WRAPPED); | |
50 /* Thickness of modeline shadow, in pixels. If negative, draw | |
51 as recessed. */ | |
52 WINDOW_SLOT (modeline_shadow_thickness, EQ); | |
53 /* Non-nil means to display a modeline for the buffer. */ | |
54 WINDOW_SLOT (has_modeline_p, EQ); | |
55 /* Thickness of vertical divider shadow, in pixels. If negative, draw as | |
56 recessed. */ | |
57 WINDOW_SLOT (vertical_divider_shadow_thickness, EQ); | |
58 /* Divider surface width (not counting 3-d borders) */ | |
59 WINDOW_SLOT (vertical_divider_line_width, EQ); | |
60 /* Spacing between outer egde of divider border and window edge */ | |
61 WINDOW_SLOT (vertical_divider_spacing, EQ); | |
62 /* Whether vertical dividers are always displayed */ | |
63 WINDOW_SLOT (vertical_divider_always_visible_p, EQ); | |
64 | |
65 #ifdef HAVE_SCROLLBARS | |
66 /* Width of vertical scrollbars. */ | |
67 WINDOW_SLOT (scrollbar_width, EQ); | |
68 /* Height of horizontal scrollbars. */ | |
69 WINDOW_SLOT (scrollbar_height, EQ); | |
70 /* Whether the scrollbars are visible */ | |
71 WINDOW_SLOT (horizontal_scrollbar_visible_p, EQ); | |
72 WINDOW_SLOT (vertical_scrollbar_visible_p, EQ); | |
73 /* Scrollbar positions */ | |
74 WINDOW_SLOT (scrollbar_on_left_p, EQ); | |
75 WINDOW_SLOT (scrollbar_on_top_p, EQ); | |
76 /* Pointer to use for vertical and horizontal scrollbars. */ | |
77 WINDOW_SLOT (scrollbar_pointer, EQ); | |
78 #endif /* HAVE_SCROLLBARS */ | |
79 #ifdef HAVE_TOOLBARS | |
80 /* Toolbar specification for each of the four positions. | |
81 This is not a size hog because the value here is not copied, | |
82 and will be shared with the specs in the specifier. */ | |
83 WINDOW_SLOT_ARRAY (toolbar, 4, EQUAL_WRAPPED); | |
84 /* Toolbar size for each of the four positions. */ | |
85 WINDOW_SLOT_ARRAY (toolbar_size, 4, EQUAL_WRAPPED); | |
86 /* Toolbar border width for each of the four positions. */ | |
87 WINDOW_SLOT_ARRAY (toolbar_border_width, 4, EQUAL_WRAPPED); | |
88 /* Toolbar visibility status for each of the four positions. */ | |
89 WINDOW_SLOT_ARRAY (toolbar_visible_p, 4, EQUAL_WRAPPED); | |
90 /* Caption status of toolbar. */ | |
91 WINDOW_SLOT (toolbar_buttons_captioned_p, EQ); | |
92 /* The following five don't really need to be cached except | |
93 that we need to know when they've changed. */ | |
94 WINDOW_SLOT (default_toolbar, EQUAL_WRAPPED); | |
95 WINDOW_SLOT (default_toolbar_width, EQ); | |
96 WINDOW_SLOT (default_toolbar_height, EQ); | |
97 WINDOW_SLOT (default_toolbar_visible_p, EQ); | |
98 WINDOW_SLOT (default_toolbar_border_width, EQ); | |
99 #endif /* HAVE_TOOLBARS */ | |
100 | |
101 /* Gutter specification for each of the four positions. | |
102 This is not a size hog because the value here is not copied, | |
103 and will be shared with the specs in the specifier. */ | |
104 WINDOW_SLOT_ARRAY (gutter, 4, EQUAL_WRAPPED); | |
105 /* Gutter size for each of the four positions. */ | |
106 WINDOW_SLOT_ARRAY (gutter_size, 4, EQUAL_WRAPPED); | |
107 /* Real (pre-calculated) gutter size for each of the four positions. | |
108 This is not a specifier, it is calculated by the specifier change | |
109 functions. */ | |
110 WINDOW_SLOT_ARRAY (real_gutter_size, 4, EQUAL_WRAPPED); | |
111 /* Gutter border width for each of the four positions. */ | |
112 WINDOW_SLOT_ARRAY (gutter_border_width, 4, EQUAL_WRAPPED); | |
113 /* Gutter visibility status for each of the four positions. */ | |
114 WINDOW_SLOT_ARRAY (gutter_visible_p, 4, EQUAL_WRAPPED); | |
115 /* The following five don't really need to be cached except | |
116 that we need to know when they've changed. */ | |
117 WINDOW_SLOT (default_gutter, EQUAL_WRAPPED); | |
118 WINDOW_SLOT (default_gutter_width, EQ); | |
119 WINDOW_SLOT (default_gutter_height, EQ); | |
120 WINDOW_SLOT (default_gutter_visible_p, EQ); | |
121 WINDOW_SLOT (default_gutter_border_width, EQ); | |
122 /* margins */ | |
123 WINDOW_SLOT (left_margin_width, EQ); | |
124 WINDOW_SLOT (right_margin_width, EQ); | |
125 WINDOW_SLOT (minimum_line_ascent, EQ); | |
126 WINDOW_SLOT (minimum_line_descent, EQ); | |
127 WINDOW_SLOT (use_left_overflow, EQ); | |
128 WINDOW_SLOT (use_right_overflow, EQ); | |
129 #ifdef HAVE_MENUBARS | |
130 /* Visibility of menubar. */ | |
131 WINDOW_SLOT (menubar_visible_p, EQ); | |
132 #endif /* HAVE_MENUBARS */ | |
133 WINDOW_SLOT (text_cursor_visible_p, EQ); | |
134 | |
135 /* Hara-kiri */ | |
136 #undef EQUAL_WRAPPED | |
137 #undef WINDOW_SLOT_DECLARATION | |
138 #undef WINDOW_SLOT | |
139 #undef WINDOW_SLOT_ARRAY |