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:
parent
3402c0a6f1
commit
9bf8097481
1 changed files with 45 additions and 0 deletions
45
src/xfns.c
45
src/xfns.c
|
|
@ -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 */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue