Mercurial > emacs
view lwlib/xlwmenuP.h @ 89349:9a305cf42688
Give 8 extra slots to fontset objects.
(Qfontset_info): New variable.
(syms_of_fontset): Defsym it.
(FONTSET_FALLBACK): New macro.
(fontset_face): Try also the default fontset.
(make_fontset): Realize a fallback fontset from the default
fontset.
(generate_ascii_font_name): Moved from xfaces.c. Rewritten by
using split_font_name_into_vector and build_font_name_from_vector.
(Fset_fontset_font): Access the elements of font_spec by enum
FONT_SPEC_INDEX. If font_spec is a string, extract the registry
name by using split_font_name_into_vector.
(Fnew_fontset): If no ASCII font is specified in FONTLIST,
generate a proper font name from the fontset name. Update
Vfontset_alias_alist.
(n_auto_fontsets): New variable.
(new_fontset_from_font_name): New function.
(Ffont_info): Store the information about fonts generated from the
default fontset in the first extra slot of the returned
char-table.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Fri, 10 Jan 2003 07:13:43 +0000 |
parents | bb36becbd66b |
children | 762469b26903 |
line wrap: on
line source
#ifndef _XlwMenuP_h #define _XlwMenuP_h #include "xlwmenu.h" #include <X11/CoreP.h> /* Elements in the stack arrays. */ typedef struct _window_state { Window window; Position x; Position y; Dimension width; Dimension height; Dimension label_width; /* Width of toggle buttons or radio buttons. */ Dimension button_width; } window_state; /* New fields for the XlwMenu widget instance record */ typedef struct _XlwMenu_part { /* slots set by the resources */ XFontStruct* font; Pixel foreground; Pixel button_foreground; Dimension margin; Dimension horizontal_spacing; Dimension vertical_spacing; Dimension arrow_spacing; Dimension shadow_thickness; Pixel top_shadow_color; Pixel bottom_shadow_color; Pixmap top_shadow_pixmap; Pixmap bottom_shadow_pixmap; Cursor cursor_shape; XtCallbackList open; XtCallbackList select, highlight; 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 old_depth; widget_value** old_stack; int old_stack_length; /* New state after the user moved */ int new_depth; widget_value** new_stack; int new_stack_length; /* Window resources */ window_state* windows; int windows_length; /* Internal part, set by the XlwMenu */ GC foreground_gc; GC button_gc; GC background_gc; GC inactive_gc; GC inactive_button_gc; GC shadow_top_gc; GC shadow_bottom_gc; Cursor cursor; Boolean popped_up; Pixmap gray_pixmap; } XlwMenuPart; /* Full instance record declaration */ typedef struct _XlwMenuRec { CorePart core; XlwMenuPart menu; } XlwMenuRec; /* New fields for the XlwMenu widget class record */ typedef struct { int dummy; } XlwMenuClassPart; /* Full class record declaration. */ typedef struct _XlwMenuClassRec { CoreClassPart core_class; XlwMenuClassPart menu_class; } XlwMenuClassRec; /* Class pointer. */ extern XlwMenuClassRec xlwMenuClassRec; #endif /* _XlwMenuP_h */