More warning suppressions
[sxemacs] / src / ui / lwlib / xlwmenuP.h
1 #ifndef INCLUDED_xlwmenuP_h_
2 #define INCLUDED_xlwmenuP_h_
3
4 #include "xlwmenu.h"
5 #include <X11/CoreP.h>
6
7 /* Elements in the stack arrays. */
8 typedef struct _window_state {
9         Window window;
10         Position x;
11         Position y;
12         Dimension width;
13         Dimension height;
14         Dimension label_width;
15         Dimension toggle_width;
16 } window_state;
17
18 /* New fields for the XlwMenu widget instance record */
19 typedef struct _XlwMenu_part {
20         /* slots set by the resources */
21
22 #ifdef NEED_MOTIF
23         XmFontList font_list;
24         XmFontList font_list_2;
25         XmFontList fallback_font_list;
26 #else
27         XFontStruct *font;
28 # ifdef USE_XFONTSET
29         XFontSet font_set;
30 # endif
31 #endif
32         Dimension font_ascent, font_descent;    /* extracted from font/fontlist */
33
34         Pixel foreground;
35         Pixel button_foreground;
36         Pixel highlight_foreground;
37         Pixel title_foreground;
38         Dimension margin;
39         Dimension horizontal_margin;
40         Dimension vertical_margin;
41         Dimension column_spacing;
42         Dimension shadow_thickness;
43         Dimension indicator_size;
44         Pixel top_shadow_color;
45         Pixel bottom_shadow_color;
46         Pixel select_color;
47         Pixmap top_shadow_pixmap;
48         Pixmap bottom_shadow_pixmap;
49         Cursor cursor_shape;
50         XtCallbackList open;
51         XtCallbackList select;
52         widget_value *contents;
53         int horizontal;
54         Boolean use_backing_store;
55         Boolean bounce_down;
56         Boolean lookup_labels;
57
58         /* State of the XlwMenu */
59         int old_depth;
60         widget_value **old_stack;
61         int old_stack_length;
62
63         /* New state after the user moved */
64         int new_depth;
65         widget_value **new_stack;
66         int new_stack_length;
67
68         /* Window resources */
69         window_state *windows;
70         int windows_length;
71
72         /* Internal part, set by the XlwMenu */
73         GC foreground_gc;
74         GC button_gc;
75         GC background_gc;
76         GC inactive_gc;
77         GC inactive_button_gc;
78         GC shadow_top_gc;
79         GC shadow_bottom_gc;
80         GC select_gc;
81         GC highlight_gc;
82         GC title_gc;
83         Cursor cursor;
84         Boolean popped_up;
85         Pixmap gray_pixmap;
86
87         /* Stay-up stuff */
88         Boolean pointer_grabbed;
89         Boolean next_release_must_exit;
90         Time menu_post_time, menu_bounce_time;
91         widget_value *last_selected_val;
92 } XlwMenuPart;
93
94 /* Full instance record declaration */
95 typedef struct _XlwMenuRec {
96         CorePart core;
97         XlwMenuPart menu;
98 } XlwMenuRec;
99
100 /* New fields for the XlwMenu widget class record */
101 typedef struct {
102         int dummy;
103 } XlwMenuClassPart;
104
105 /* Full class record declaration. */
106 typedef struct _XlwMenuClassRec {
107         CoreClassPart core_class;
108         XlwMenuClassPart menu_class;
109 } XlwMenuClassRec;
110
111 /* Class pointer. */
112 extern XlwMenuClassRec xlwMenuClassRec;
113
114 #endif                          /* INCLUDED_xlwmenuP_h_ */