Commit 8edb0a6f authored by Jason Rumney's avatar Jason Rumney
Browse files

(x_to_w32_color, x_set_icon_name, xlfd_strip_height)

	(w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
	(Fw32_send_sys_command): Remove unused variables.
	(w32_msg_pump): Add parentheses.
(Fimage_size, image_ascent, lookup_image)
	(IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
	(xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
	(tiff_format, gif_format, gs_format): Adapt to change of image
	margins.
parent d6ff54d5
2001-01-13 Jason Rumney <jasonr@gnu.org>
* w32fns.c (Fimage_size, image_ascent, lookup_image)
(IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
(xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
(tiff_format, gif_format, gs_format): Adapt to change of image
margins.
* w32term.c (x_produce_image_glyph, x_draw_image_foreground)
(x_draw_image_relief, x_draw_image_foreground_1)
(x_draw_image_glyph_string): Adapt to change of image margins.
* w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
variables.
* w32bdf.c (search_file_line, get_cached_font_char)
(cache_char_offset, create_offscreen_bitmap): Remove unused variables.
* w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
* w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
(w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
(Fw32_send_sys_command): Remove unused variables.
(w32_msg_pump): Add parentheses.
* w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
(x_new_fontset, x_calc_absolute_position, x_iconify_frame):
Add parentheses.
2001-01-12 Gerd Moellmann <gerd@gnu.org> 2001-01-12 Gerd Moellmann <gerd@gnu.org>
* xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin. * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
......
...@@ -1509,8 +1509,8 @@ COLORREF ...@@ -1509,8 +1509,8 @@ COLORREF
x_to_w32_color (colorname) x_to_w32_color (colorname)
char * colorname; char * colorname;
{ {
register Lisp_Object tail, ret = Qnil; register Lisp_Object ret = Qnil;
BLOCK_INPUT; BLOCK_INPUT;
if (colorname[0] == '#') if (colorname[0] == '#')
...@@ -2347,8 +2347,6 @@ x_set_icon_name (f, arg, oldval) ...@@ -2347,8 +2347,6 @@ x_set_icon_name (f, arg, oldval)
struct frame *f; struct frame *f;
Lisp_Object arg, oldval; Lisp_Object arg, oldval;
{ {
int result;
if (STRINGP (arg)) if (STRINGP (arg))
{ {
if (STRINGP (oldval) && EQ (Fstring_equal (oldval, arg), Qt)) if (STRINGP (oldval) && EQ (Fstring_equal (oldval, arg), Qt))
...@@ -3832,7 +3830,7 @@ w32_msg_pump (deferred_msg * msg_buf) ...@@ -3832,7 +3830,7 @@ w32_msg_pump (deferred_msg * msg_buf)
immediate values. */ immediate values. */
if (NILP (new_state) if (NILP (new_state)
|| (NUMBERP (new_state) || (NUMBERP (new_state)
&& (XUINT (new_state)) & 1 != cur_state)) && ((XUINT (new_state)) & 1) != cur_state))
{ {
one_w32_display_info.faked_key = vk_code; one_w32_display_info.faked_key = vk_code;
...@@ -5517,9 +5515,10 @@ char * xlfd_charset_of_font (char * fontname) ...@@ -5517,9 +5515,10 @@ char * xlfd_charset_of_font (char * fontname)
struct font_info *w32_load_bdf_font (struct frame *f, char *fontname, struct font_info *w32_load_bdf_font (struct frame *f, char *fontname,
int size, char* filename); int size, char* filename);
static Lisp_Object w32_list_bdf_fonts (Lisp_Object pattern, int max_names);
BOOL w32_to_x_font (LOGFONT * lplf, char * lpxstr, int len, char * charset); BOOL w32_to_x_font (LOGFONT * lplf, char * lpxstr, int len, char * charset);
struct font_info * static struct font_info *
w32_load_system_font (f,fontname,size) w32_load_system_font (f,fontname,size)
struct frame *f; struct frame *f;
char * fontname; char * fontname;
...@@ -5729,7 +5728,7 @@ int size; ...@@ -5729,7 +5728,7 @@ int size;
Lisp_Object bdf_fonts; Lisp_Object bdf_fonts;
struct font_info *retval = NULL; struct font_info *retval = NULL;
bdf_fonts = w32_list_bdf_fonts (build_string (fontname)); bdf_fonts = w32_list_bdf_fonts (build_string (fontname), 1);
while (!retval && CONSP (bdf_fonts)) while (!retval && CONSP (bdf_fonts))
{ {
...@@ -5790,7 +5789,7 @@ w32_unload_font (dpyinfo, font) ...@@ -5790,7 +5789,7 @@ w32_unload_font (dpyinfo, font)
* ) * )
*/ */
LONG static LONG
x_to_w32_weight (lpw) x_to_w32_weight (lpw)
char * lpw; char * lpw;
{ {
...@@ -5811,7 +5810,7 @@ x_to_w32_weight (lpw) ...@@ -5811,7 +5810,7 @@ x_to_w32_weight (lpw)
} }
char * static char *
w32_to_x_weight (fnweight) w32_to_x_weight (fnweight)
int fnweight; int fnweight;
{ {
...@@ -5828,7 +5827,7 @@ w32_to_x_weight (fnweight) ...@@ -5828,7 +5827,7 @@ w32_to_x_weight (fnweight)
return "*"; return "*";
} }
LONG static LONG
x_to_w32_charset (lpcs) x_to_w32_charset (lpcs)
char * lpcs; char * lpcs;
{ {
...@@ -5899,7 +5898,7 @@ x_to_w32_charset (lpcs) ...@@ -5899,7 +5898,7 @@ x_to_w32_charset (lpcs)
} }
char * static char *
w32_to_x_charset (fncharset) w32_to_x_charset (fncharset)
int fncharset; int fncharset;
{ {
...@@ -6109,7 +6108,7 @@ w32_codepage_for_font (char *fontname) ...@@ -6109,7 +6108,7 @@ w32_codepage_for_font (char *fontname)
} }
BOOL static BOOL
w32_to_x_font (lplogfont, lpxstr, len, specific_charset) w32_to_x_font (lplogfont, lpxstr, len, specific_charset)
LOGFONT * lplogfont; LOGFONT * lplogfont;
char * lpxstr; char * lpxstr;
...@@ -6197,7 +6196,7 @@ w32_to_x_font (lplogfont, lpxstr, len, specific_charset) ...@@ -6197,7 +6196,7 @@ w32_to_x_font (lplogfont, lpxstr, len, specific_charset)
return (TRUE); return (TRUE);
} }
BOOL static BOOL
x_to_w32_font (lpxstr, lplogfont) x_to_w32_font (lpxstr, lplogfont)
char * lpxstr; char * lpxstr;
LOGFONT * lplogfont; LOGFONT * lplogfont;
...@@ -6369,9 +6368,10 @@ x_to_w32_font (lpxstr, lplogfont) ...@@ -6369,9 +6368,10 @@ x_to_w32_font (lpxstr, lplogfont)
one from the point height, or if that isn't defined either, return one from the point height, or if that isn't defined either, return
0 (which usually signifies a scalable font). 0 (which usually signifies a scalable font).
*/ */
int xlfd_strip_height (char *fontname) static int
xlfd_strip_height (char *fontname)
{ {
int pixel_height, point_height, dpi, field_number; int pixel_height, field_number;
char *read_from, *write_to; char *read_from, *write_to;
xassert (fontname); xassert (fontname);
...@@ -6484,7 +6484,7 @@ int xlfd_strip_height (char *fontname) ...@@ -6484,7 +6484,7 @@ int xlfd_strip_height (char *fontname)
} }
/* Assume parameter 1 is fully qualified, no wildcards. */ /* Assume parameter 1 is fully qualified, no wildcards. */
BOOL static BOOL
w32_font_match (fontname, pattern) w32_font_match (fontname, pattern)
char * fontname; char * fontname;
char * pattern; char * pattern;
...@@ -6556,7 +6556,7 @@ typedef struct enumfont_t ...@@ -6556,7 +6556,7 @@ typedef struct enumfont_t
Lisp_Object *tail; Lisp_Object *tail;
} enumfont_t; } enumfont_t;
int CALLBACK static int CALLBACK
enum_font_cb2 (lplf, lptm, FontType, lpef) enum_font_cb2 (lplf, lptm, FontType, lpef)
ENUMLOGFONT * lplf; ENUMLOGFONT * lplf;
NEWTEXTMETRIC * lptm; NEWTEXTMETRIC * lptm;
...@@ -6630,7 +6630,7 @@ enum_font_cb2 (lplf, lptm, FontType, lpef) ...@@ -6630,7 +6630,7 @@ enum_font_cb2 (lplf, lptm, FontType, lpef)
return (1); return (1);
} }
int CALLBACK static int CALLBACK
enum_font_cb1 (lplf, lptm, FontType, lpef) enum_font_cb1 (lplf, lptm, FontType, lpef)
ENUMLOGFONT * lplf; ENUMLOGFONT * lplf;
NEWTEXTMETRIC * lptm; NEWTEXTMETRIC * lptm;
...@@ -6644,7 +6644,7 @@ enum_font_cb1 (lplf, lptm, FontType, lpef) ...@@ -6644,7 +6644,7 @@ enum_font_cb1 (lplf, lptm, FontType, lpef)
} }
int CALLBACK static int CALLBACK
enum_fontex_cb2 (lplf, lptm, font_type, lpef) enum_fontex_cb2 (lplf, lptm, font_type, lpef)
ENUMLOGFONTEX * lplf; ENUMLOGFONTEX * lplf;
NEWTEXTMETRICEX * lptm; NEWTEXTMETRICEX * lptm;
...@@ -6658,7 +6658,7 @@ enum_fontex_cb2 (lplf, lptm, font_type, lpef) ...@@ -6658,7 +6658,7 @@ enum_fontex_cb2 (lplf, lptm, font_type, lpef)
font_type, lpef); font_type, lpef);
} }
int CALLBACK static int CALLBACK
enum_fontex_cb1 (lplf, lptm, font_type, lpef) enum_fontex_cb1 (lplf, lptm, font_type, lpef)
ENUMLOGFONTEX * lplf; ENUMLOGFONTEX * lplf;
NEWTEXTMETRICEX * lptm; NEWTEXTMETRICEX * lptm;
...@@ -6681,7 +6681,7 @@ enum_fontex_cb1 (lplf, lptm, font_type, lpef) ...@@ -6681,7 +6681,7 @@ enum_fontex_cb1 (lplf, lptm, font_type, lpef)
/* Interface to fontset handler. (adapted from mw32font.c in Meadow /* Interface to fontset handler. (adapted from mw32font.c in Meadow
and xterm.c in Emacs 20.3) */ and xterm.c in Emacs 20.3) */
Lisp_Object w32_list_bdf_fonts (Lisp_Object pattern, int max_names) static Lisp_Object w32_list_bdf_fonts (Lisp_Object pattern, int max_names)
{ {
char *fontname, *ptnstr; char *fontname, *ptnstr;
Lisp_Object list, tem, newlist = Qnil; Lisp_Object list, tem, newlist = Qnil;
...@@ -6712,8 +6712,9 @@ Lisp_Object w32_list_bdf_fonts (Lisp_Object pattern, int max_names) ...@@ -6712,8 +6712,9 @@ Lisp_Object w32_list_bdf_fonts (Lisp_Object pattern, int max_names)
return newlist; return newlist;
} }
Lisp_Object w32_list_synthesized_fonts (FRAME_PTR f, Lisp_Object pattern, static Lisp_Object w32_list_synthesized_fonts (FRAME_PTR f,
int size, int max_names); Lisp_Object pattern,
int size, int max_names);
/* Return a list of names of available fonts matching PATTERN on frame /* Return a list of names of available fonts matching PATTERN on frame
F. If SIZE is not 0, it is the size (maximum bound width) of fonts F. If SIZE is not 0, it is the size (maximum bound width) of fonts
...@@ -6920,7 +6921,7 @@ w32_list_fonts (FRAME_PTR f, Lisp_Object pattern, int size, int maxnames ) ...@@ -6920,7 +6921,7 @@ w32_list_fonts (FRAME_PTR f, Lisp_Object pattern, int size, int maxnames )
return newlist; return newlist;
} }
Lisp_Object static Lisp_Object
w32_list_synthesized_fonts (f, pattern, size, max_names) w32_list_synthesized_fonts (f, pattern, size, max_names)
FRAME_PTR f; FRAME_PTR f;
Lisp_Object pattern; Lisp_Object pattern;
...@@ -6930,7 +6931,7 @@ w32_list_synthesized_fonts (f, pattern, size, max_names) ...@@ -6930,7 +6931,7 @@ w32_list_synthesized_fonts (f, pattern, size, max_names)
int fields; int fields;
char *full_pattn, *new_pattn, foundary[50], family[50], *pattn_part2; char *full_pattn, *new_pattn, foundary[50], family[50], *pattn_part2;
char style[20], slant; char style[20], slant;
Lisp_Object matches, match, tem, synthed_matches = Qnil; Lisp_Object matches, tem, synthed_matches = Qnil;
full_pattn = XSTRING (pattern)->data; full_pattn = XSTRING (pattern)->data;
...@@ -7032,6 +7033,29 @@ w32_find_ccl_program (fontp) ...@@ -7032,6 +7033,29 @@ w32_find_ccl_program (fontp)
} }
/* Find BDF files in a specified directory. (use GCPRO when calling,
as this calls lisp to get a directory listing). */
static Lisp_Object
w32_find_bdf_fonts_in_dir (Lisp_Object directory)
{
Lisp_Object filelist, list = Qnil;
char fontname[100];
if (!STRINGP(directory))
return Qnil;
filelist = Fdirectory_files (directory, Qt,
build_string (".*\\.[bB][dD][fF]"), Qt);
for ( ; CONSP(filelist); filelist = XCDR (filelist))
{
Lisp_Object filename = XCAR (filelist);
if (w32_BDF_to_x_font (XSTRING (filename)->data, fontname, 100))
store_in_alist (&list, build_string (fontname), filename);
}
return list;
}
DEFUN ("w32-find-bdf-fonts", Fw32_find_bdf_fonts, Sw32_find_bdf_fonts, DEFUN ("w32-find-bdf-fonts", Fw32_find_bdf_fonts, Sw32_find_bdf_fonts,
1, 1, 0, 1, 1, 0,
"Return a list of BDF fonts in DIR, suitable for appending to\n\ "Return a list of BDF fonts in DIR, suitable for appending to\n\
...@@ -7059,28 +7083,6 @@ will not be included in the list. DIR may be a list of directories.") ...@@ -7059,28 +7083,6 @@ will not be included in the list. DIR may be a list of directories.")
return list; return list;
} }
/* Find BDF files in a specified directory. (use GCPRO when calling,
as this calls lisp to get a directory listing). */
Lisp_Object w32_find_bdf_fonts_in_dir( Lisp_Object directory )
{
Lisp_Object filelist, list = Qnil;
char fontname[100];
if (!STRINGP(directory))
return Qnil;
filelist = Fdirectory_files (directory, Qt,
build_string (".*\\.[bB][dD][fF]"), Qt);
for ( ; CONSP(filelist); filelist = XCDR (filelist))
{
Lisp_Object filename = XCAR (filelist);
if (w32_BDF_to_x_font (XSTRING (filename)->data, fontname, 100))
store_in_alist (&list, build_string (fontname), filename);
}
return list;
}
DEFUN ("xw-color-defined-p", Fxw_color_defined_p, Sxw_color_defined_p, 1, 2, 0, DEFUN ("xw-color-defined-p", Fxw_color_defined_p, Sxw_color_defined_p, 1, 2, 0,
"Internal function called by `color-defined-p', which see.") "Internal function called by `color-defined-p', which see.")
...@@ -7720,6 +7722,7 @@ enum image_value_type ...@@ -7720,6 +7722,7 @@ enum image_value_type
IMAGE_STRING_VALUE, IMAGE_STRING_VALUE,
IMAGE_SYMBOL_VALUE, IMAGE_SYMBOL_VALUE,
IMAGE_POSITIVE_INTEGER_VALUE, IMAGE_POSITIVE_INTEGER_VALUE,
IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR,
IMAGE_NON_NEGATIVE_INTEGER_VALUE, IMAGE_NON_NEGATIVE_INTEGER_VALUE,
IMAGE_ASCENT_VALUE, IMAGE_ASCENT_VALUE,
IMAGE_INTEGER_VALUE, IMAGE_INTEGER_VALUE,
...@@ -7824,6 +7827,15 @@ parse_image_spec (spec, keywords, nkeywords, type) ...@@ -7824,6 +7827,15 @@ parse_image_spec (spec, keywords, nkeywords, type)
return 0; return 0;
break; break;
case IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR:
if (INTEGERP (value) && XINT (value) >= 0)
break;
if (CONSP (value)
&& INTEGERP (XCAR (value)) && INTEGERP (XCDR (value))
&& XINT (XCAR (value)) >= 0 && XINT (XCDR (value)) >= 0)
break;
return 0;
case IMAGE_ASCENT_VALUE: case IMAGE_ASCENT_VALUE:
if (SYMBOLP (value) && EQ (value, Qcenter)) if (SYMBOLP (value) && EQ (value, Qcenter))
break; break;
...@@ -8003,7 +8015,7 @@ image_ascent (img, face) ...@@ -8003,7 +8015,7 @@ image_ascent (img, face)
struct image *img; struct image *img;
struct face *face; struct face *face;
{ {
int height = img->height + img->margin; int height = img->height + img->vmargin;
int ascent; int ascent;
if (img->ascent == CENTERED_IMAGE_ASCENT) if (img->ascent == CENTERED_IMAGE_ASCENT)
...@@ -8268,10 +8280,10 @@ lookup_image (f, spec) ...@@ -8268,10 +8280,10 @@ lookup_image (f, spec)
/* If not found, create a new image and cache it. */ /* If not found, create a new image and cache it. */
if (img == NULL) if (img == NULL)
{ {
BLOCK_INPUT;
img = make_image (spec, hash); img = make_image (spec, hash);
cache_image (f, img); cache_image (f, img);
img->load_failed_p = img->type->load (f, img) == 0; img->load_failed_p = img->type->load (f, img) == 0;
xassert (!interrupt_input_blocked);
/* If we can't load the image, and we don't have a width and /* If we can't load the image, and we don't have a width and
height, use some arbitrary width and height so that we can height, use some arbitrary width and height so that we can
...@@ -8291,8 +8303,7 @@ lookup_image (f, spec) ...@@ -8291,8 +8303,7 @@ lookup_image (f, spec)
{ {
/* Handle image type independent image attributes /* Handle image type independent image attributes
`:ascent PERCENT', `:margin MARGIN', `:relief RELIEF'. */ `:ascent PERCENT', `:margin MARGIN', `:relief RELIEF'. */
Lisp_Object ascent, margin, relief, algorithm, heuristic_mask; Lisp_Object ascent, margin, relief;
Lisp_Object file;
ascent = image_spec_value (spec, QCascent, NULL); ascent = image_spec_value (spec, QCascent, NULL);
if (INTEGERP (ascent)) if (INTEGERP (ascent))
...@@ -8302,25 +8313,94 @@ lookup_image (f, spec) ...@@ -8302,25 +8313,94 @@ lookup_image (f, spec)
margin = image_spec_value (spec, QCmargin, NULL); margin = image_spec_value (spec, QCmargin, NULL);
if (INTEGERP (margin) && XINT (margin) >= 0) if (INTEGERP (margin) && XINT (margin) >= 0)
img->margin = XFASTINT (margin); img->vmargin = img->hmargin = XFASTINT (margin);
else if (CONSP (margin) && INTEGERP (XCAR (margin))
&& INTEGERP (XCDR (margin)))
{
if (XINT (XCAR (margin)) > 0)
img->hmargin = XFASTINT (XCAR (margin));
if (XINT (XCDR (margin)) > 0)
img->vmargin = XFASTINT (XCDR (margin));
}
relief = image_spec_value (spec, QCrelief, NULL); relief = image_spec_value (spec, QCrelief, NULL);
if (INTEGERP (relief)) if (INTEGERP (relief))
{ {
img->relief = XINT (relief); img->relief = XINT (relief);
img->margin += abs (img->relief); img->hmargin += abs (img->relief);
img->vmargin += abs (img->relief);
} }
/* Should we apply a Laplace edge-detection algorithm? */ #if 0 /* TODO: image mask and algorithm. */
algorithm = image_spec_value (spec, QCalgorithm, NULL); /* Manipulation of the image's mask. */
if (img->pixmap && EQ (algorithm, Qlaplace)) if (img->pixmap)
x_laplace (f, img); {
/* `:heuristic-mask t'
/* Should we built a mask heuristically? */ `:mask heuristic'
heuristic_mask = image_spec_value (spec, QCheuristic_mask, NULL); means build a mask heuristically.
if (img->pixmap && !img->mask && !NILP (heuristic_mask)) `:heuristic-mask (R G B)'
x_build_heuristic_mask (f, img, heuristic_mask); `:mask (heuristic (R G B))'
means build a mask from color (R G B) in the
image.
`:mask nil'
means remove a mask, if any. */
Lisp_Object mask;
mask = image_spec_value (spec, QCheuristic_mask, NULL);
if (!NILP (mask))
x_build_heuristic_mask (f, img, mask);
else
{
int found_p;
mask = image_spec_value (spec, QCmask, &found_p);
if (EQ (mask, Qheuristic))
x_build_heuristic_mask (f, img, Qt);
else if (CONSP (mask)
&& EQ (XCAR (mask), Qheuristic))
{
if (CONSP (XCDR (mask)))
x_build_heuristic_mask (f, img, XCAR (XCDR (mask)));
else
x_build_heuristic_mask (f, img, XCDR (mask));
}
else if (NILP (mask) && found_p && img->mask)
{
XFreePixmap (FRAME_X_DISPLAY (f), img->mask);
img->mask = None;
}
}
}
/* Should we apply an image transformation algorithm? */
if (img->pixmap)
{
Lisp_Object algorithm;
algorithm = image_spec_value (spec, QCalgorithm, NULL);
if (EQ (algorithm, Qdisabled))
x_disable_image (f, img);
else if (EQ (algorithm, Qlaplace))
x_laplace (f, img);
else if (EQ (algorithm, Qemboss))
x_emboss (f, img);
else if (CONSP (algorithm)
&& EQ (XCAR (algorithm), Qedge_detection))
{
Lisp_Object tem;
tem = XCDR (algorithm);
if (CONSP (tem))
x_edge_detection (f, img,
Fplist_get (tem, QCmatrix),
Fplist_get (tem, QCcolor_adjustment));
}
}
#endif /* TODO. */
} }
UNBLOCK_INPUT;
xassert (!interrupt_input_blocked);
} }
/* We're using IMG, so set its timestamp to `now'. */ /* We're using IMG, so set its timestamp to `now'. */
...@@ -8572,7 +8652,7 @@ static struct image_keyword xbm_format[XBM_LAST] = ...@@ -8572,7 +8652,7 @@ static struct image_keyword xbm_format[XBM_LAST] =
{":foreground", IMAGE_STRING_VALUE, 0}, {":foreground", IMAGE_STRING_VALUE, 0},
{":background", IMAGE_STRING_VALUE, 0}, {":background", IMAGE_STRING_VALUE, 0},
{":ascent", IMAGE_NON_NEGATIVE_INTEGER_VALUE, 0}, {":ascent", IMAGE_NON_NEGATIVE_INTEGER_VALUE, 0},
{":margin", IMAGE_POSITIVE_INTEGER_VALUE, 0}, {":margin", IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, 0},
{":relief", IMAGE_INTEGER_VALUE, 0}, {":relief", IMAGE_INTEGER_VALUE, 0},
{":algorithm", IMAGE_DONT_CHECK_VALUE_TYPE, 0}, {":algorithm", IMAGE_DONT_CHECK_VALUE_TYPE, 0},
{":heuristic-mask", IMAGE_DONT_CHECK_VALUE_TYPE, 0} {":heuristic-mask", IMAGE_DONT_CHECK_VALUE_TYPE, 0}
...@@ -9162,7 +9242,7 @@ static struct image_keyword xpm_format[XPM_LAST] = ...@@ -9162,7 +9242,7 @@ static struct image_keyword xpm_format[XPM_LAST] =
{":file", IMAGE_STRING_VALUE, 0}, {":file", IMAGE_STRING_VALUE, 0},
{":data", IMAGE_STRING_VALUE, 0}, {":data", IMAGE_STRING_VALUE, 0},
{":ascent", IMAGE_NON_NEGATIVE_INTEGER_VALUE, 0}, {":ascent", IMAGE_NON_NEGATIVE_INTEGER_VALUE, 0},
{":margin", IMAGE_POSITIVE_INTEGER_VALUE, 0}, {":margin", IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, 0},
{":relief", IMAGE_INTEGER_VALUE, 0}, {":relief", IMAGE_INTEGER_VALUE, 0},
{":algorithm", IMAGE_DONT_CHECK_VALUE_TYPE, 0}, {":algorithm", IMAGE_DONT_CHECK_VALUE_TYPE, 0},
{":heuristic-mask", IMAGE_DONT_CHECK_VALUE_TYPE, 0}, {":heuristic-mask", IMAGE_DONT_CHECK_VALUE_TYPE, 0},
...@@ -9852,7 +9932,7 @@ static struct image_keyword pbm_format[PBM_LAST] = ...@@ -9852,7 +9932,7 @@ static struct image_keyword pbm_format[PBM_LAST] =
{":file", IMAGE_STRING_VALUE, 0}, {":file", IMAGE_STRING_VALUE, 0},
{":data", IMAGE_STRING_VALUE, 0}, {":data", IMAGE_STRING_VALUE, 0},
{":ascent", IMAGE_NON_NEGATIVE_INTEGER_VALUE, 0}, {":ascent", IMAGE_NON_NEGATIVE_INTEGER_VALUE, 0},
{":margin", IMAGE_POSITIVE_INTEGER_VALUE, 0}, {":margin", IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, 0},
{":relief", IMAGE_INTEGER_VALUE, 0}, {":relief", IMAGE_INTEGER_VALUE, 0},
{":algorithm", IMAGE_DONT_CHECK_VALUE_TYPE, 0}, {":algorithm", IMAGE_DONT_CHECK_VALUE_TYPE, 0},
{":heuristic-mask", IMAGE_DONT_CHECK_VALUE_TYPE, 0} {":heuristic-mask", IMAGE_DONT_CHECK_VALUE_TYPE, 0}
...@@ -10208,7 +10288,7 @@ static struct image_keyword png_format[PNG_LAST] = ...@@ -10208,7 +10288,7 @@ static struct image_keyword png_format[PNG_LAST] =
{":data", IMAGE_STRING_VALUE, 0}, {":data", IMAGE_STRING_VALUE, 0},
{":file", IMAGE_STRING_VALUE, 0}, {":file", IMAGE_STRING_VALUE, 0},
{":ascent", IMAGE_NON_NEGATIVE_INTEGER_VALUE, 0}, {":ascent", IMAGE_NON_NEGATIVE_INTEGER_VALUE, 0},
{":margin", IMAGE_POSITIVE_INTEGER_VALUE, 0}, {":margin", IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, 0},
{":relief", IMAGE_INTEGER_VALUE, 0}, {":relief", IMAGE_INTEGER_VALUE, 0},
{":algorithm", IMAGE_DONT_CHECK_VALUE_TYPE, 0}, {":algorithm", IMAGE_DONT_CHECK_VALUE_TYPE, 0},
{":heuristic-mask", IMAGE_DONT_CHECK_VALUE_TYPE, 0} {":heuristic-mask", IMAGE_DONT_CHECK_VALUE_TYPE, 0}
...@@ -10694,7 +10774,7 @@ static struct image_keyword jpeg_format[JPEG_LAST] = ...@@ -10694,7 +10774,7 @@ static struct image_keyword jpeg_format[JPEG_LAST] =
{":data", IMAGE_STRING_VALUE, 0}, {":data", IMAGE_STRING_VALUE, 0},
{":file", IMAGE_STRING_VALUE, 0}, {":file", IMAGE_STRING_VALUE, 0},
{":ascent", IMAGE_NON_NEGATIVE_INTEGER_VALUE, 0}, {":ascent", IMAGE_NON_NEGATIVE_INTEGER_VALUE, 0},
{":margin", IMAGE_POSITIVE_INTEGER_VALUE, 0}, {":margin", IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, 0},
{":relief", IMAGE_INTEGER_VALUE, 0}, {":relief", IMAGE_INTEGER_VALUE, 0},
{":algorithm", IMAGE_DONT_CHECK_VALUE_TYPE, 0}, {":algorithm", IMAGE_DONT_CHECK_VALUE_TYPE, 0},
{":heuristic-mask", IMAGE_DONT_CHECK_VALUE_TYPE, 0} {":heuristic-mask", IMAGE_DONT_CHECK_VALUE_TYPE, 0}
...@@ -11057,7 +11137,7 @@ static struct image_keyword tiff_format[TIFF_LAST] = ...@@ -11057,7 +11137,7 @@ static struct image_keyword tiff_format[TIFF_LAST] =
{":data", IMAGE_STRING_VALUE, 0}, {":data", IMAGE_STRING_VALUE, 0},
{":file", IMAGE_STRING_VALUE, 0}, {":file", IMAGE_STRING_VALUE, 0},
{":ascent", IMAGE_NON_NEGATIVE_INTEGER_VALUE, 0}, {":ascent", IMAGE_NON_NEGATIVE_INTEGER_VALUE, 0},
{":margin", IMAGE_POSITIVE_INTEGER_VALUE, 0}, {":margin", IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, 0},
{":relief", IMAGE_INTEGER_VALUE, 0}, {":relief", IMAGE_INTEGER_VALUE, 0},
{":algorithm", IMAGE_DONT_CHECK_VALUE_TYPE, 0}, {":algorithm", IMAGE_DONT_CHECK_VALUE_TYPE, 0},
{":heuristic-mask", IMAGE_DONT_CHECK_VALUE_TYPE, 0} {":heuristic-mask", IMAGE_DONT_CHECK_VALUE_TYPE, 0}
...@@ -11376,7 +11456,7 @@ static struct image_keyword gif_format[GIF_LAST] = ...@@ -11376,7 +11456,7 @@ static struct image_keyword gif_format[GIF_LAST] =
{":data", IMAGE_STRING_VALUE, 0}, {":data", IMAGE_STRING_VALUE, 0},
{":file", IMAGE_STRING_VALUE, 0}, {":file", IMAGE_STRING_VALUE, 0},
{":ascent", IMAGE_NON_NEGATIVE_INTEGER_VALUE, 0}, {":ascent", IMAGE_NON_NEGATIVE_INTEGER_VALUE, 0},
{":margin", IMAGE_POSITIVE_INTEGER_VALUE, 0}, {":margin", IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, 0},
{":relief", IMAGE_INTEGER_VALUE, 0}, {":relief", IMAGE_INTEGER_VALUE, 0},
{":algorithm", IMAGE_DONT_CHECK_VALUE_TYPE, 0}, {":algorithm", IMAGE_DONT_CHECK_VALUE_TYPE, 0},
{":heuristic-mask", IMAGE_DONT_CHECK_VALUE_TYPE, 0},