Mercurial > hg > xemacs-beta
annotate lwlib/xlwmenu.h @ 5617:b0d712bbc2a6
The "flush" face property.
-------------------- ChangeLog entries follow: --------------------
src/ChangeLog addition:
2011-12-23 Didier Verna <didier@xemacs.org>
* faces.h (struct Lisp_Face): New 'flush slot.
* faces.h (struct face_cachel): New 'flush and 'flush_specified
flags.
* faces.h (WINDOW_FACE_CACHEL_FLUSH_P):
* faces.h (FACE_FLUSH_P): New macros.
* faces.c: Declare Qflush.
* lisp.h: Externalize it.
* faces.c (syms_of_faces): Define it.
* faces.c (vars_of_faces): Update built-in face specifiers.
* faces.c (complex_vars_of_faces): Update specifier fallbacks.
* faces.c (mark_face):
* faces.c (face_equal):
* faces.c (face_getprop):
* faces.c (face_putprop):
* faces.c (face_remprop):
* faces.c (face_plist):
* faces.c (reset_face):
* faces.c (update_face_inheritance_mapper):
* faces.c (Fmake_face):
* faces.c (update_face_cachel_data):
* faces.c (merge_face_cachel_data):
* faces.c (Fcopy_face):
* fontcolor.c (face_boolean_validate): Handle the flush property.
* redisplay.h (struct display_line): Rename 'default_findex slot to
clearer name 'clear_findex.
* redisplay.h (DISPLAY_LINE_INIT): Update accordingly.
* redisplay-output.c (compare_display_blocks):
* redisplay-output.c (output_display_line):
* redisplay-output.c (redisplay_output_window):
* redisplay.c (regenerate_window_extents_only_changed):
* redisplay.c (regenerate_window_incrementally): Update the
comparison tests between the current and desired display lines to
cope for different 'clear_findex values.
* redisplay.c (create_text_block): Initialize the display line's
'clear_findex slot to DEFAULT_INDEX. Record a new 'clear_findex
value when we encounter a newline character displayed in a flushed
face.
* redisplay.c (create_string_text_block): Record a new
'clear_findex value when we encounter a newline character
displayed in a flushed face.
lisp/ChangeLog addition:
2011-12-23 Didier Verna <didier@xemacs.org>
* cl-macs.el (face-flush-p): New defsetf.
* faces.el (set-face-property): Document the flush property.
* faces.el (face-flush-p): New function.
* faces.el (set-face-flush-p): New function.
* faces.el (face-equal):
* cus-face.el (custom-face-attributes):
* x-faces.el (x-init-face-from-resources):
* x-faces.el (make-face-x-resource-internal): Handle the flush
property.
author | Didier Verna <didier@xemacs.org> |
---|---|
date | Fri, 23 Dec 2011 10:56:16 +0100 |
parents | ade4c7e2c6cb |
children |
rev | line source |
---|---|
5422
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
442
diff
changeset
|
1 /* Implements a lightweight menubar widget. |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
442
diff
changeset
|
2 Copyright (C) 1992, 1993, 1994 Lucid, Inc. |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
442
diff
changeset
|
3 Copyright (C) 1995 Tinker Systems and INS Engineering Corp. |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
442
diff
changeset
|
4 |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
442
diff
changeset
|
5 This file is part of the Lucid Widget Library. |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
442
diff
changeset
|
6 |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
442
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:
442
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:
442
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:
442
diff
changeset
|
10 License, or (at your option) any later version. |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
442
diff
changeset
|
11 |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
442
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:
442
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:
442
diff
changeset
|
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
442
diff
changeset
|
15 General Public License for more details. |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
442
diff
changeset
|
16 |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
442
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:
442
diff
changeset
|
18 along with the Lucid Widget Library. If not, see |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
442
diff
changeset
|
19 <http://www.gnu.org/licenses/>. */ |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
442
diff
changeset
|
20 |
440 | 21 #ifndef INCLUDED_xlwmenu_h_ |
22 #define INCLUDED_xlwmenu_h_ | |
428 | 23 |
24 /*********************************************************************** | |
25 * | |
26 * XlwMenu Widget | |
27 * | |
28 ***********************************************************************/ | |
29 | |
30 #include "lwlib.h" | |
31 | |
32 /* Resource names used by the XlwMenu widget */ | |
33 #define XtNbuttonForeground "buttonForeground" | |
34 #define XtCButtonForeground "ButtonForeground" | |
35 #define XtNhighlightForeground "highlightForeground" | |
36 #define XtCHighlightForeground "HighlightForeground" | |
37 #define XtNtitleForeground "titleForeground" | |
38 #define XtCTitleForeground "TitleForeground" | |
39 #define XtNmargin "margin" | |
40 #define XtNhorizontalSpacing "horizontalSpacing" | |
41 #define XtNverticalSpacing "verticalSpacing" | |
42 #define XtNarrowSpacing "arrowSpacing" | |
43 #define XtNmenu "menu" | |
44 #define XtCMenu "Menu" | |
45 #define XtNopen "open" | |
46 #define XtNselect "select" | |
47 #define XtNmenuBorderWidth "menuBorderWidth" | |
48 #define XtNhorizontal "horizontal" | |
49 #define XtCHorizontal "Horizontal" | |
50 #ifndef XtNcursor | |
51 #define XtNcursor "cursor" | |
52 #endif | |
53 #ifndef XtCCursor | |
54 #define XtCCursor "Cursor" | |
55 #endif | |
56 #ifndef XtNuseBackingStore | |
57 #define XtNuseBackingStore "useBackingStore" | |
58 #endif | |
59 #ifndef XtCUseBackingStore | |
60 #define XtCUseBackingStore "UseBackingStore" | |
61 #endif | |
62 #define XtNbounceDown "bounceDown" | |
63 #define XtCBounceDown "BounceDown" | |
64 #define XtNresourceLabels "resourceLabels" | |
65 #define XtCResourceLabels "ResourceLabels" | |
66 | |
67 /* Motif-compatible resource names */ | |
68 #ifndef XmNshadowThickness | |
69 # define XmNshadowThickness "shadowThickness" | |
70 # define XmCShadowThickness "ShadowThickness" | |
71 # define XmNtopShadowColor "topShadowColor" | |
72 # define XmCTopShadowColor "TopShadowColor" | |
73 # define XmNbottomShadowColor "bottomShadowColor" | |
74 # define XmCBottomShadowColor "BottomShadowColor" | |
75 # define XmNtopShadowPixmap "topShadowPixmap" | |
76 # define XmCTopShadowPixmap "TopShadowPixmap" | |
77 # define XmNbottomShadowPixmap "bottomShadowPixmap" | |
78 # define XmCBottomShadowPixmap "BottomShadowPixmap" | |
442 | 79 # define XmUNSPECIFIED_PIXMAP 2 |
428 | 80 # define XmRHorizontalDimension "HorizontalDimension" |
81 # define XmNspacing "spacing" | |
82 # define XmCSpacing "Spacing" | |
83 # define XmNindicatorSize "indicatorSize" | |
84 # define XmCIndicatorSize "IndicatorSize" | |
85 # define XmNselectColor "selectColor" | |
86 # define XmCSelectColor "SelectColor" | |
87 # define XmNmarginHeight "marginHeight" | |
88 # define XmCMarginHeight "MarginHeight" | |
89 # define XmNmarginWidth "marginWidth" | |
90 # define XmCMarginWidth "MarginWidth" | |
91 # define XmRVerticalDimension "VerticalDimension" | |
92 #endif | |
93 | |
94 typedef struct _XlwMenuRec *XlwMenuWidget; | |
95 typedef struct _XlwMenuClassRec *XlwMenuWidgetClass; | |
96 | |
97 extern WidgetClass xlwMenuWidgetClass; | |
98 | |
99 void | |
100 xlw_pop_up_menu (XlwMenuWidget mw, XButtonPressedEvent* event); | |
101 | |
102 /* menu accelerator */ | |
103 | |
104 void xlw_set_menu (Widget w, widget_value *val); | |
105 void xlw_push_menu (widget_value *val); | |
106 int xlw_pop_menu (void); | |
107 void xlw_set_item (widget_value *val); | |
108 void xlw_map_menu (Time t); | |
109 void xlw_display_menu (Time t); | |
110 void xlw_kill_menus (widget_value *val); | |
111 widget_value *xlw_get_entries (int allp); | |
112 int xlw_menu_level (void); | |
113 | |
440 | 114 #endif /* INCLUDED_xlwmenu_h_ */ |