comparison src/objects-x.c @ 1701:a1e328407366

[xemacs-hg @ 2003-09-20 01:14:24 by youngs] 2003-09-20 James LewisMoss <dres@lewismoss.org> * console-impl.h (struct console_methods): add third arg to list_fonts * objects.c (Flist_fonts): Add third arg to list-fonts: maxnumber * objects-gtk.c (gtk_list_fonts): Add third (ignored) arg for maxnumber. * objects-msw.c (mswindows_list_fonts): Add third (ignored) arg for maxnumber. * objects-tty.c (tty_list_fonts): Add third (ignored) arg for maxnumber. * objects-x.c (x_list_fonts): Add third arg to specify the maximum fonts recieved from the server. 2003-09-20 James LewisMoss <dres@lewismoss.org> * font-menu.el (font-menu-max-number): New variable to specify the maximum recieved fonts. * x-font-menu.el (x-reset-device-font-menus): Use new variable (font-menu-max-number) to list-fonts.
author youngs
date Sat, 20 Sep 2003 01:14:30 +0000
parents e22b0213b713
children a8d8f419b459
comparison
equal deleted inserted replaced
1700:0a85daf64258 1701:a1e328407366
851 } 851 }
852 return result; 852 return result;
853 } 853 }
854 854
855 static Lisp_Object 855 static Lisp_Object
856 x_list_fonts (Lisp_Object pattern, Lisp_Object device) 856 x_list_fonts (Lisp_Object pattern, Lisp_Object device, Lisp_Object maxnumber)
857 { 857 {
858 Extbyte **names; 858 Extbyte **names;
859 int count = 0; 859 int count = 0;
860 int max_number = MAX_FONT_COUNT;
860 Lisp_Object result = Qnil; 861 Lisp_Object result = Qnil;
861 const Extbyte *patternext; 862 const Extbyte *patternext;
862 863
863 LISP_STRING_TO_EXTERNAL (pattern, patternext, Qx_font_name_encoding); 864 LISP_STRING_TO_EXTERNAL (pattern, patternext, Qx_font_name_encoding);
864 865
866 if (!NILP(maxnumber) && INTP(maxnumber))
867 {
868 max_number = XINT(maxnumber);
869 }
870
865 names = XListFonts (DEVICE_X_DISPLAY (XDEVICE (device)), 871 names = XListFonts (DEVICE_X_DISPLAY (XDEVICE (device)),
866 patternext, MAX_FONT_COUNT, &count); 872 patternext, max_number, &count);
867 while (count--) 873 while (count--)
868 result = Fcons (build_ext_string (names[count], Qx_font_name_encoding), 874 result = Fcons (build_ext_string (names[count], Qx_font_name_encoding),
869 result); 875 result);
870 if (names) 876 if (names)
871 XFreeFontNames (names); 877 XFreeFontNames (names);