1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-06 03:40:56 -08:00

(Fx_font_dialog): New function.

This commit is contained in:
Chong Yidong 2008-06-10 20:56:58 +00:00
parent 3402c0a6f1
commit 9bf8097481

View file

@ -5628,6 +5628,47 @@ directories. */)
return unbind_to (count, decoded_file);
}
#ifdef HAVE_FREETYPE
DEFUN ("x-font-dialog", Fx_font_dialog, Sx_font_dialog, 0, 0, 0,
doc: /* Read a font name using a font selection dialog.
The font name is returned as a string. */)
()
{
FRAME_PTR f = SELECTED_FRAME ();
char *fontname;
Lisp_Object font = Qnil;
int count = SPECPDL_INDEX ();
check_x ();
if (popup_activated ())
error ("Trying to use a menu from within a menu-entry");
/* Prevent redisplay. */
specbind (Qinhibit_redisplay, Qt);
record_unwind_protect (clean_up_dialog, Qnil);
BLOCK_INPUT;
fontname = xg_get_font_name (f, NULL);
if (fontname)
{
font = build_string (fontname);
xfree (fontname);
}
UNBLOCK_INPUT;
if (NILP (font))
Fsignal (Qquit, Qnil);
return unbind_to (count, font);
}
#endif /* HAVE_FREETYPE */
#endif /* USE_GTK */
@ -5993,6 +6034,10 @@ the tool bar buttons. */);
#if defined (USE_MOTIF) || defined (USE_GTK)
defsubr (&Sx_file_dialog);
#endif
#ifdef USE_GTK
defsubr (&Sx_font_dialog);
#endif
}
#endif /* HAVE_X_WINDOWS */