--- psiconv/trunk/program/psiconv/gen_image.c 2004/02/02 20:43:04 192 +++ psiconv/trunk/program/psiconv/gen_image.c 2014/10/22 12:10:22 348 @@ -1,6 +1,6 @@ /* * gen_image.c - Part of psiconv, a PSION 5 file formats converter - * Copyright (c) 1999 Frodo Looijaard + * Copyright (c) 1999-2005 Frodo Looijaard * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -26,13 +26,13 @@ #ifdef IMAGEMAGICK #include "magick-aux.h" -#include #endif #ifdef DMALLOC #include "dmalloc.h" #endif +#ifdef IMAGEMAGICK static Image *get_paint_data_section(psiconv_paint_data_section sec); static void image_to_list(psiconv_list list,Image *image,const char *dest); static void gen_image_list(const psiconv_config config,psiconv_list list, @@ -43,6 +43,9 @@ const psiconv_mbm_f f, const char *dest); static void gen_sketch(const psiconv_config config,psiconv_list list, const psiconv_sketch_f f, const char *dest); +static int gen_image(psiconv_config config, psiconv_list list, + const psiconv_file file, const char *dest, + const encoding encoding_type); /* This is ridiculously simple using ImageMagick. Without it, it would be quite somewhat harder - it will be left for later on. @@ -86,9 +89,9 @@ ImageInfo *image_info; ExceptionInfo exc; size_t length; - char *data; + unsigned char *data; int i; - + strcpy(image->magick,dest); image_info = CloneImageInfo(NULL); GetExceptionInfo(&exc); @@ -209,7 +212,7 @@ } -static int gen_image(psiconv_config config, psiconv_list list, +int gen_image(psiconv_config config, psiconv_list list, const psiconv_file file, const char *dest, const encoding encoding_type) { @@ -226,22 +229,31 @@ return 0; } +#endif + void init_image(void) { struct fileformat_s ff; #if IMAGEMAGICK - const MagickInfo *mi; + const MagickInfo **mi; + int i; +#if IMAGEMAGICK_API == 100 + InitializeMagick(NULL); +#endif ff.output = gen_image; - for (mi = GetMagickFileList(); mi ; mi = mi->next) { - if (mi->encoder) { - ff.name = strdup(mi->name); - ff.description = strdup(mi->description); + mi = GetMagickFileList(); + i = 0; + while (mi[i]) { + if (mi[i]->encoder) { + ff.name = strdup(mi[i]->name); + ff.description = strdup(mi[i]->description); ff.supported_format = FORMAT_CLIPART_SINGLE | FORMAT_MBM_SINGLE | FORMAT_SKETCH; - if (mi->adjoin) + if (mi[i]->adjoin) ff.supported_format |= FORMAT_MBM_MULTIPLE | FORMAT_CLIPART_MULTIPLE; psiconv_list_add(fileformat_list,&ff); } + i++; } #endif }