diff lwlib/xlwmenuP.h @ 7359:6ab8e21b9b7c

Initial revision
author Richard M. Stallman <rms@gnu.org>
date Fri, 06 May 1994 17:28:42 +0000
parents
children cfb65c58eb9a
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lwlib/xlwmenuP.h	Fri May 06 17:28:42 1994 +0000
@@ -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 */