Merge from emacs-23; up to 2010-05-28T19:18:47Z!juri@jurta.org.
[bpt/emacs.git] / lwlib / xlwmenuP.h
index 7ad135a..0aca2f8 100644 (file)
@@ -1,12 +1,13 @@
 /* Internals of a lightweight menubar widget.
-   Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
-                 2005, 2006, 2007  Free Software Foundation, Inc.
+
+Copyright (C) 2002-2011  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
-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,
@@ -24,19 +25,28 @@ Boston, MA 02110-1301, USA.  */
 
 #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
 {
+  Widget        w;
   Window       window;
+  Pixmap        pixmap;
   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;
+#ifdef HAVE_XFT
+  XftDraw*      xft_draw;
+#endif
 } window_state;
 
 
@@ -48,6 +58,12 @@ typedef struct _XlwMenu_part
   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;
@@ -126,5 +142,3 @@ extern XlwMenuClassRec xlwMenuClassRec;
 
 #endif /* _XlwMenuP_h */
 
-/* arch-tag: 18d7fc41-ffa0-47a3-a49f-3469900c7a25
-   (do not change this comment) */