(Vimage_types): Move from xdisp.c.
(Vimage_type_cache): New variable. (define_image_type): New argument indicating whether an image library was loaded; cache loaded status and return t on success, nil otherwise. (CACHE_IMAGE_TYPE, ADD_IMAGE_TYPE): New macros. (w32_delayed_load): New function to load an image library from a list of possible filenames. (init_xpm_functions, init_png_functions, init_jpeg_functions) (init_tiff_functions, init_gif_functions): Use `w32_delayed_load'. (CHECK_LIB_AVAILABLE): Call `define_image_library' with new argument. (Finit_image_library): New function, extracted from `init_image'. Try to initialize an image library on demand and cache whether we were successful or not. (syms_of_image): Initialize `Vimage_types' and `Vimage_type_cache'. Add recognized image types to Vimage_types. Export `init-image-library'. (init_image): Remove initialization of all image types, except xbm and pbm.
Showing with 155 additions and 74 deletions