]> code.delx.au - gnu-emacs/blobdiff - lwlib/xlwmenuP.h
(ada-prj-display-page): Use `mapc' rather than `mapcar'.
[gnu-emacs] / lwlib / xlwmenuP.h
index fa1ae4d92f80173f938afad034c6fcdacf3e35e0..c067dd1aafed6706e150f2c423847b80413a2f44 100644 (file)
@@ -1,3 +1,25 @@
+/* Internals of a lightweight menubar widget.
+Copyright (C) 1992 Lucid, Inc.
+Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007
+  Free Software Foundation, Inc.
+
+This file is part of the Lucid Widget Library.
+
+The Lucid Widget Library is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 1, or (at your option)
+any later version.
+
+The Lucid Widget Library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Emacs; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA.  */
+
 #ifndef _XlwMenuP_h
 #define _XlwMenuP_h
 
@@ -20,11 +42,16 @@ typedef struct _window_state
 
 
 /* New fields for the XlwMenu widget instance record */
-typedef struct _XlwMenu_part 
+typedef struct _XlwMenu_part
 {
   /* slots set by the resources */
+#ifdef HAVE_X_I18N
+  XFontSet     fontSet;
+  XFontSetExtents *font_extents;
+#endif
   XFontStruct* font;
   Pixel                foreground;
+  Pixel                disabled_foreground;
   Pixel                button_foreground;
   Dimension    margin;
   Dimension    horizontal_spacing;
@@ -38,13 +65,20 @@ typedef struct _XlwMenu_part
   Cursor       cursor_shape;
   XtCallbackList       open;
   XtCallbackList       select, highlight;
+  XtCallbackList        enter, leave;
   widget_value*        contents;
   int          horizontal;
-  
+
+  /* True means top_shadow_color and/or bottom_shadow_color must be freed.  */
+  unsigned free_top_shadow_color_p : 1;
+  unsigned free_bottom_shadow_color_p : 1;
+
   /* State of the XlwMenu */
+  int                   top_depth;
   int                  old_depth;
   widget_value**       old_stack;
   int                  old_stack_length;
+  widget_value*         inside_entry;
 
   /* New state after the user moved */
   int                  new_depth;
@@ -59,7 +93,7 @@ typedef struct _XlwMenu_part
   GC                   foreground_gc;
   GC                   button_gc;
   GC                   background_gc;
-  GC                   inactive_gc;
+  GC                   disabled_gc;
   GC                   inactive_button_gc;
   GC                   shadow_top_gc;
   GC                   shadow_bottom_gc;
@@ -69,20 +103,20 @@ typedef struct _XlwMenu_part
 } XlwMenuPart;
 
 /* Full instance record declaration */
-typedef struct _XlwMenuRec 
+typedef struct _XlwMenuRec
 {
   CorePart     core;
   XlwMenuPart  menu;
 } XlwMenuRec;
 
 /* New fields for the XlwMenu widget class record */
-typedef struct 
+typedef struct
 {
   int  dummy;
 } XlwMenuClassPart;
 
 /* Full class record declaration. */
-typedef struct _XlwMenuClassRec 
+typedef struct _XlwMenuClassRec
 {
   CoreClassPart                core_class;
   XlwMenuClassPart     menu_class;
@@ -92,3 +126,6 @@ typedef struct _XlwMenuClassRec
 extern XlwMenuClassRec xlwMenuClassRec;
 
 #endif /* _XlwMenuP_h */
+
+/* arch-tag: 18d7fc41-ffa0-47a3-a49f-3469900c7a25
+   (do not change this comment) */