summaryrefslogtreecommitdiff
path: root/lwlib/xlwmenuP.h
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1994-05-06 17:28:42 +0000
committerRichard M. Stallman <rms@gnu.org>1994-05-06 17:28:42 +0000
commit07c30a5cecf01908242882646ad6f4baac6ca77e (patch)
tree0a548f88117fac8bbd40c43057fcf377d2f5686f /lwlib/xlwmenuP.h
parent7babf5f60d22c04e6f9f573eb941d632da08607a (diff)
downloademacs-07c30a5cecf01908242882646ad6f4baac6ca77e.tar.gz
Initial revision
Diffstat (limited to 'lwlib/xlwmenuP.h')
-rw-r--r--lwlib/xlwmenuP.h91
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 */