Refactor image-type loading.
* src/dispextern.h (struct image_type): Add new slot, storing a type initialization function. * src/image.c (define_image_type): Call the image initializer function if it is defined. Arguments and return value changed. (valid_image_p, make_image): Callers changed. (xbm_type, xpm_type, pbm_type, png_type, jpeg_type, tiff_type) (gif_type, imagemagick_type, svg_type, gs_type): Add initialization functions. (Finit_image_library): Call lookup_image_type. (CHECK_LIB_AVAILABLE): Macro deleted. (lookup_image_type): Call define_image_type here, rather than via Finit_image_library, and without using CHECK_LIB_AVAILABLE. (syms_of_image): Move define_image_type calls for xbm_type and pbm_type to lookup_image_type.
Showing with 155 additions and 84 deletions