Mercurial > emacs
annotate lwlib/xlwmenuP.h @ 88346:3be7f212f8bc
*** empty log message ***
author | Henrik Enberg <henrik.enberg@telia.com> |
---|---|
date | Fri, 27 Apr 2007 21:33:38 +0000 |
parents | d7ddb3e565de |
children |
rev | line source |
---|---|
88155 | 1 /* Internals of a lightweight menubar widget. |
2 Copyright (C) 1999, 2000, 2002, 2003, 2004, | |
3 2005 Free Software Foundation, Inc. | |
4 | |
5 This file is part of the Lucid Widget Library. | |
6 | |
7 The Lucid Widget Library is free software; you can redistribute it and/or | |
8 modify it under the terms of the GNU General Public License as published by | |
9 the Free Software Foundation; either version 2, or (at your option) | |
10 any later version. | |
11 | |
12 The Lucid Widget Library is distributed in the hope that it will be useful, | |
13 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 GNU General Public License for more details. | |
16 | |
17 You should have received a copy of the GNU General Public License | |
18 along with GNU Emacs; see the file COPYING. If not, write to the | |
19 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | |
20 Boston, MA 02110-1301, USA. */ | |
21 | |
7359 | 22 #ifndef _XlwMenuP_h |
23 #define _XlwMenuP_h | |
24 | |
25 #include "xlwmenu.h" | |
26 #include <X11/CoreP.h> | |
27 | |
28 /* Elements in the stack arrays. */ | |
29 typedef struct _window_state | |
30 { | |
31 Window window; | |
32 Position x; | |
33 Position y; | |
34 Dimension width; | |
35 Dimension height; | |
36 Dimension label_width; | |
25033
584c34c7cf53
(_window_state): Add button_width.
Gerd Moellmann <gerd@gnu.org>
parents:
7360
diff
changeset
|
37 |
584c34c7cf53
(_window_state): Add button_width.
Gerd Moellmann <gerd@gnu.org>
parents:
7360
diff
changeset
|
38 /* Width of toggle buttons or radio buttons. */ |
584c34c7cf53
(_window_state): Add button_width.
Gerd Moellmann <gerd@gnu.org>
parents:
7360
diff
changeset
|
39 Dimension button_width; |
7359 | 40 } window_state; |
41 | |
42 | |
43 /* New fields for the XlwMenu widget instance record */ | |
45145
762469b26903
(_XlwMenu_part): Add new member `disabled_foreground'.
Pavel Janík <Pavel@Janik.cz>
parents:
29699
diff
changeset
|
44 typedef struct _XlwMenu_part |
7359 | 45 { |
46 /* slots set by the resources */ | |
88155 | 47 #ifdef HAVE_X_I18N |
48 XFontSet fontSet; | |
49 XFontSetExtents *font_extents; | |
50 #endif | |
7359 | 51 XFontStruct* font; |
7360 | 52 Pixel foreground; |
45145
762469b26903
(_XlwMenu_part): Add new member `disabled_foreground'.
Pavel Janík <Pavel@Janik.cz>
parents:
29699
diff
changeset
|
53 Pixel disabled_foreground; |
7359 | 54 Pixel button_foreground; |
55 Dimension margin; | |
56 Dimension horizontal_spacing; | |
57 Dimension vertical_spacing; | |
58 Dimension arrow_spacing; | |
59 Dimension shadow_thickness; | |
60 Pixel top_shadow_color; | |
61 Pixel bottom_shadow_color; | |
62 Pixmap top_shadow_pixmap; | |
63 Pixmap bottom_shadow_pixmap; | |
7360 | 64 Cursor cursor_shape; |
7359 | 65 XtCallbackList open; |
27340
1d84a7873d7c
(_XlwMenu_part): Add `highlight' callback list.
Gerd Moellmann <gerd@gnu.org>
parents:
25033
diff
changeset
|
66 XtCallbackList select, highlight; |
7359 | 67 widget_value* contents; |
68 int horizontal; | |
29699
bb36becbd66b
(_XlwMenu_part): Add free_top_shadow_color_p and
Gerd Moellmann <gerd@gnu.org>
parents:
27340
diff
changeset
|
69 |
bb36becbd66b
(_XlwMenu_part): Add free_top_shadow_color_p and
Gerd Moellmann <gerd@gnu.org>
parents:
27340
diff
changeset
|
70 /* True means top_shadow_color and/or bottom_shadow_color must be freed. */ |
bb36becbd66b
(_XlwMenu_part): Add free_top_shadow_color_p and
Gerd Moellmann <gerd@gnu.org>
parents:
27340
diff
changeset
|
71 unsigned free_top_shadow_color_p : 1; |
bb36becbd66b
(_XlwMenu_part): Add free_top_shadow_color_p and
Gerd Moellmann <gerd@gnu.org>
parents:
27340
diff
changeset
|
72 unsigned free_bottom_shadow_color_p : 1; |
45145
762469b26903
(_XlwMenu_part): Add new member `disabled_foreground'.
Pavel Janík <Pavel@Janik.cz>
parents:
29699
diff
changeset
|
73 |
7359 | 74 /* State of the XlwMenu */ |
88155 | 75 int top_depth; |
7359 | 76 int old_depth; |
77 widget_value** old_stack; | |
78 int old_stack_length; | |
79 | |
80 /* New state after the user moved */ | |
81 int new_depth; | |
82 widget_value** new_stack; | |
83 int new_stack_length; | |
84 | |
85 /* Window resources */ | |
86 window_state* windows; | |
87 int windows_length; | |
88 | |
89 /* Internal part, set by the XlwMenu */ | |
90 GC foreground_gc; | |
91 GC button_gc; | |
92 GC background_gc; | |
45145
762469b26903
(_XlwMenu_part): Add new member `disabled_foreground'.
Pavel Janík <Pavel@Janik.cz>
parents:
29699
diff
changeset
|
93 GC disabled_gc; |
7359 | 94 GC inactive_button_gc; |
95 GC shadow_top_gc; | |
96 GC shadow_bottom_gc; | |
97 Cursor cursor; | |
98 Boolean popped_up; | |
99 Pixmap gray_pixmap; | |
100 } XlwMenuPart; | |
101 | |
102 /* Full instance record declaration */ | |
45145
762469b26903
(_XlwMenu_part): Add new member `disabled_foreground'.
Pavel Janík <Pavel@Janik.cz>
parents:
29699
diff
changeset
|
103 typedef struct _XlwMenuRec |
7359 | 104 { |
105 CorePart core; | |
106 XlwMenuPart menu; | |
107 } XlwMenuRec; | |
108 | |
109 /* New fields for the XlwMenu widget class record */ | |
45145
762469b26903
(_XlwMenu_part): Add new member `disabled_foreground'.
Pavel Janík <Pavel@Janik.cz>
parents:
29699
diff
changeset
|
110 typedef struct |
7359 | 111 { |
112 int dummy; | |
113 } XlwMenuClassPart; | |
114 | |
115 /* Full class record declaration. */ | |
45145
762469b26903
(_XlwMenu_part): Add new member `disabled_foreground'.
Pavel Janík <Pavel@Janik.cz>
parents:
29699
diff
changeset
|
116 typedef struct _XlwMenuClassRec |
7359 | 117 { |
118 CoreClassPart core_class; | |
119 XlwMenuClassPart menu_class; | |
120 } XlwMenuClassRec; | |
121 | |
122 /* Class pointer. */ | |
123 extern XlwMenuClassRec xlwMenuClassRec; | |
124 | |
125 #endif /* _XlwMenuP_h */ | |
88155 | 126 |
127 /* arch-tag: 18d7fc41-ffa0-47a3-a49f-3469900c7a25 | |
128 (do not change this comment) */ |