]> code.delx.au - gnu-emacs/blobdiff - lwlib/xlwmenuP.h
Make a few libraries loadable in isolation
[gnu-emacs] / lwlib / xlwmenuP.h
index 695535e104952fb7ab342d163a3101c7cdc0aa3b..9bbbd89dc41fe151ffcd092ec888112ee96ee451 100644 (file)
@@ -1,11 +1,13 @@
 /* Internals of a lightweight menubar widget.
 /* Internals of a lightweight menubar widget.
-   Copyright (C) 1999, 2000, 2002, 2004, 2005  Free Software Foundation, Inc.
+
+Copyright (C) 2002-2013 Free Software Foundation, Inc.
+Copyright (C) 1992 Lucid, 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
 
 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 2, or (at your option)
+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,
 any later version.
 
 The Lucid Widget Library is distributed in the hope that it will be useful,
@@ -14,28 +16,35 @@ 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
 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., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.  */
+along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef _XlwMenuP_h
 #define _XlwMenuP_h
 
 #include "xlwmenu.h"
 #include <X11/CoreP.h>
 
 #ifndef _XlwMenuP_h
 #define _XlwMenuP_h
 
 #include "xlwmenu.h"
 #include <X11/CoreP.h>
+#ifdef HAVE_XFT
+#include <X11/Xft/Xft.h>
+#endif
 
 /* Elements in the stack arrays. */
 typedef struct _window_state
 {
 
 /* Elements in the stack arrays. */
 typedef struct _window_state
 {
+  Widget        w;
   Window       window;
   Window       window;
+  Pixmap        pixmap;
   Position     x;
   Position     y;
   Dimension    width;
   Dimension    height;
   Dimension    label_width;
   Position     x;
   Position     y;
   Dimension    width;
   Dimension    height;
   Dimension    label_width;
+  int           max_rest_width;
 
   /* Width of toggle buttons or radio buttons.  */
   Dimension     button_width;
 
   /* Width of toggle buttons or radio buttons.  */
   Dimension     button_width;
+#ifdef HAVE_XFT
+  XftDraw*      xft_draw;
+#endif
 } window_state;
 
 
 } window_state;
 
 
@@ -47,6 +56,12 @@ typedef struct _XlwMenu_part
   XFontSet     fontSet;
   XFontSetExtents *font_extents;
 #endif
   XFontSet     fontSet;
   XFontSetExtents *font_extents;
 #endif
+#ifdef HAVE_XFT
+  int           default_face;
+  XftFont*      xft_font;
+  XftColor      xft_fg, xft_bg, xft_disabled_fg;
+#endif
+  String       fontName;
   XFontStruct* font;
   Pixel                foreground;
   Pixel                disabled_foreground;
   XFontStruct* font;
   Pixel                foreground;
   Pixel                disabled_foreground;
@@ -63,6 +78,7 @@ typedef struct _XlwMenu_part
   Cursor       cursor_shape;
   XtCallbackList       open;
   XtCallbackList       select, highlight;
   Cursor       cursor_shape;
   XtCallbackList       open;
   XtCallbackList       select, highlight;
+  XtCallbackList        enter, leave;
   widget_value*        contents;
   int          horizontal;
 
   widget_value*        contents;
   int          horizontal;
 
@@ -75,6 +91,7 @@ typedef struct _XlwMenu_part
   int                  old_depth;
   widget_value**       old_stack;
   int                  old_stack_length;
   int                  old_depth;
   widget_value**       old_stack;
   int                  old_stack_length;
+  widget_value*         inside_entry;
 
   /* New state after the user moved */
   int                  new_depth;
 
   /* New state after the user moved */
   int                  new_depth;
@@ -122,6 +139,3 @@ typedef struct _XlwMenuClassRec
 extern XlwMenuClassRec xlwMenuClassRec;
 
 #endif /* _XlwMenuP_h */
 extern XlwMenuClassRec xlwMenuClassRec;
 
 #endif /* _XlwMenuP_h */
-
-/* arch-tag: 18d7fc41-ffa0-47a3-a49f-3469900c7a25
-   (do not change this comment) */