diff src/winslots.h @ 284:558f606b08ae r21-0b40

Import from CVS: tag r21-0b40
author cvs
date Mon, 13 Aug 2007 10:34:13 +0200
parents
children 57709be46d1b
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/winslots.h	Mon Aug 13 10:34:13 2007 +0200
@@ -0,0 +1,116 @@
+/* Definitions of marked slots in windows and window configs
+   Copyright (C) 1985, 1986, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
+   Copyright (C) 1994, 1995 Board of Trustees, University of Illinois.
+   Copyright (C) 1995, 1996 Ben Wing.
+   Copyright (C) 1996 Chuck Thompson.
+
+This file is part of XEmacs.
+
+XEmacs is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 2, or (at your option) any
+later version.
+
+XEmacs is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with XEmacs; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+/* Split out of window.h and window.c
+   by Kirill Katsnelson <kkm@kis.ru>, May 1998 */
+
+#ifdef WINDOW_SLOT_DECLARATION
+#define WINDOW_SLOT_ARRAY(slot, size, compare) WINDOW_SLOT(slot[size], compare)
+#else
+#define WINDOW_SLOT_ARRAY(slot, size, compare) do {		\
+    int i;							\
+    for (i = 0; i < size; i++) 					\
+      {								\
+	WINDOW_SLOT (slot[i], compare);				\
+      }								\
+  } while (0);
+#endif
+
+#define EQUAL_WRAPPED(x,y) internal_equal ((x), (y), 0)
+
+  /*** Non-specifier vars of window and window config ***/
+
+  /* Non-nil means window is marked as dedicated.  */
+  WINDOW_SLOT (dedicated, EQ);
+
+  /*** specifier values cached in the struct window ***/
+
+  /* Display-table to use for displaying chars in this window. */
+  WINDOW_SLOT (display_table, EQUAL_WRAPPED);
+  /* Thickness of modeline shadow, in pixels.  If negative, draw
+     as recessed. */
+  WINDOW_SLOT (modeline_shadow_thickness, EQ);
+  /* Non-nil means to display a modeline for the buffer. */
+  WINDOW_SLOT (has_modeline_p, EQ);
+  /* Thickness of vertical divider shadow, in pixels.  If negative, draw as
+     recessed. */
+  WINDOW_SLOT (vertical_divider_shadow_thickness, EQ);
+  /* Divider surface width (not counting 3-d borders) */
+  WINDOW_SLOT (vertical_divider_line_width, EQ);
+  /* Spacing between outer egde of divider border and window edge */
+  WINDOW_SLOT (vertical_divider_spacing, EQ);
+  /* Whether vertical dividers are draggable and displayed */
+  WINDOW_SLOT (vertical_divider_draggable_p, EQ);
+
+#ifdef HAVE_SCROLLBARS
+  /* Width of vertical scrollbars. */
+  WINDOW_SLOT (scrollbar_width, EQ);
+  /* Height of horizontal scrollbars. */
+  WINDOW_SLOT (scrollbar_height, EQ);
+  /* Whether the scrollbars are visible */
+  WINDOW_SLOT (horizontal_scrollbar_visible_p, EQ);
+  WINDOW_SLOT (vertical_scrollbar_visible_p, EQ);
+  /* Scrollbar positions */
+  WINDOW_SLOT (scrollbar_on_left_p, EQ);
+  WINDOW_SLOT (scrollbar_on_top_p, EQ);
+  /* Pointer to use for vertical and horizontal scrollbars. */
+  WINDOW_SLOT (scrollbar_pointer, EQ);
+#endif /* HAVE_SCROLLBARS */
+#ifdef HAVE_TOOLBARS
+  /* Toolbar specification for each of the four positions.
+     This is not a size hog because the value here is not copied,
+     and will be shared with the specs in the specifier. */
+  WINDOW_SLOT_ARRAY (toolbar, 4, EQUAL_WRAPPED);
+  /* Toolbar size for each of the four positions. */
+  WINDOW_SLOT_ARRAY (toolbar_size, 4, EQUAL_WRAPPED);
+  /* Toolbar border width for each of the four positions. */
+  WINDOW_SLOT_ARRAY (toolbar_border_width, 4, EQUAL_WRAPPED);
+  /* Toolbar visibility status for each of the four positions. */
+  WINDOW_SLOT_ARRAY (toolbar_visible_p, 4, EQUAL_WRAPPED);
+  /* Caption status of toolbar. */
+  WINDOW_SLOT (toolbar_buttons_captioned_p, EQ);
+  /* The following five don't really need to be cached except
+     that we need to know when they've changed. */
+  WINDOW_SLOT (default_toolbar, EQUAL_WRAPPED);
+  WINDOW_SLOT (default_toolbar_width, EQ);
+  WINDOW_SLOT (default_toolbar_height, EQ);
+  WINDOW_SLOT (default_toolbar_visible_p, EQ);
+  WINDOW_SLOT (default_toolbar_border_width, EQ);
+#endif /* HAVE_TOOLBARS */
+  WINDOW_SLOT (left_margin_width, EQ);
+  WINDOW_SLOT (right_margin_width, EQ);
+  WINDOW_SLOT (minimum_line_ascent, EQ);
+  WINDOW_SLOT (minimum_line_descent, EQ);
+  WINDOW_SLOT (use_left_overflow, EQ);
+  WINDOW_SLOT (use_right_overflow, EQ);
+#ifdef HAVE_MENUBARS
+  /* Visibility of menubar. */
+  WINDOW_SLOT (menubar_visible_p, EQ);
+#endif /* HAVE_MENUBARS */
+  WINDOW_SLOT (text_cursor_visible_p, EQ);
+
+  /* Hara-kiri */
+#undef EQUAL_WRAPPED
+#undef WINDOW_SLOT_DECLARATION
+#undef WINDOW_SLOT
+#undef WINDOW_SLOT_ARRAY