Mercurial > hg > xemacs-beta
annotate lwlib/xlwmenuP.h @ 5890:8704b7957585
#'set-locale-for-language-environment, bind a local variable correctly.
lisp/ChangeLog addition:
2015-04-11 Aidan Kehoe <kehoea@parhasard.net>
* mule/mule-cmds.el (set-locale-for-language-environment):
Bind `position' as a local variable here, as was the original
intention.
| author | Aidan Kehoe <kehoea@parhasard.net> |
|---|---|
| date | Sat, 11 Apr 2015 18:34:14 +0100 |
| parents | ade4c7e2c6cb |
| children |
| rev | line source |
|---|---|
|
5422
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
4916
diff
changeset
|
1 /* Implements a lightweight menubar widget. |
|
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
4916
diff
changeset
|
2 Copyright (C) 1992, 1993, 1994 Lucid, Inc. |
|
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
4916
diff
changeset
|
3 Copyright (C) 1995 Tinker Systems and INS Engineering Corp. |
|
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
4916
diff
changeset
|
4 |
|
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
4916
diff
changeset
|
5 This file is part of the Lucid Widget Library. |
|
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
4916
diff
changeset
|
6 |
|
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
4916
diff
changeset
|
7 The Lucid Widget Library is free software: you can redistribute it |
|
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
4916
diff
changeset
|
8 and/or modify it under the terms of the GNU General Public License as |
|
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
4916
diff
changeset
|
9 published by the Free Software Foundation, either version 3 of the |
|
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
4916
diff
changeset
|
10 License, or (at your option) any later version. |
|
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
4916
diff
changeset
|
11 |
|
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
4916
diff
changeset
|
12 The Lucid Widget Library is distributed in the hope that it will be |
|
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
4916
diff
changeset
|
13 useful, but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
4916
diff
changeset
|
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
4916
diff
changeset
|
15 General Public License for more details. |
|
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
4916
diff
changeset
|
16 |
|
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
4916
diff
changeset
|
17 You should have received a copy of the GNU General Public License |
|
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
4916
diff
changeset
|
18 along with the Lucid Widget Library. If not, see |
|
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
4916
diff
changeset
|
19 <http://www.gnu.org/licenses/>. */ |
|
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
4916
diff
changeset
|
20 |
| 440 | 21 #ifndef INCLUDED_xlwmenuP_h_ |
| 22 #define INCLUDED_xlwmenuP_h_ | |
| 428 | 23 |
| 24 #include "xlwmenu.h" | |
| 25 #include <X11/CoreP.h> | |
| 26 | |
|
4916
a6c778975d7d
split USE_XFT into HAVE_XFT/USE_XFT
Ben Wing <ben@xemacs.org>
parents:
3685
diff
changeset
|
27 #ifdef HAVE_XFT_MENUBARS |
| 3094 | 28 #include <X11/Xft/Xft.h> |
| 29 #endif | |
| 30 | |
| 31 | |
| 428 | 32 /* Elements in the stack arrays. */ |
| 33 typedef struct _window_state | |
| 34 { | |
| 35 Window window; | |
| 36 Position x; | |
| 37 Position y; | |
| 38 Dimension width; | |
| 39 Dimension height; | |
| 40 Dimension label_width; | |
| 41 Dimension toggle_width; | |
| 42 } window_state; | |
| 43 | |
| 44 | |
| 45 /* New fields for the XlwMenu widget instance record */ | |
| 46 typedef struct _XlwMenu_part | |
| 47 { | |
| 48 /* slots set by the resources */ | |
| 49 | |
|
4916
a6c778975d7d
split USE_XFT into HAVE_XFT/USE_XFT
Ben Wing <ben@xemacs.org>
parents:
3685
diff
changeset
|
50 #if defined(NEED_MOTIF) && !defined(HAVE_XFT_MENUBARS) |
| 428 | 51 XmFontList font_list; |
| 52 XmFontList font_list_2; | |
| 53 XmFontList fallback_font_list; | |
| 54 #else | |
| 55 XFontStruct * font; | |
|
4916
a6c778975d7d
split USE_XFT into HAVE_XFT/USE_XFT
Ben Wing <ben@xemacs.org>
parents:
3685
diff
changeset
|
56 #ifdef HAVE_XFT_MENUBARS |
| 3397 | 57 String fcFontName; |
| 3685 | 58 String xftFontName; |
| 3094 | 59 XftFont *renderFont; |
| 60 #endif | |
| 428 | 61 # ifdef USE_XFONTSET |
| 62 XFontSet font_set; | |
| 63 # endif | |
| 64 #endif | |
| 65 Dimension font_ascent, font_descent; /* extracted from font/fontlist */ | |
| 66 | |
| 67 Pixel foreground; | |
| 68 Pixel button_foreground; | |
| 69 Pixel highlight_foreground; | |
| 70 Pixel title_foreground; | |
| 71 Dimension margin; | |
| 72 Dimension horizontal_margin; | |
| 73 Dimension vertical_margin; | |
| 74 Dimension column_spacing; | |
| 75 Dimension shadow_thickness; | |
| 76 Dimension indicator_size; | |
| 77 Pixel top_shadow_color; | |
| 78 Pixel bottom_shadow_color; | |
| 79 Pixel select_color; | |
|
4916
a6c778975d7d
split USE_XFT into HAVE_XFT/USE_XFT
Ben Wing <ben@xemacs.org>
parents:
3685
diff
changeset
|
80 #ifdef HAVE_XFT_MENUBARS |
| 3094 | 81 #endif |
| 428 | 82 Pixmap top_shadow_pixmap; |
| 83 Pixmap bottom_shadow_pixmap; | |
| 84 Cursor cursor_shape; | |
| 85 XtCallbackList open; | |
| 86 XtCallbackList select; | |
| 87 widget_value* contents; | |
| 88 int horizontal; | |
| 89 Boolean use_backing_store; | |
| 90 Boolean bounce_down; | |
| 91 Boolean lookup_labels; | |
| 92 | |
| 93 /* State of the XlwMenu */ | |
| 94 int old_depth; | |
| 95 widget_value** old_stack; | |
| 96 int old_stack_length; | |
| 97 | |
| 98 /* New state after the user moved */ | |
| 99 int new_depth; | |
| 100 widget_value** new_stack; | |
| 101 int new_stack_length; | |
| 102 | |
| 103 /* Window resources */ | |
| 104 window_state* windows; | |
| 105 int windows_length; | |
| 106 | |
| 107 /* Internal part, set by the XlwMenu */ | |
| 108 GC foreground_gc; | |
| 109 GC button_gc; | |
| 110 GC background_gc; | |
| 111 GC inactive_gc; | |
| 112 GC inactive_button_gc; | |
| 113 GC shadow_top_gc; | |
| 114 GC shadow_bottom_gc; | |
| 115 GC select_gc; | |
| 116 GC highlight_gc; | |
| 117 GC title_gc; | |
| 118 Cursor cursor; | |
| 119 Boolean popped_up; | |
| 120 Pixmap gray_pixmap; | |
| 121 | |
| 122 /* Stay-up stuff */ | |
| 123 Boolean pointer_grabbed; | |
| 124 Boolean next_release_must_exit; | |
| 125 Time menu_post_time, menu_bounce_time; | |
| 126 widget_value * last_selected_val; | |
| 127 } XlwMenuPart; | |
| 128 | |
| 129 /* Full instance record declaration */ | |
| 130 typedef struct _XlwMenuRec | |
| 131 { | |
| 132 CorePart core; | |
| 133 XlwMenuPart menu; | |
| 134 } XlwMenuRec; | |
| 135 | |
| 136 /* New fields for the XlwMenu widget class record */ | |
| 137 typedef struct | |
| 138 { | |
| 139 int dummy; | |
| 140 } XlwMenuClassPart; | |
| 141 | |
| 142 /* Full class record declaration. */ | |
| 143 typedef struct _XlwMenuClassRec | |
| 144 { | |
| 145 CoreClassPart core_class; | |
| 146 XlwMenuClassPart menu_class; | |
| 147 } XlwMenuClassRec; | |
| 148 | |
| 149 /* Class pointer. */ | |
| 150 extern XlwMenuClassRec xlwMenuClassRec; | |
| 151 | |
| 440 | 152 #endif /* INCLUDED_xlwmenuP_h_ */ |
