used.
(string_width): Declare as static.
(Start, pop_up_menu): Set is_hint to 0 before calling
handle_motion_event.
(pop_up_menu): Return value and parameters for x_catch_errors and
x_uncatch_errors changed.
(MENU_FONT_HEIGHT, MENU_FONT_ASCENT): Ditto.
(display_menu_item, make_drawing_gcs, XlwMenuInitialize)
(XlwMenuSetValues): Use font if fontSet is NULL, use only
font for !HAVE_X_I18N.
(xlwMenuResources): Add fontSet resource.
* xlwmenuP.h (struct _XlwMenu_part) [HAVE_X_I18N]: Change `font' to be
a fontset. Add a `font_extents' element.
* xlwmenu.c (xlwMenuResources) [HAVE_X_I18N]: Use a fontset for the
`font' resource.
(string_width) [HAVE_X_I18N]: Use XmbTextExtents;
(MENU_FONT_HEIGHT, MENU_FONT_ASCENT): New macros.
(arrow_width, toggle_button_width, size_menu_item, draw_arrow)
(draw_toggle, draw_radio, display_menu_item): Use them.
(display_menu_item) [HAVE_X_I18N]: Use XmbDrawString.
(make_drawing_gcs) [HAVE_X_I18N]: Don't mess with fonts.
(XlwMenuInitialize) [HAVE_X_I18N]: Initialize font_extents.
(XlwMenuSetValues) [HAVE_X_I18N]: Refresh font_extents if font changes.
(find_prev_selectable): Rename parameter skip_no_call_data to
skip_titles. Recognize titles as having no call_data and no contents.
(Down, Up): Comment update.
`x_alloc_lighter_color_for_widget' is a float, not an int, and it's
a multiplicative factor, so the name `delta' is inaccurate. Always base
disabled foreground on the normal foreground. Don't use the temporary
variable `temp'.
(find_next_selectable): Return current item when the menu is not poped up.
Rename `inactive_gc' to `disabled_gc'.
Use lighter/darker color for disabled menu items instead of using stipple.
Use stipple only when better color can not be determined automatically.
Only include the menu-margin in the initial X & Y positions for
horizontal menu-bars.
(fit_to_screen):
If moving a sub-menu to the left-side, increment its x-position by the
shadow-thickness to make it look more attached to the invoking
menu-item (similarly to the way it would be displayed on the right side).
New extern declaration.
(make_shadow_gcs) [emacs]:
Use x_alloc_lighter_color_for_widget to do shadow calculation.
(make_shadow_gcs):
Remove code that tests whether the top shadow is dimmer than the bottom
shadow--it shouldn't ever happen.
and free_top_shadow_color_p flags in the menu widget if
top and bottom shadow colors must be freed.
(release_shadow_gcs): Free colors only if they must be freed.
(x_had_errors_p, x_clear_errors): Add prototypes -- should be moved
into separate header.
(make_shadow_gcs) <x_alloc_nearest_color_for_widget>: Cast first arg.
(Start) <pop_up_menu>: Cast second arg.
* dispatch.c, lwlib-Xaw.c, lwlib-Xlw.c, lwlib-Xm.c, lwlib.c, xlwmenu.c,
xrdb-cpp.c, xrdb.c:
Include <config.h> before any system include files.
* lwlib-Xm.c, lwlib.c:
Do not include <stdlib.h> or <string.h>, as <config.h> does this.