diff options
author | Richard M. Stallman <rms@gnu.org> | 1994-05-06 17:28:42 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1994-05-06 17:28:42 +0000 |
commit | 07c30a5cecf01908242882646ad6f4baac6ca77e (patch) | |
tree | 0a548f88117fac8bbd40c43057fcf377d2f5686f /lwlib/xlwmenuP.h | |
parent | 7babf5f60d22c04e6f9f573eb941d632da08607a (diff) | |
download | emacs-07c30a5cecf01908242882646ad6f4baac6ca77e.tar.gz |
Initial revision
Diffstat (limited to 'lwlib/xlwmenuP.h')
-rw-r--r-- | lwlib/xlwmenuP.h | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/lwlib/xlwmenuP.h b/lwlib/xlwmenuP.h new file mode 100644 index 00000000000..2eca68ecda4 --- /dev/null +++ b/lwlib/xlwmenuP.h @@ -0,0 +1,91 @@ +#ifndef _XlwMenuP_h +#define _XlwMenuP_h + +#include "xlwmenu.h" +#include <X11/CoreP.h> + +/* Elements in the stack arrays. */ +typedef struct _window_state +{ + Window window; + Position x; + Position y; + Dimension width; + Dimension height; + Dimension label_width; +} window_state; + + +/* New fields for the XlwMenu widget instance record */ +typedef struct _XlwMenu_part +{ + /* slots set by the resources */ + XFontStruct* font; + int foreground; + Pixel button_foreground; + Dimension margin; + Dimension horizontal_spacing; + Dimension vertical_spacing; + Dimension arrow_spacing; + Dimension shadow_thickness; + Pixel top_shadow_color; + Pixel bottom_shadow_color; + Pixmap top_shadow_pixmap; + Pixmap bottom_shadow_pixmap; + int cursor_shape; + XtCallbackList open; + XtCallbackList select; + widget_value* contents; + int horizontal; + + /* State of the XlwMenu */ + int old_depth; + widget_value** old_stack; + int old_stack_length; + + /* New state after the user moved */ + int new_depth; + widget_value** new_stack; + int new_stack_length; + + /* Window resources */ + window_state* windows; + int windows_length; + + /* Internal part, set by the XlwMenu */ + GC foreground_gc; + GC button_gc; + GC background_gc; + GC inactive_gc; + GC inactive_button_gc; + GC shadow_top_gc; + GC shadow_bottom_gc; + Cursor cursor; + Boolean popped_up; + Pixmap gray_pixmap; +} XlwMenuPart; + +/* Full instance record declaration */ +typedef struct _XlwMenuRec +{ + CorePart core; + XlwMenuPart menu; +} XlwMenuRec; + +/* New fields for the XlwMenu widget class record */ +typedef struct +{ + int dummy; +} XlwMenuClassPart; + +/* Full class record declaration. */ +typedef struct _XlwMenuClassRec +{ + CoreClassPart core_class; + XlwMenuClassPart menu_class; +} XlwMenuClassRec; + +/* Class pointer. */ +extern XlwMenuClassRec xlwMenuClassRec; + +#endif /* _XlwMenuP_h */ |