(XtNhighlightCallback): New define.
[bpt/emacs.git] / lwlib / xlwmenuP.h
CommitLineData
07c30a5c
RS
1#ifndef _XlwMenuP_h
2#define _XlwMenuP_h
3
4#include "xlwmenu.h"
5#include <X11/CoreP.h>
6
7/* Elements in the stack arrays. */
8typedef struct _window_state
9{
10 Window window;
11 Position x;
12 Position y;
13 Dimension width;
14 Dimension height;
15 Dimension label_width;
7c2eb6d1
GM
16
17 /* Width of toggle buttons or radio buttons. */
18 Dimension button_width;
07c30a5c
RS
19} window_state;
20
21
22/* New fields for the XlwMenu widget instance record */
23typedef struct _XlwMenu_part
24{
25 /* slots set by the resources */
26 XFontStruct* font;
98270d54 27 Pixel foreground;
07c30a5c
RS
28 Pixel button_foreground;
29 Dimension margin;
30 Dimension horizontal_spacing;
31 Dimension vertical_spacing;
32 Dimension arrow_spacing;
33 Dimension shadow_thickness;
34 Pixel top_shadow_color;
35 Pixel bottom_shadow_color;
36 Pixmap top_shadow_pixmap;
37 Pixmap bottom_shadow_pixmap;
98270d54 38 Cursor cursor_shape;
07c30a5c
RS
39 XtCallbackList open;
40 XtCallbackList select;
41 widget_value* contents;
42 int horizontal;
43
44 /* State of the XlwMenu */
45 int old_depth;
46 widget_value** old_stack;
47 int old_stack_length;
48
49 /* New state after the user moved */
50 int new_depth;
51 widget_value** new_stack;
52 int new_stack_length;
53
54 /* Window resources */
55 window_state* windows;
56 int windows_length;
57
58 /* Internal part, set by the XlwMenu */
59 GC foreground_gc;
60 GC button_gc;
61 GC background_gc;
62 GC inactive_gc;
63 GC inactive_button_gc;
64 GC shadow_top_gc;
65 GC shadow_bottom_gc;
66 Cursor cursor;
67 Boolean popped_up;
68 Pixmap gray_pixmap;
69} XlwMenuPart;
70
71/* Full instance record declaration */
72typedef struct _XlwMenuRec
73{
74 CorePart core;
75 XlwMenuPart menu;
76} XlwMenuRec;
77
78/* New fields for the XlwMenu widget class record */
79typedef struct
80{
81 int dummy;
82} XlwMenuClassPart;
83
84/* Full class record declaration. */
85typedef struct _XlwMenuClassRec
86{
87 CoreClassPart core_class;
88 XlwMenuClassPart menu_class;
89} XlwMenuClassRec;
90
91/* Class pointer. */
92extern XlwMenuClassRec xlwMenuClassRec;
93
94#endif /* _XlwMenuP_h */