diff lwlib/xlwmenuP.h @ 0:376386a54a3c r19-14

Import from CVS: tag r19-14
author cvs
date Mon, 13 Aug 2007 08:45:50 +0200
parents
children b980b6286996
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lwlib/xlwmenuP.h	Mon Aug 13 08:45:50 2007 +0200
@@ -0,0 +1,113 @@
+#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;
+  Dimension	toggle_width;
+} window_state;
+
+
+/* New fields for the XlwMenu widget instance record */
+typedef struct _XlwMenu_part 
+{
+  /* slots set by the resources */
+
+#ifdef NEED_MOTIF
+  XmFontList	font_list;
+  XmFontList	font_list_2;
+  XmFontList	fallback_font_list;
+#else
+  XFontStruct *	font;
+#endif
+  Dimension	font_ascent, font_descent;  /* extracted from font/fontlist */
+
+  Pixel		foreground;
+  Pixel		button_foreground;
+  Dimension	margin;
+  Dimension	horizontal_margin;
+  Dimension	vertical_margin;
+  Dimension	column_spacing;
+  Dimension	shadow_thickness;
+  Dimension	indicator_size;
+  Pixel 	top_shadow_color;
+  Pixel 	bottom_shadow_color;
+  Pixel 	select_color;
+  Pixmap	top_shadow_pixmap;
+  Pixmap	bottom_shadow_pixmap;
+  Cursor	cursor_shape;
+  XtCallbackList	open;
+  XtCallbackList	select;
+  widget_value*	contents;
+  int		horizontal;
+  Boolean	use_backing_store;
+  Boolean	bounce_down;
+  Boolean       lookup_labels;
+  
+  /* 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;
+  GC			select_gc;
+  Cursor		cursor;
+  Boolean		popped_up;
+  Pixmap		gray_pixmap;
+
+  /* Stay-up stuff */
+  Boolean               pointer_grabbed;
+  Boolean		next_release_must_exit;
+  Time			menu_post_time, menu_bounce_time;
+  widget_value *	last_selected_val;
+} 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 */