1 /* Internals of a lightweight menubar widget.
2 Copyright (C) 1999, 2000, 2002, 2004 Free Software Foundation, Inc.
4 This file is part of the Lucid Widget Library.
6 The Lucid Widget Library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
11 The Lucid Widget Library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with GNU Emacs; see the file COPYING. If not, write to the
18 Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA. */
25 #include <X11/CoreP.h>
27 /* Elements in the stack arrays. */
28 typedef struct _window_state
35 Dimension label_width
;
37 /* Width of toggle buttons or radio buttons. */
38 Dimension button_width
;
42 /* New fields for the XlwMenu widget instance record */
43 typedef struct _XlwMenu_part
45 /* slots set by the resources */
48 Pixel disabled_foreground
;
49 Pixel button_foreground
;
51 Dimension horizontal_spacing
;
52 Dimension vertical_spacing
;
53 Dimension arrow_spacing
;
54 Dimension shadow_thickness
;
55 Pixel top_shadow_color
;
56 Pixel bottom_shadow_color
;
57 Pixmap top_shadow_pixmap
;
58 Pixmap bottom_shadow_pixmap
;
61 XtCallbackList select
, highlight
;
62 widget_value
* contents
;
65 /* True means top_shadow_color and/or bottom_shadow_color must be freed. */
66 unsigned free_top_shadow_color_p
: 1;
67 unsigned free_bottom_shadow_color_p
: 1;
69 /* State of the XlwMenu */
72 widget_value
** old_stack
;
75 /* New state after the user moved */
77 widget_value
** new_stack
;
80 /* Window resources */
81 window_state
* windows
;
84 /* Internal part, set by the XlwMenu */
89 GC inactive_button_gc
;
97 /* Full instance record declaration */
98 typedef struct _XlwMenuRec
104 /* New fields for the XlwMenu widget class record */
110 /* Full class record declaration. */
111 typedef struct _XlwMenuClassRec
113 CoreClassPart core_class
;
114 XlwMenuClassPart menu_class
;
118 extern XlwMenuClassRec xlwMenuClassRec
;
120 #endif /* _XlwMenuP_h */
122 /* arch-tag: 18d7fc41-ffa0-47a3-a49f-3469900c7a25
123 (do not change this comment) */