Use XFT in Lucid dialogs if available.
authorJan Djärv <jan.h.d@swipnet.se>
Sun, 11 Apr 2010 18:25:09 +0000 (20:25 +0200)
committerJan Djärv <jan.h.d@swipnet.se>
Sun, 11 Apr 2010 18:25:09 +0000 (20:25 +0200)
commit1ecb2d3f03cc83ce7fa3349458f8cf83c97181f2
treebd3902f19cf65c1221dab180493360b0ffe3e873
parent97e53006f6c56bcbe190c56dadb350759644bfaa
Use XFT in Lucid dialogs if available.

* xmenu.c (apply_systemfont_to_dialog): New.
(create_and_show_dialog): Call apply_systemfont_to_dialog if HAVE_XFT.

* lwlib-Xaw.c (widget_xft_data): New for Xft data.
(fill_xft_data, openFont, get_text_width_and_height)
(draw_text, set_text, find_xft_data, command_press)
(command_reset): New functions.
(xaw_update_one_widget): Call set_text for dialog and buttons
if HAVE_XFT.  Also set internalHeight for buttons.
(xaw_destroy_instance): Free all Xft related data.
(button_actions, buttonTrans): New structures.
(make_dialog): Call XtAppAddActions for button_actions.
Find xft font to use and call fill_xft_data for widgets.
(xaw_create_dialog): Pass instance parameter to make_dialog.

* lwlib-int.h (_widget_instance): Add Xft data if HAVE_XFT.
Override translations for buttons.  If depth is 16 or more, tell
Xaw3d to not be nice to colormap.
Remove separator widget, use XtNhorizDistance on first right button
instead.

* xresources.texi (Lucid Resources): Mention faceName for dialogs.
doc/emacs/ChangeLog
doc/emacs/xresources.texi
etc/NEWS
lwlib/ChangeLog
lwlib/lwlib-Xaw.c
lwlib/lwlib-int.h
src/ChangeLog
src/xmenu.c